busybox : busybox-1.22.1
gcc : arm-linux-gcc-4.5.1
Author : flinn
Date : May 30, 2019
basic
tar xvf busybox-1.22.1.tar.bz2
mkdir rootfs
cd busybox-1.22.1/
make menuconfig
Busybox Settings --->
Build Options --->
(/home/flinn/tools/4.5.1/bin/arm-none-linux-gnueabi-) Cross Compiler prefix
Installation Options ("make install" behavior) --->
(../rootfs) BusyBox installation prefix
make
make install
config
cd ../rootfs
mkdir dev
cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3
cd ..
mkdir etc
vim etc/inittab
console::askfirst:-/bin/sh
add library
mkdir lib
mkdir usr/lib -p
cp /home/flinn/tools/4.5.1/arm-none-linux-gnueabi/lib/*.so* ./lib -d
cp /home/flinn/tools/4.5.1/arm-none-linux-gnueabi/sys-root/lib/*.so* ./lib -d
cp /home/flinn/tools/4.5.1/arm-none-linux-gnueabi/sys-root/usr/lib/*.so* ./usr/lib -d
add mdev
vim etc/inittab
console::askfirst:-/bin/sh
::sysinit:/etc/init.d/rcS
mkdir etc/init.d
vim etc/init.d/rcS
#mount -t proc none /proc
mount -a
chmod +x etc/init.d/rcS
mount -a 依赖/etc/fstab
vim etc/fstab
# device mount-point type option dump fsck order
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
cd rootfs
mkdir sys
vim etc/init.d/rcS
mount -a
mkdir /dev/pts/
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
nfs
host PC
vim /etc/exports
/home/flinn/tiny4412-SDK/tiny4412/fs/rootfs *(rw,sync,no_root_squash)
重启
sudo /etc/init.d/nfs-kernel-server restart
nfs启动
setenv bootargs noinitrd init=/linuxrc console=ttySAC0,115200 root=/dev/nfs nfsroot=192.168.1.101:/home/flinn/tiny4412-SDK/tiny4412/fs/rootfs ip=192.168.1.123:192.168.1.101:192.168.1.1:255.255.255.0::eth0:off
host: 192.168.1.101
board: 192.168.1.123
load kernel
tiny4412
usb start;nfs 0x40600000 192.168.1.101:/home/flinn/bin/uImage;nfs 0x42000000 192.168.1.101:/home/flinn/bin/exynos4412-tiny4412.dtb;bootm 0x40600000 - 0x42000000
ramdisk.img
制作空白的ramdisk
mkdir ramdisk
sudo dd if=/dev/zero of=ramdisk bs=1k count=8192
将ramdisk
挂载为loop
文件系统
sudo losetup /dev/loop0 ramdisk
sudo mke2fs -m 0 /dev/loop0
sudo mkdir /mnt/loop
sudo mount -t ext2 /dev/loop0 /mnt/loop
将最小文件系统的数据拷贝到/mnt/loop
,然后卸载
sudo cp -arf rootfs/* /mnt/loop
sudo umount /mnt/loop
sudo rm -rf /mnt/loop
使用u-boot
的工具mkimage
压缩为.img
gzip -v9 ramdisk
mkimage -n 'Tiny4412 Ramdisk Image' -A arm -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.img