接手一個嵌入式項目,公司只給了一塊主板,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