接手一个嵌入式项目,公司只给了一块主板,SDK中只有kernel,烧录还需要文件系统,手动制作一个文件系统
1.新建文件系统跟目录rootfs
2.在rootfs里创建目录 etc proc dev等linux系统运行需要的文件
在dev目录下创建两个设备节点
mknod -m 666 console c 5 1
mknod -m 666 null c 13
etc目录下创建文件inittab、fstab,创建目录rc.d
其中fstab
none /proc proc default 0 0
在/etc/rc.d/目录中创建rcS
然后通过mount -t proc /proc挂载proc文件系统
mount -t ramfs -n none /tmp
查看/dev设备
-/bin/sh-2.05b# cat /proc/devices
Character devices:
1 mem
2 pty
3 ttyp
4 /dev/vc/0
4 tty
4 ttyS
5 /dev/tty
5 /dev/console
5 /dev/ptmx
7 vcs
9 st
10 misc
13 input
21 sg
89 i2c
90 mtd
128 ptm
136 pts
254 rtc
Block devices:
1 ramdisk
259 blkext
7 loop
8 sd
9 md
11 sr
31 mtdblock
43 nbd
44 ftl
65 sd
66 sd
67 sd
68 sd
69 sd
70 sd
71 sd
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
254 mdp
创建/dev设备
-/bin/sh-2.05b# mknod mtdblock1 b 31 1
-/bin/sh-2.05b# mknod mtdblock2 b 31 2
-/bin/sh-2.05b# mknod mtdblock3 b 31 3
-/bin/sh-2.05b# mknod mtdblock4 b 31 4
-/bin/sh-2.05b# mknod mtdblock4 b 31 5
挂载分区
mount -t jffs2 /dev/mtdblock16 /log
查看挂载后的分区使用情况
-/bin/sh-2.05b# df
Filesystem 1k-blocks Used Available Use% Mounted on
rootfs 15360 13368 1992 87% /
/dev/root 15360 13368 1992 87% /
/dev/mtdblock16 11264 672 10592 6% /log
mkfs.jffs2 -r rootfs -o rootfs.jffs2 -e 0x200 --pad=0x1e00000 -n
--pad=17068032
-s 4096
bin/device_table_min.txt
-b
/home/wjm/freescale/ltib/ltib-p1020rdb-20100506/rootfs.tmp
128
Started: Sun Apr 28 23:07:44 2013
Ended: Sun Apr 28 23:07:57 2013
Elapsed: 13 seconds
Build Succeeded
echo "wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww"
echo $pad_opt
echo $pagesize_opt
echo $dev_tab
echo $endian
echo $stage
echo $pcf->{DEPLOYMENT_ERASE_BLOCK_SIZE}
if [ "$pcf->{DEPLOYMENT_JFFS2}" = "y" ]
then
mkfs.jffs2 -n $pad_opt $pagesize_opt -D $dev_tab -U $endian -e $pcf->{DEPLOYMENT_ERASE_BLOCK_SIZE} -d $stage -o $tdir/rootfs.jffs2
制作文件系统
mkfs.jffs2 --pad -n -s 4096 -U -b -e 128 -r rootfs -o rootfs.jffs2