本文檔作在XCU平臺上實現內存文件系統啓動的記錄文件,具體記錄如下:
平臺:ubuntu 14.04
硬件:XCU A樣
編譯器:gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu
編譯器安裝位置:/opt/ gcc-linaro-4.9-2014.11-x86_64_aarch64-linux-gnu
文件系統:busybox-1.25.1.tar.bz2
一:內存文件系統的功能說明
從目前狀態談一談自己對文件系統的存在形式的認知,通常我們談論的文件系統主要是指文件系統中的文件即編譯出的文件認知,在文件存在的介質有NFS/ext2/ext3/ext4/ramdisk等,這裏主要進行RAM-FileSystem的探討,其分爲:ramfs/ramdisk/tmpfs,這裏主要進行ramfs的配置。
二:busybox編譯最小系統:
1. 編譯選項:
Busybox Settings ---> Build Options ---> [*] Build BusyBox as a static binary (no shared libs) (aarch64-linux-gnu-) Cross Compiler prefix |
2. 編譯:make / make install
3. 創建文件:
mkdir -p ./_install/etc/init.d
mkdir -p ./_install/dev
mkdir -p ./_install/proc
mkdir -p ./_install/sys
ln -sf /sbin/init ./_install/init
4. 配置文件編寫:
a. vi ./_install/etc/fstab
# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> proc /proc proc defaults 0 0 sysfs /sys sysfs defaults 0 0 |
b. 1. vi ./_install/etc/init.d/rcS 2.chmod 777 ./_install/etc/init.d/rcS
#! /bin/sh /bin/mount -a mkdir -p /dev /bin/mount -t devtmpfs devtmpfs /dev cat /etc/motd |
c. vi ./_install/etc/motd
_ _ | ||_| | | _ ____ _ _ _ _ | || | _ \| | | |\ \/ / | || | | | | |_| |/ \ |_||_|_| |_|\____|\_/\_/
Busybox Rootfs |
d. 1. mknod _install/dev/console c 5 1 2. chmod 660 _installl/dev/console
e. 1. mknod _install/devnull c 1 3 2. chmod 660 _install/dev/null
三: 內核編譯
1. 環境配置:export
export CROSS_COMPILE=/opt/gcc-linaro-4.9-2015.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- |
2. 配置選項:
make s32v234_defconfig |
General setup ---> [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support (/home/wang_wei/busybox-1.25.1/_install) Initramfs source file(s) Device Drivers ---> [*] Block devices ---> <*> RAM block device support (16) Default number of RAM disks (20480) Default RAM disk size (kbytes) |
3. 編譯鏈接:make / make install