亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Linux服務器 > 正文

Linux外圍文件系統的定制方法

2024-09-05 23:05:33
字體:
來源:轉載
供稿:網友

前言

一般來說,我們所說的Linux系統指的是各種基于Linux Kernel和GNU Project的操作系統發行版。為了掌握Linux操作系統的使用,了解 Linux操作系統的運作過程,理解內核與外圍支撐系統的關系,加深對開源操作系統的認識,我決定造個輪子——自己定制一個Linux文件系統。

這里有兩種實現方法:

直接自己實現init**/*(M1)***

加載bios 的硬件信息-> 讀取MBR –>執行Grub ->加載kernel–> 加載驅動–> init –> 執行bash

利用系統/sbin/init**/*(M2)***

加載bios 的硬件信息-> 讀取MBR –>執行Grub ->加載kernel–> 加載驅動–> init –> /sbin/init -> 取得run-level信息 -> /etc/rc.d/rc.sysinit -> services –> /etc/rc.d/rc.local –> mingetty –> login

我們先選擇*M1*。

思路

  • 利用原有系統復制必備部件到新存儲器
  • 利用initrd.img機制在RAM Disk中測試
  • 搭配原文件內核和模塊啟動

Step1:獲得shell版本的initrd.img

首先,我們可以寫一個腳本init,使得內核用該文件系統啟動后能夠直接獲得一個Bash。

Linux,外圍,文件系統

創建腳本 init

其中:/bin目錄下是常用命令,init是自己寫的腳本,/lib64目錄下是應用程序所依賴的動態庫。

Linux,外圍,文件系統

init 內容

現在我們需要使用命令行,創建bin和sbin目錄,向其中添加bash、ls、rm、cp、mv、echo、cat、less等基礎命令。由于這些命令需要依賴/lib64等目錄下的一些動態鏈接的共享庫,所以需要將依賴的庫拷貝到小系統對應的目錄下,用ldd命令查詢應用程序及其依賴的動態庫。完成之后,執行:

find . | cpio -H newc -o | gzip > /boot/initrd.img

將根文件系統打包成initrd.img放到/boot目錄下。啟動時系統會自動執行initrd.img中的init。

費了這么大勁生成initrd.img,如何測試新建的initrd.img呢,需要在grub啟動配置文件當中增加一個入口用于測試。

title CentOS 6 Miniroot (hd0,0)kernel /vmlinuz-2.6.32-642.el6.x86_64initrd /initrd.img

這樣重啟之后就會出現啟動選項了。

Step2:完成掛載原系統能力

為了能掛載原系統,必須在initrd.img中加載原系統運行所必須的驅動模塊,比如ext4文件系統的驅動、scsi設備的相關驅動等,/sbin/modinfo 配合/sbin/insmod,驅動放到/module

Linux,外圍,文件系統

Step3:完成擁有管理設備能力(udev)

