===========================================
本文系作者原创, 欢迎大家转载!
转载请注明出处:netwalker.blog.chinaunix.net
===========================================
硬件平台:
MainBoard:OK6410
CPU: S3C6410
RAM: 256M
FLASH:1G K9GAG08U0D
Kernel:Linux2.6.28
BootLoader:Uboot1.1.6
7.Busybox 的编译
选择合适的Busybox版本,这里选择用2.6.28内核对应的busybox-1.16.2版本,然后做以下配置:
1) make menuconfig
2) Busybox Settings ---> Build Options --->

选择编译成静态库,这样就避免了繁琐的动态库安装,当然如果使用了动态库,那么需要将uclibc中的库so文件拷贝到lib文件夹中,这样其他的应用程序也可以使用动态库编译而不增加代码大小。
指定交叉编译工具链。
3) Busybox Settings ---> Installation Options --->

选择Don't use /usr防止busybox安装到宿主机
指定安装路径为/home/red/forlinux/rootfs
此时安装到rootfs的文件和目录如下:
- #ls /home/red/forlinux/rootfs
- drwxr-xr-x 2 root root 4.0K 2011-07-12 10:38 bin/
- lrwxrwxrwx 1 root root 11 2011-07-12 10:38 linuxrc -> bin/busybox*
- drwxr-xr-x 2 root root 4.0K 2011-07-12 10:38 sbin/
创建一些系统启动必须的目录和文件
- #mkdir bin sbin dev etc lib proc tmp usr var sys mnt
创建设备节点,通常需要root权限才能使用mknod来创建,我们直接赋值已经创建好的设备节点即可,另外一种方法是使用mdev命令根据mdev.conf在启动时生成。
设备节点应该具有合适的权限,否则在使用该设备的时候会出问题。
etc下的配置文件:
1) inittab :在busybox执行linuxrc或者init链接的时候解析并执行。
2) init.d:是一个文件夹,一般放置rcS脚本
3) profile:用来配置终端
export PS1='[\u@\h \W]\# ' 后发现终端提示符号不正确,如下显示:
[\u@\h \W]\#
busybox settings->busybox library tuning->username completion、fancy shell prompts选上
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
CONFIG_FEATURE_USERNAME_COMPLETION=y
重新编译即可。也只有开启了此两选线,/etc/profile才有意义。
8.关于nfs文件系统的挂载
在ubuntu10.10上测试通过,参考了网上的一些文档,有些命令在ubuntu上需要修改
- #sudo apt-get install portmap
- #sudo apt-get install nfs-kernel-server
- #sudo vim /etc/exports
- 添加/forlinx *(rw,sync,no_root_squash)
- #sudo /etc/init.d/portmap restart //该命令应为service portmap stop; service portmap start
- #sudo /etc/init.d/nfs-kernel-server restart // 该命令为service nfs-kernel-server restart
另外查看rpcbind有没有运行。如果没有则rpcbind –w&
- #exportfs –rv // 这一步很关键
- #showmount -e // 显示共享出的目录
本机测试命令为:
- #sudo mount -t nfs localhost:/forlinux/root /mnt/tmp
嵌入式系统测试为:
- mount -t nfs localhost:/forlinux/root /mnt/tmp -o nolock // nolock 必须要添加
如果作为根系统启动,则
- #setenv bootargs "root=/dev/nfs nfsroot=10.255.21.240:/forlinux/root ip=10.255.21.213:10.255.21.240:10.255.21.254:255.255.255.0:hostname:eth0:off console=ttySAC0,115200"
- #saveenv
- #reset
10.255.21.240 PC 端Ubuntu 的IP
10.255.21.213开发板IP
10.255.21.254 网关
255.255.255.0 子网掩码
阅读(1959) | 评论(0) | 转发(2) |