tiny4412 驱动 (2)制作根文件系统

 

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  

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值