利用管理、監控主機設備的服務程序udevd來自動加載所需的驅動模塊,比我們自己實現更加可靠。udevd的規則文件在/lib/udev/目錄下,配置文件在/etc/udev/目錄下,同時還需要/etc/nsswitch.conf配置的名稱服務交換,其依賴的庫為/lib目錄下以libnss開頭的文件,將上述文件拷貝到我們的目錄下,然后使用/sbin/start/_udev命令可以啟動udevd服務。(udevd需要調用一些其他的系統命令,如/sbin/modprobe,可用strace進行跟蹤獲?。?/p>

Linux,外圍,文件系統

小系統的目錄文件

其中:/dev目錄下是系統存放可用設備的目錄,/log是使用strace命令生成的log記錄文件。

Step4:完成擁有login登錄能力

由于login的機制比較復雜,涉及進程管理機制和進程組、控制臺等許多方面,因此我們采用*M2*,將/sbin/init命令拷到小系統目錄下,init腳本改為

#!/bin/bashexec /sbin/init

將控制權交給/sbin/init之后,系統啟動時就必須等到它完成一系列調用之后,進入login界面,用戶才能重新獲得控制權。

/sbin/init的過程大致分為三塊:第一塊是udevd加載驅動模塊、文件系統檢查和根切換,相關配置在/etc/rc.sysinit中;第二塊是啟動各項服務,相關配置在/etc/rc.d/目錄下;第三塊是登錄部分,需要調用/sbin/mingetty和/bin/login等命令。將上述所涉及的命令及文件拷貝到小系統對應的目錄下,并對配置進行修改。

由于小系統啟動之后initrd.img作為臨時根文件系統直接在內存中運行,而我們小系統不需要進行根切換,故將/etc/rc.sysinit中remount/_needed()函數體注釋掉,這樣就不會根切換了。

由于系統采用了全新的Upstart啟動方式(/sbin/init程序已經改由upstart軟件包提供),將與Upstart啟動相關的配置文件拷貝至小系統目錄下:

/etc/inittab 配置默認運行級別
/etc/init/rcS.conf 加載rc.sysinit腳本,完成系統初始化任務
/etc/init/rc.conf 兼容腳本,負責各運行級別的調用處理
/etc/init/rcS-sulogin.conf 為單用戶模式啟動/sbin/sushell環境
/etc/init/control-alt-delete.conf 控制終端下的Ctrl+Alt+Del熱鍵操作
/etc/init/start-ttys.conf 配置tty終端的開啟數量、設備文件
/etc/sysconfig/init 控制tty終端的開啟數量、終端顏色方案
/etc/init/tty.conf 控制tty終端的開啟

將bootmini/etc/inittab的運行優先級改為2,那么系統啟動時/sbin/init將執行bootmini/etc/rc.d/rc2.d/目錄下以S開頭的文件,將一些不需要開啟的服務文件名改為K開頭。

在bootmini/etc/rc.d/rc.local文件中可以加入用戶需要系統開機啟動后自動執行的操作。

login程序基于認證體系PAM, 配置文件在/etc/pam.d/目錄下,相關庫文件有/lib64/security/及其依賴的庫文件;login還涉及用戶組管理/bin/chgrp、/bin/chown、/bin/chmod等,保存用戶名的文件/etc/passwd、/etc/group,用戶密碼文件為/etc/shadow。其他一些涉及的文件可通過strace來幫助分析。

可在真機上運行的完整版小系統

部分目錄文件:

Linux,外圍,文件系統

/etc

Linux,外圍,文件系統

/bin

Linux,外圍,文件系統

/sbin

Linux,外圍,文件系統

/usr/bin

Linux,外圍,文件系統

/usr/sbin

至此,文件系統算是可以跑了。下一篇我們再造個輪子——進行Linux內核的裁剪。真機效果也將在下篇看到。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av影视综合网| 欧美日韩亚洲成人| 日韩av在线资源| 亚洲免费影视第一页| 日本一本a高清免费不卡| 91视频国产精品| 亚洲japanese制服美女| 91av在线免费观看视频| 国产精品久久久久久超碰| 日本精品视频在线| 国产九九精品视频| 成人福利视频网| 久久在线免费视频| 欧美一区二区三区四区在线| 日韩精品中文字幕视频在线| 91美女片黄在线观| 欧美激情视频网址| 久久久久久久久国产精品| 久久久久北条麻妃免费看| 日韩极品精品视频免费观看| 亚洲视频第一页| 日韩高清中文字幕| 亚洲综合色av| 亚洲视频在线观看网站| 久久久精品欧美| 久久综合伊人77777蜜臀| 亚洲视频777| 欧美日韩精品在线观看| 久久久久久久影院| 国产精品久久久久久久电影| 日韩免费高清在线观看| 亚洲第一免费播放区| 亚洲午夜未删减在线观看| 一级做a爰片久久毛片美女图片| 亚洲国产精品va| 8090理伦午夜在线电影| 亚洲精品国偷自产在线99热| 日韩久久精品成人| 精品电影在线观看| 亚洲欧美综合精品久久成人| 欧美色视频日本版| 精品人伦一区二区三区蜜桃网站| 成人网在线免费看| 国产成人高潮免费观看精品| 亚洲激情视频在线播放| 亚洲国产精品一区二区久| 色妞久久福利网| 久久久久久久久久亚洲| 欧美日韩亚洲91| 欧洲美女免费图片一区| 国产亚洲一区二区在线| 亚洲国产精彩中文乱码av在线播放| 国产在线视频一区| 日韩成人在线电影网| 亚洲国产精彩中文乱码av在线播放| 久久久国产精彩视频美女艺术照福利| 欧美在线日韩在线| 国产精品欧美日韩| 不卡中文字幕av| 国产精品视频免费观看www| 久久久之久亚州精品露出| 国产激情999| 国产精选久久久久久| 亚洲二区在线播放视频| 日韩视频免费看| 亚洲欧美一区二区激情| 久久久亚洲成人| 国外色69视频在线观看| 欧美午夜xxx| 亚洲xxxx在线| 国产精品一区二区三区免费视频| 精品久久久一区| 5566日本婷婷色中文字幕97| 国产精品69av| 在线观看日韩www视频免费| 久久99精品视频一区97| 98精品国产自产在线观看| 亚洲精品美女在线| 日韩av网站导航| 久久6免费高清热精品| 91精品国产综合久久香蕉的用户体验| 亚洲国产精品va在线看黑人动漫| 日韩经典第一页| 日韩av在线资源| 亚洲一区二区三区四区在线播放| 久久精品国产免费观看| 成人免费在线视频网站| 色先锋资源久久综合5566| 日韩av在线免费看| 国产美女主播一区| 有码中文亚洲精品| **欧美日韩vr在线| 久久影视电视剧凤归四时歌| 亚洲国产精品va在线看黑人动漫| 国产精品一区二区三区在线播放| 性欧美办公室18xxxxhd| 2019日本中文字幕| 亚洲国产成人精品女人久久久| 国产欧美日韩高清| 亚洲一区第一页| 亚洲女在线观看| 亚洲free性xxxx护士hd| 国产亚洲精品久久久优势| 亚洲人成伊人成综合网久久久| 欧美性猛交xxxx黑人猛交| 亚洲a在线播放| 成人福利免费观看| 亚洲国产成人爱av在线播放| 国产香蕉97碰碰久久人人| 性欧美xxxx视频在线观看| 91色p视频在线| 92福利视频午夜1000合集在线观看| 91精品国产高清自在线看超| 成人久久一区二区三区| 欧美香蕉大胸在线视频观看| 国产成人精品久久二区二区| 日韩在线观看视频免费| 国产成人jvid在线播放| 亚洲护士老师的毛茸茸最新章节| 日韩美女激情视频| 91tv亚洲精品香蕉国产一区7ujn| 欧美日韩日本国产| 日韩视频免费大全中文字幕| 国产中文欧美精品| 欧美日韩亚洲一区二区三区| 亚洲天堂av电影| 欧美天天综合色影久久精品| 国产97在线|日韩| 亚洲一区二区久久| 欧美日韩亚洲精品一区二区三区| 国产极品jizzhd欧美| 国产精品久久久久久久久久免费| 国产精品96久久久久久又黄又硬| 国内久久久精品| 久久成人精品一区二区三区| 成人久久久久久| 中文字幕日韩高清| 欧美与欧洲交xxxx免费观看| 成人网欧美在线视频| 韩国精品久久久999| 97精品视频在线播放| 亚洲精品狠狠操| 欧美专区第一页| 91a在线视频| 国产精品国产自产拍高清av水多| 最新日韩中文字幕| 欧美韩国理论所午夜片917电影| 欧美大人香蕉在线| 国产亚洲精品综合一区91| 激情懂色av一区av二区av| 欧美猛交ⅹxxx乱大交视频| 国产亚洲精品综合一区91| 亚洲加勒比久久88色综合| 国产精品永久免费观看| 亚洲一级片在线看| 国产视频精品一区二区三区| 欧美激情精品久久久久久大尺度| 亚洲免费视频一区二区| 国产亚洲欧美aaaa| 一本大道香蕉久在线播放29| 亚洲国产欧美一区二区三区久久| 日韩精品视频免费专区在线播放| 久久久久久尹人网香蕉| 不卡av日日日|