制作基于OK6410的文件系统(2.修改busybox文件系统,使之能启动)
把busybox生成的_install目录 复制到nfs文件系统的根目录
给开发板上电,会不断提示:
can't open /dev/tty4: No such file or directory
can't open /dev/tty3: No such file or directory
所以这个文件系统是不正常的,还缺很多必要的文件和目录 ,下面我们一一添加.
1.增加目录 ,在文件系统根目录下运行
mkdir root dev etc bin sbin mnt sys proc lib home tmp var usr
2.建节点console、null
sudo mknod dev/console c 5 1
sudo mknod dev/null c 1 3
到此,系统 已经可以启动了,给开发板上电,会进入控制台窗口,但此时的文件系统还有动态链接库还是没有加载,也就是说还运行不了程序。
下面我们复制lib库和初始化一些文件系统
1.在文件系统根目录运行
rm linuxrc
gedit linuxrc
输入:
#!/bin/sh
echo "mount /etc as ramfs"
/bin/mount -f -t cramfs -o remount,ro /dev/bon/2 /
/bin/mount -t ramfs ramfs /var
/bin/mkdir -p /var/tmp
/bin/mkdir -p /var/run
/bin/mkdir -p /var/log
/bin/mkdir -p /var/lock
/bin/mkdir -p /var/empty
#/bin/mount -t usbdevfs none /proc/bus/usb
exec /sbin/init
保存退出后,再运行
chmod 775 linuxrc
创建etc/init.d/rcS文件
mkdir etc/init.d
gedit etc/init.d/rcS
复制如下内容
#! /bin/sh
#
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
/bin/mount -t proc none /proc
/bin/mount -t tmpfs none /tmp
/bin/mount -t tmpfs none /var
/bin/mkdir -p /var/lib
/bin/mkdir -p /var/run
/bin/mkdir -p /var/log
/sbin/ifconfig lo 127.0.0.1
/sbin/ifconfig eth0 192.168.0.111 up
/bin/hostname -F /etc/hostname
保存退出后,再运行
chmod 775etc/init.d/rcS
创建etc/fstab和etc/inittab文件
fstab内容如下:
#/etc/fstab: static file system information.
#<File system> <mount pt> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
mdev /dev ramfs defaults 0 0
none /tmp ramfs defaults 0 0
inittab内容如下:
# This is run first except when booting
::sysinit:/etc/init.d/rcS
# Start an "askfirst" shell on the console
#::askfirst:-/bin/bash
::askfirst:-/bin/sh
# Stuff to do when restarting the init process
::restart:/sbin/init
# Stuff to do before rebooting
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
下面复制lib库文件
cp /usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/lib/* /6410/root/lib/
cp /usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/usr/lib/* /6410/root/lib
cp /usr/local/arm/4.4.1/arm-none-linux-gnueabi/libc/armv4t/usr/lib/* /6410/root/lib
到此文件系统就已经加载完毕了
原文出处:http://hi.baidu.com/rtfsco/blog/item/2c9d6c1806a1c71b5baf5328.html