您的位置:首页 > 其它

编译Root Filesystem step by step

2007-04-30 15:17 417 查看
资源
OS
Ubuntu 7.04 (kernel version: 2.6.20-15)

ToolChain
ARM-GCC v3.4.1 http://www.handhelds.org
RootFS
rootfsosk.tar.bz2 http://linux.omap.com/pub/filesystem/rootfsosk.tar.bz2
Busybox
busybox-1.4.2 http://www.busybox.net
教程
OSK5912 Newbie Guide http://oskfordummies.hp.infoseek.co.jp
步骤
1. 安装tool chain;
2. 解压rootfsosk.tar.bz2;
3. Copy ${ToolChainDir}/arm-linux/lib下的*.so和*.so.[*0-9]到rootfs2.6/lib中;
4. 编译busybox,用新版本的busybox替换当前rootfs中的busybox内容,同时还可以添加/删除自己想定义的linux cmd;
4.1. 解压busybox;
4.2. “make menuconfig”时候注意:
> 默认的.config几乎没有添加任何功能支持,所以建议根据当前rootfs2.6/bin下支持的cmd来选择要编译的linux cmd;
>注意设置busybox生成的文件的目标地址到step 2解压的rootfs2.6的目录;
>在Ubuntu中最后会遇到错误:
--------------------------------------------------
LINK busybox_unstripped
/usr/src/busybox-1.4.2/scripts/trylink: 5: function: not found
/usr/src/busybox-1.4.2/scripts/trylink: 11: Syntax error: "}" unexpected
--------------------------------------------------
这是因为Ubuntu中默认的shell是dash,而u-boot默认认为是bash,所以脚本解释出错。解决方法:
--------------------------------------------------
# mv /bin/sh /bin/sh-1
# ln -s /bin/bash /bin/sh
--------------------------------------------------
(参考http://busybox.net/lists/busybox/2007-February/026389.html)
5. 后面配置nfs相关参数和用工具mkfs.jffs2来生成rootfs是后话,暂时不提。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: