imx6q 製作文件系統

實際項目中可以使用Buildroot製作根文件系統
一、製作文件系統
1、下載busybox源碼 https://busybox.net/downloads/
2、解壓tar -xjf util-linux-2.23.1.tar.bz2
3、配置
export ARCH=arm
export CROSS_COMPILE=arm-none-eabi-
//export CROSS_COMPILE=arm-linux-gnueabihf-
make menuconfig
Busybox Settings--->
    Build Options--->
        [*]Build BusyBox as a static binary(no shared libs)
        
Busybox Library Tuning--->
    [*]vi-style line editing commands
    [*]Fancy shell prompts    
    
Linux Module Utilities--->
    [ ]Simplified modutils
    [*]insmod
    [*]rmmod
    [*]lsmod
    [*]modprobe
    [*]depmod
    
Linux System Utilities--->[*]mdev
    [*]Support /etc/mdev.conf
    [*]Support subdirs/symlinks
    [*]Support regular expressions substitutions when renaming dev
    [*]Support command execution at device addition/removal
    [*]Support loading of firmwares

4、編譯與安裝    
make CROSS_COMPILE=arm-linux-gnueabi-    
//make CROSS_COMPILE=arm-linux-gnueabihf-
make CROSS_COMPILE=arm-linux-gnueabi- install
//make CROSS_COMPILE=arm-linux-gnueabihf- install
mv _install nfs_root  通過網絡文件系統掛載到nfs_root
5.添加etc/inittab,內容如下:
# /etc/inittab
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
::restart:/sbin/init
6.添加etc/init.d/rcS, 內容如下:
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
runlevel=S
prevlevel=N
umask 022
export PATH runlevel prevlevel
mount -a
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
/bin/hostname -F /etc/sysconfig/HOSTNAME
ifconfig eth0 192.168.1.106

7.創建etc/fstab
#device         mount-point     type    options         dump    fsck order
proc            /proc           proc    defaults                0       0
tmpfs           /tmp            tmpfs   defaults                0       0
sysfs           /sys            sysfs   defaults                0       0
tmpfs           /dev            tmpfs   defaults                0       0
var             /dev            tmpfs   defaults                0       0
ramfs           /dev            ramfs   defaults                0       0

8.創建/etc/sysconfig/HOSTNAME文件,裏面填爲Lonnox
9.創建/etc/profile
# Ash profile
# vim: syntax=sh
# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH
HOSTNAME=`/bin/hostname`
export USER LOGNAME PS1 PATH
10.在根目錄中創建proc sys var dev lib tmp文件夾
11.拷貝動態庫:cp -a /usr/arm-linux-gnueabi/lib/*.so* ~/work/imx6/nfs_root/lib

附件3:製作ext2格式的鏡像並燒錄啓動
(1)執行下述命令
dd if=/dev/zero of=rootfs.ext2 bs=1024 count=10240
losetup /dev/loop1 rootfs.ext2
mke2fs -m 0 /dev/loop1 10240
mount -t ext2 /dev/loop1 ./ext2_rootfs/
(2)向./rootfs中複製內容,用cp ../rootfs/* ./ -rf
(3)umount /dev/loop1
losetup -d /dev/loop1
(4)完成後得到的rootfs.ext2就是我們做好的rootfs鏡像。拿去燒錄即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章