高小强的汽车暴晒场 2018-01-29
可运行以下脚本自动创建:
#!/bin/sh echo "------Create rootfs start--------" mkdir rootfs cd rootfs echo "--------Create root, dev ....----------" mkdir root dev etc boot tmp var sys proc lib mnt home usr mkdir etc/init.d etc/rc.d etc/sysconfig mkdir usr/sbin usr/bin usr/lib usr/modules echo "make node in dev/console dev/null" sudo mknod -m 600 dev/console c 5 1 sudo mknod -m 600 dev/null c 1 3 mkdir mnt/etc mnt/jffs2 mnt/yaffs mnt/data mnt/temp mkdir var/lib var/lock var/run var/tmp chmod 1777 tmp chmod 1777 var/tmp echo "-------Create done---------"
1) make menuconfig
2) 进入busybox setting->build options,开启build static binary静态编译
3) install options 选择don't use /usr以免影响到主机的文件系统
4) busybox installation prefix 选择rootfs
5) build compile 设置为arm-linux-
6) make
7) make install
1.配置好主机NFS服务器: 修改配置文件/etc/exports为:xx/x/x(rootfs的地址) *(rw,sync,no_root_squash) 2.配置bootloader的启动参数: console=ttySAC0,115200 init=/sbin/init root=/dev/nfs rw nfsroot=(开发板的IP):(rootfs的地址) ip=(PC的IP):(开发板的IP):(网关):255.255.255.0::eth0:off
编译安装mtd-util工具:
安装成功后,在mtd文件夹中找到mkfs.jffs2工具并使用以下命令(我当初用的这个命令,具体参数自行修改)生成jffs2文件.
mkjffs2 -n -s 2048 -e 128KiB -d rootfs -o rootfs.jffs2 --pad=0x14a0000 -r, -d, --root=DIR 指定要做成image的源文件夹 -s, --pagesize=SIZE 节点页大小(默认: 4KiB) -e, --eraseblock=SIZE 设定擦除块的大小为(默认: 64KiB) -p, --pad[=SIZE] 用16进制表示所要输出文件的大小
OK,到这里一份热腾腾的系统映像就制作好了,然后设置Linux支持Jffs2,再写入NandFlash文件系统分区.搞定(如果遇到问题可以与我交流 ^_^).