最小Linux檔案系統

2021-09-25 22:11:07 字數 1905 閱讀 8404

本文基於:使用arm-poky-linux-gnueabi-編譯busybox

busybox執行make install後 ,可以在安裝目錄下看到bin、sbin、usr三個目錄和乙個指向busybox可執行檔案的軟鏈結linuxrc

僅有 bin、sbin、usr 這 3 個目錄和軟鏈結 linuxrc,這是不足以構成乙個可用的根檔案系統

1、完善目錄結構

mkdir dev etc lib proc sys tmp var
2、新增c庫(1)、查詢動態庫依賴:readelf -d busybox|grep needed

```

$ readelf -d busybox|grep needed

0x00000001 (needed) 共享庫:[libm.so.6]

0x00000001 (needed) 共享庫:[libresolv.so.2]

0x00000001 (needed) 共享庫:[libc.so.6]

```(2)、在交叉編譯工具裡尋找動態庫檔案(libresolv.so.2 libc.so.6 libm.so.6) :如:find . -name libc.so.6

(3)、複製到lib

3、新增初始化配置指令碼在「/etc」目錄下新增系統啟動所需的初始化配置指令碼,busybox 提供了一些初始化範

例指令碼,在「examples/bootfloppy/etc/」目錄下。將這些配置檔案複製到busybox下的 「etc」

目錄:

lin@ubuntu:~/workspace/imx6/okmx6dl-c/linux-4/busybox-1.30.1/_install/etc$ ls

fstab init.d inittab profile

編輯inittab,注釋掉tty2::askfirst:-/bin/sh

::sysinit:/etc/init.d/rcs

::respawn:-/bin/sh

#tty2::askfirst:-/bin/sh

::ctrlaltdel:/bin/umount -a -r

4、其他功能的增加(1)、掛載sysfs等檔案系統

sysfs是 linux 核心中設計較新的一種虛擬的基於記憶體的檔案系統,它的作用與 proc 有些類似,但除了與 proc相同的具有檢視和設定核心引數功能之外,還有為 linux 統一裝置模型作為管理之用。相比於 proc 檔案系統,使用 sysfs匯出核心資料的方式更為統一,並且組織的方式更好,它的設計從 proc 中吸取了很多教訓。

開啟etc/fstab預設內容如下

proc            /proc   proc    defaults    0   0
發現目前系統啟動後只掛在了proc檔案系統。 linux 2.6 以上核心的 sysfs 等都沒有掛載

修改fstab檔案內容如下:

proc            /proc   proc    defaults    0   0

tmpfs /tmp tmpfs defaults 0 0

sysfs /sys sysfs defaults 0 0

tmpfs /dev tmpfs defaults 0 0

本文參考:

linux 檔案系統 Linux 檔案系統結構介紹

ubuntu 像所有類unix系統一樣 在分層樹中組織檔案,其中的關係就像父母和孩子一樣。目錄可以包含其他目錄以及常規檔案,它們是樹的 葉子 樹的任何元素都可以通過路徑名引用 絕對路徑以字元 標識根目錄,其中包含所有其他目錄和檔案 開頭,然後列出必須遍歷以到達該元素的每個子目錄,每個子目錄用 符號分...

Linux檔案系統

linux目錄結構 根目錄 bin 可執行檔案目錄 boot 核心引導檔案 vmlinuz,initrd.img等 dev 裝置檔案儲存目錄,應用程式對這些檔案讀寫和控制可訪問實際裝置 etc 系統配置和一些伺服器配置檔案的位置,如帳號及密碼配置檔案。home 普通使用者目錄 lib 庫檔案目錄 l...

Linux檔案系統

之前對磁碟分割槽已經有了詳細的描述,這篇主要介紹檔案系統 linux的檔案系統是出了名的 下面就 大概介紹下 可以把檔案系統大概分成 superblock inodeblock datablock 三部分 superblock superblock記錄檔案系統的基本資訊比如每塊資料塊的大小,空閒磁碟...