关于boa的移植问题

内核编译和嵌入式产品的设计与开发
回复
dany1969
帖子: 11
注册时间: 2008-01-02 18:30

关于boa的移植问题

#1

帖子 dany1969 » 2008-04-26 17:30

我做在magicarm2200-s上移植uclinux的实验,按照ZLG给的资料,在最后一步时:ZLG给的移植文件有:
--------------------------------------
bin \ rtl8019 “网络接口芯片rt18109驱动”

boot\ init,img “RAM盘映象文件”
k9f2808.bin “NAND FLASH K9F2808驱动 ”
linux.bin “uClinux内核文件”
zlg_boot.ini “ ZLG/BOOT管理文件”)

etc \ rc “脚本文件 ”

zlg_ftp.ini “设定实验箱FTP下载的IP,MacID等地址”
--------------------------------------
我在移植时,在这一步把linux.bin改为我自己编译的内核文件,移植到板上,uclinux运行成功。我加上uclinux自带的boa程序,配置BOA并编译uclinux后,把内核移植到板上,能运行uclinux,却不能运行boa。我不确定是BOA的配置问题,还是应该替换掉ZLG给的init.img 文件?看了一些关于移植BOA 的资料,只是说移植内核就行了阿?
daniel99
帖子: 1
注册时间: 2007-12-14 10:31

#2

帖子 daniel99 » 2008-05-11 11:15

和我的想法相同 ,不晓得 你做到了么 ?
dany1969
帖子: 11
注册时间: 2008-01-02 18:30

#3

帖子 dany1969 » 2008-05-29 2:57

ZLG提供的init.img文件系统是只编译uClinux所产生的文件系统,里面没有boa可执行文件。所以在自己编译boa后,要把boa.bin,和rc等配置文件添加进init.img里。我当时添加boa.bin等文件后,重新制作init.img文件系统,移植,运行boa,提示:kmod:falied to exec /sbin/modprobe -s -k net-pf-1, errno = 2 。
我在网上找到解决方法是,在编译时,在busybox里选择 modprobe 进行编译,然后把modprobe.bin添加进init.img文件系统里。不过这里就出现问题了,由于init.img拥有的空间只有1M,里面的剩余空间有200多K,添加进boa.bin后,只剩下几十K,就不能添加进有180多K的modprobe.bin.为解决这个问题我做了三种尝试。1:舍弃ZLG给的Init.img,用自己编译生成的romf制作成init.img。失败,不能进入ucLinux,因为zlg/boot不支持。2:重新制作1.2M的init.img文件系统,把ZLG提供的init.img里的所有文件和自己生成的boa.bin,modprobe.bin,rc文件拷贝进来。仍然启动失败,都进入不了uclinux.3:删掉ZLG提供的init.img文件系统里的一些文件,腾出空间,然后拷贝进boa.bin,modprobe.bin,rc文件。运行,能够进入uclinux,但是启动boa,仍然提示错误:kmod:falied to exec /sbin/modprobe -s -k net-pf-1, errno = 2 。(这三种尝试时,rc文件需要结合zlg提供的init.img里的rc文件,做出一些修改)
这个问题困扰我了很久,我需要了解init.img里各个文件的功用,还有zlg/boot,或许需要在zlg/boot里对Init.img文件的地址空间做出一些修改。使用zlg/boot给了我很大的方便,所以从一开始就没有去了解boot的运用。在整个实验环节中,这是一个薄弱点。 由于时间和实验条件的限制,前段时间我就不得不放弃这次实验了。不过仍然希望各位给出提示。
回复