最小根文件系统
最小根文件系统
1./dev/console /dev/null
2.init
3./etc/inittab
4.配置文件中指定的程序
5.c库
1.mkdir dev
cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3
3.mkdir etc
vim etc/inittab
console::askfirst:-/bin/sh
mkdir ~/workspace/linux/nfs_root/first_fs/lib
cp *.so* ~/workspace/linux/nfs_root/first_fs/lib/ -d
4.制作文件系统
tar xjf yaffs_source_util_larger_small_page_nand.tar.bz2
cd Development_util_ok/yaffs2/utils
make
sudo cp mkyaffs2image /usr/local/bin
sudo chmod +x /usr/local/bin/mkyaffs2image
cd ~/workspace/linux/nfs_root
mkyaffs2image first_fs first_fs.yaffs2
5.
mkdir proc
//手动挂载
sudo mount -t proc none /proc
//自动挂载
vim etc/inittab
::sysinit:/etc/init.d/rcS
mkdir /etc/init.d
vim rcS
1>
添加:mount -t proc none /proc
chmod +x /etc/init.d/rcS
mount -a
意思是:读取/etc/fstab文件,然后挂载文件系统
/etc/fstab文件格式:
device mount-point type options dum fsck order
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
2>
rcS中添加:
mount -a
修改/etc/fstab文件
添加
#device mount-point type options dum fsck order
proc /proc proc defaults 0 0
内容
查看挂接了哪些根文件系统
cat /proc/mounts
6.udev机制:自动创建dev/设备节点
mdev是udev的简化版本
根目录:mkdir /sys
vim /etc/fstab
1>fstab文件内容:
#device mount-point type options dum fsck order
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
2>/etc/init.d/rcS文件内容:
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
jffs2
tar zxf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure --shared --prefix=/usr/
make
sudo make install
mkfs.jffs2工具
tar xjf mtd-utils-05.07.23.tar.bz2
cd mtd-utils-05.07.23/util
make
//制作jffs2
mkfs.jffs2 -n -s 2048 -e 128KiB -d first_fs -o first_fs.jffs2
强制指定文件系统的类型
set bootargs noinitrd root=/dev/mtdblock3 rootfstype=jffs2 init=/linuxrc console=ttySAC0
save
网络文件系统
nfs
配置ip
ifconfig eth0 192.168.1.115
a.从flash上启动根文件系统,再用命令挂接NFS
挂接NFS
1.服务器允许那个目录可被挂接(NFS服务)
//安装
sudo apt-get install nfs-kernel-server
sudo vim /etc/exports
//添加
/home/workspace/linux/nfs_root/first_fs *(rw,sync,no_root_squash)
//重启nfs-kernel-server
sudo /etc/init.d/nfs-kernel-server restart
//本地测试
sudo mount -t nfs 192.168.1.94:/home/liulipeng/workspace/linux/nfs_root/first_fs /mnt
2.单板去挂接
mkdir /mnt
mount -t nfs -o nolock 192.168.1.94:/home/liulipeng/workspace/linux/nfs_root/first_fs /mnt
b.直接从NFS启动
NFS启动参数:
1.服务器ip,目录
2.设置自己的IP
set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.19:/home/workspace/nfs_root/first_fs ip=192.168.1.94:192.168.1.19:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC0