已经把需要的东西放到当前目录的_install下
然后在这基础上制作根文件系统
3.3. 构建根文件系统 3.3.1. 建立系统根目录
[root@localhost nfsramdisk]# mkdir LS1B [root@localhost nfsramdisk]# cd LS1B [root@localhost LS1B]# ls
[root@localhost LS1B]# mkdir dev home proc tmp var etc lib mnt sys usr etc/rc.d root var/log [root@localhost LS1B]# ls
dev etc home lib mnt proc root sys tmp usr var [root@localhost LS1B]#
3.3.2. 建立设备文件
建立console和串口设备文件
[root@localhost LS1B]# mknod -m 600 dev/console c 5 1 [root@localhost LS1B]# mknod -m 600 dev/ttyS2 c 4 66 [root@localhost LS1B]#
9
3.3.3. 建立系统配置文件
注意:以下的配置文件不是在开发主机的根目录下创建的。
3.3.3.1. 添加etc/inittab文件
[root@localhost LS1B]# vim etc/inittab
::sysinit:/etc/rc.d/rc.sysinit // 指定系统启动后首先执行的文件 #Example of how to put a getty on a serial line(rot a terminal)
ttyS2::respawn:~/bin/sh #no login(启动后进入shell) #::respawn:/sbin/getty -L ttyS2 115200 vt100 #use login #tty::respawn:~/bin/sh
#Stuff to do when restarting the init process ::restart:/sbin/init
#Stuff to do before rebooting
::ctrlaltdel:/sbin/reboot // 捕捉ctrl+alt+del键,重启文件系统 ::shutdown:/bin/umount -a -r // 当关机时卸载所有文件系统 ::shutdown:/sbin/swapoff -a ~ ~
\新] 14L, 553C 已写入 [root@localhost LS1B]#
3.3.3.2. 新建etc/rc.d/rc.sysinit文件
[root@localhost LS1B]# vim etc/rc.d/rc.sysinit
#!/bin/sh
#Set binary path
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
#Config dev environment
mount -t tmpfs -o size=64k,mode=0755 tmpfs /dev mkdir -p /dev/pts
mount -t devpts devpts /dev/pts
#mknod -m 600 /dev/console c 5 1 #mknod -m 600 /dev/ttyS2 c 4 66
#mount all filesystem defined in /etc/fstab
10
echo \/bin/mount -a
echo \
echo /sbin/mdev>/proc/sys/kernel/hotplug /sbin/mdev -s
#Set hostname
/bin/hostname \export LOGNAME=root
\新] 24L, 489C 已写入 [root@localhost LS1B]#
3.3.3.3. 新建etc/fstab文件
[root@localhost LS1B]# vim etc/fstab
sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 tmpfs /tmp tmpfs defaults 0 0 tmpfs /mnt tmpfs defaults 0 0 tmpfs /root tmpfs defaults 0 0 tmpfs /var/log tmpfs defaults 0 0 ~
\新] 7L, 213C 已写入 [root@localhost LS1B]#
3.3.3.4. 新建etc/profile文件
[root@localhost LS1B]# vim etc/profile
#!/bin/sh
#/etc/profile:system-wide .profile file for the Bourne shells echo \
#Set search library path
export LD_LIBRARY_PATH=/lib:/usr/lib
#Set user path
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
#Set PS1
11
USER=\LOGNAME=$USER PS1='[\%u@\\h:\\w]\\$' PATH=$PATH
alias ll=\
echo \
\已写入 [root@localhost LS1B]#
3.3.3.5. 修改系统配置文件权限
[root@localhost LS1B]# chmod 755 etc/*
[root@localhost LS1B]# chmod 755 etc/rc.d/rc.sysinit [root@localhost LS1B]#
3.3.3.6. 拷贝Busybox文件
[root@localhost ~]# cd /home/dev/test/busybox-1.19.2-default [root@localhost busybox-1.19.2-default]# ls /nfsramdisk/LS1B dev etc home lib mnt proc root sys tmp usr var
[root@localhost busybox-1.19.2-default]# cp -rf _install/* /nfsramdisk/LS1B [root@localhost busybox-1.19.2-default]# ls /nfsramdisk/LS1B
bin dev etc home lib linuxrc mnt proc root sbin sys tmp usr var
至此根文件系统制作完成!
4. 编译linux
在强调一下,我使用的是red hat,直接root登录,手册《1B开发板用户手册》使用的是Ubuntu。您可能又不一样,这个自己随机应变。
还有手册《1B开发板用户手册》用的是linux-2.6.21,而我用的是开发板光盘中的linux 3.0。这个同样根据自己情况随机应变。
12