OpenIPC编译报错问题解决

17 篇文章 0 订阅
4 篇文章 0 订阅

编译Hisi的OpenIPC遇到一些奇怪的问题。因为用的已经是很老的板子了,这个仓库也已经很就不维护了,并且上有个包已经找不到了,有些源文件的下载也会遇到一些问题。这里做个记录。

编译过程

参考:https://github.com/OpenIPC/chaos_calmer
这里我使用的ubuntu 18.04。

git clone --depth=1 https://github.com/OpenIPC/chaos_calmer.git OpenIPC
cd OpenIPC
./Project_OpenIPC.sh update
./Project_OpenIPC.sh 18ev200_zftlab_rotek

照着上面的两条命令执行。因为我使用的也是18ev200,所以就跟着它的参数直接用了。如果是其他型号,直接参考脚本里面的设置就行了。

因为需要在外网下一些软件包,所以需要使用代理来执行这两个命令。

proxychains ./Project_OpenIPC.sh update
proxychains ./Project_OpenIPC.sh 18ev200_zftlab_rotek

脚本默认使用多线程编译,由于中途会遇到一些错误,出错后,直接根据提示,重新运行proxychains make V=s 查看具体错误就行了。一般遇到.tar.xz或者tar.bz2的包下载不下来的情况,直接重试即可。有的包又不能挂代理,否则也下不下来,如果遇到下载不下来的包,一般选择三种方式:

  • 使用代理(proxychains)来进行下载。
  • 不使用代理进行下载。(像这个链接https://sources.openwrt.org/libgcrypt-1.6.1.tar.bz2我使用代理就下载不下来,只能关闭代理进行下载。
  • 另外,我们可以直接使用wget或者浏览器自己下载那些下不下来的包,然后放到dl目录下即可。

Tips: 当如果我们需要删掉整个工程目录,一定要先将dl目录进行备份,重新clone的目录,直接复制我们备份的dl目录进去即可,这样可以避免重复下载浪费时间。

另外还有一个非常严重的下载问题,困扰了我很久。就是上游的包已经没了,浏览器直接输入原来的链接,已经找到不到了。我通过翻github仓库,找到了该作者相关的一个仓库,并自己根据名字来进行打包这个仓库,放到dl目录下。但是运行make依然会去重新下载这个包: majestic.hi3516cv200.master.tar.bz2(克隆这个https://github.com/OpenIPC/majestic仓库,并重新打包成要求的名字)。
放弃了这个方法后,我通过直接修改Makefile的方式,屏蔽掉了这个编译,没想到既然成功,这个包看打印应该是生成osdrv2.ipc相关的东西。用不到不编译也就没关系了。直接注释掉feeds/glutinium/hisi-osdrv2/Makefile中150左右位置的内容,并重新编译即可。

define Package/$(PKG_NAME)-majestic/install
     # wget -v -O $(DL_DIR)/majestic.hi3516cv200.master.tar.bz2 http://openipc.s3-eu-west-1.amazonaws.com/    majestic.hi3516cv200.master.tar.bz2
     # tar -C $(PKG_BUILD_DIR) -xvjf $(DL_DIR)/majestic.hi3516cv200.master.tar.bz2
     # $(INSTALL_DIR) $(1)/etc
     # $(CP) $(PKG_BUILD_DIR)/majestic.yaml $(1)/etc/
     # $(INSTALL_DIR) $(1)/usr/bin
     # $(CP) $(PKG_BUILD_DIR)/majestic $(1)/usr/bin/
 endef
编译完成

编译完成后的输出。

Generating index for package ./luci-lib-ip_git-18.097.75958-5537d68-1_hi35xx.ipk
Generating index for package ./luci-lib-nixio_git-18.097.75958-5537d68-1_hi35xx.ipk
Generating index for package ./luci-mod-admin-full_git-18.097.75958-5537d68-1_hi35xx.ipk
Generating index for package ./luci-proto-3g_git-18.097.75958-5537d68-1_all.ipk
Generating index for package ./luci-proto-ppp_git-18.097.75958-5537d68-1_all.ipk
Generating index for package ./luci-theme-bootstrap_git-18.097.75958-5537d68-1_all.ipk
Generating index for package ./luci_git-18.097.75958-5537d68-1_all.ipk
Signing package index...
make[2]: Leaving directory '/media/linuxdata/OpenIPC'
make[1]: Leaving directory '/media/linuxdata/OpenIPC'

会在bin/hi35xx下出现我们需要的固件。

duapple@duapple-vm:/media/linuxdata/OpenIPC/bin/hi35xx$ ls
md5sums                                              openwrt-hi35xx-18ev200-default-squashfs-sysupgrade.bin
openwrt-hi35xx-18ev200-autoupdate-kernel.img         openwrt-hi35xx-18ev200-default-uImage
openwrt-hi35xx-18ev200-autoupdate-rootfs.img         openwrt-hi35xx-18ev200-u-boot.bin
openwrt-hi35xx-18ev200-autoupdate-uboot.img          packages
openwrt-hi35xx-18ev200-default-root.squashfs         sha256sums
openwrt-hi35xx-18ev200-default-squashfs-factory.bin  uboot-hi35xx-18ev200

这是直接烧录openwrt-hi35xx-18ev200-default-root.squashfshi35xx-18ev200-default-uImage即可。

烧录:

mw.b 82000000 ff 300000; tftp 82000000 openwrt-hi35xx-18ev200-default-uImage; sf probe 0; sf erase 100000 300000; sf write 82000000 100000 300000
mw.b 82000000 ff C00000; tftp 0x82000000 openwrt-hi35xx-18ev200-default-root.squashfs; sf probe 0; sf erase 400000 C00000; sf write 82000000 400000 C00000
reset

如果跟文件系统的类型没有设置为squashfs,修改bootarg:

setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=squashfs mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
sa

启动:

Please press Enter to activate this console.


BusyBox v1.23.2 (2022-09-21 23:51:32 CST) built-in shell (ash)


 ___                  _  ___  ___
/   \ ___  ___  _  _ | ||   \/  _|
| | ||   \/ _ \| \| || || | || |
| | || | |  __/| \\ || ||  _/| |_
\___/|  _/\___||_|\_||_||_|  \___|.ORG    v21.04.10.2
     |_|


OpenIPC is asking for your help to support development cost and long-term maintenance
of what we believe will serve a fundamental role in the advancement of a stable, flexible
and most importantly, Open IP Network Camera Framework for users worldwide.

Your contribution will help us advance development proposals forward, and interact with
the community on a regular basis.

  https://openipc.org/sponsor/



root@OpenIPC:/#
还存在的问题

就是修改kernel_menuconfig,无法保存的问题。修改后,直接会导致,原来的配置也没了,重新编译整个工程,命令行直接让我重新配内核。暂时还不知道怎么解决,后面有时间再研究研究。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值