一, 创建相应目录
(1) mkdir busybox-rootfs
cd busybox-rootfs
mkdir bin dev etc home lib mnt opt proc root sbin sys tmp usr var
(2)把从busybox编译生成的命令,库文件等拷入相应文件夹
(3)配置etc目录下inittab文件
::sysinit:/etc/init.d/rc.s
::once:/usr/sbin/telnetd
::respawn:/sbin/getty -L ttyS0 115200 vt100
(4)配置/etc/init.d/rc.s文件
#! /bin/sh
#
/bin/mount -t sysfssysfs /sys
#
/bin/mount -t proc proc/proc
#
/bin/mount -t tmpfstmpfs /tmp
#
/bin/mount -t tmpfstmpfs /root
#
/bin/mount -t tmpfstmpfs /var
cd /var
/bin/mkdir -p cache liblocal lock log mail opt run spool tmp
#
/bin/mount -t tmpfstmpfs /dev
/bin/mkdir -p /dev/pts
/bin/mount -t devptsdevpts /dev/pts
echo /sbin/mdev >/proc/sys/kernel/hotplug
/sbin/mdev -s
#
/sbin/modprobe bondingmiimon=200
/sbin/modprobe dm9000
#
echo active-backup >/sys/class/net/bond0/bonding/mode
/sbin/ifconfig bond0168.3.0.47 netmask 255.255.255.0 up
echo +eth0 >/sys/class/net/bond0/bonding/slaves
echo +eth1 >/sys/class/net/bond0/bonding/slaves
#
/bin/hostname hepxa270
#
/bin/ip link set can0 uptype can bitrate 125000 restart-ms 100
/bin/ip link set can1 uptype can bitrate 125000 restart-ms 100
二,编译
执行 sh busybox-rootfs.sh编译生成文件rootfs.img
Busybox-rootfs.sh文件内容
#! /bin/sh
mkfs.ubifs -rbusybox-rootfs -m 1 -e 262016 -c 112 -o ubifs.img
ubinize -o rootfs.img -m1 -p 256KiB busybox-rootfs.cfg
rmubifs.img
注:
-r指定了文件夹
-m指定了最小io操作的大小,就是nandflash一个page的大小
-e指定了逻辑擦除块的大小
-c指定了最大的逻辑块号262016即256KB
busybox-rootfs.cfg文件内容
[rootfs-volume]
mode=ubi
image=ubifs.img
vol_id=0
vol_size=25MiB
vol_type=dynamic
vol_name=rootfs
vol_alignment=1
vol_flags=autoresize