今天看了一本書, linux核心技術手冊, 很多東西豁然開朗, 裡面有一些東西寫點總結給大家看一下
其實大家關於linux的知識都是遇到什麼問題, 網上看什麼問題, 都比較零碎. 對於老手來說, 零碎的東西一看就知道了, 但是對於初學者來說, 零碎的東西還是比較難以理解.
看完之後, 把多年的一些問題想明白了.
之前一直不是很明白為什麼需要initrd, 原來是為了驅動root fs, 那為了驅動root fs, 把對應的驅動編譯進vmlinux裡面也沒什麼問題, 根本的問題是在編譯vmlinux的時候, 不知道root fs是什麼驅動, 那不是要把所有的驅動都編譯進vmlinux, 那這樣核心就會變得很大, 但是對於乙個確定的硬體, 可以只把需要的驅動編譯進vmlinux, 就不存在核心太大的問題了.
在一般用qemu來啟動系統的情況下, 如果使用initrd的情況下, 要先編譯bzimage, 然後要編譯modules, 然後modules_install, 然後install生成initrd, 耗時太久, 如果bzimage包含了root fs的驅動的話, 只需要bzimage, qemu就可以直接啟動了, 省去了很多步驟和時間
比如說我都是這樣啟動vm的
想啟動什麼核心就啟動什麼核心, 如果每次都要把bzimage都拷進vm disk裡面的話, 很容易搞錯版本, 因為中間增加了乙個資訊傳遞的過程
下面就是如何把rootfs的驅動編譯進核心裡面
首先檢視是什麼檔案系統, 這個很容易理解
/dev/root / ext4 rw,relatime,data=ordered 0 0
檔案系統是ext4, 所以先把ext4編譯進核心
config_ext4_fs=y
然後再看磁碟驅動
cd /sys/block/vda/device/
ls -l
lrwxrwxrwx 1 root root 0 jun 17 09:42 driver -> ../../../../bus/virtio/drivers/virtio_blk
可以看到驅動是virtio_blk和virtio
config_virtio_blk=y
config_virtio_pci=y
為什麼是這2個我就不贅述了, 可以看書裡面有很詳細的描述
這樣編譯出來的bzimage就可以用qemu直接啟動了, 啟動命令還是和上面一樣
可能大家會說, 一開始傳遞的就是 -drive file=centos7.vhd,if=virtio, 當然知道是virtio了, 那一開始不知道是virtio, 系統都啟動不了, 怎麼進入系統找驅動, 其實這個問題可以先用發行版的bzimage和initrd先啟動系統來找出驅動是什麼, qemu的引數就是-kernel *** -initrd ***
為什麼要安裝python軟體 為什麼軟體需要安裝?
主要是為了方便使用者操作,畢竟安裝程式是使用者接觸這個應用程式之前的第乙個應用程式,自然是希望操作越簡單越好,最好是可以不停地下一步或者繼續就可以安裝成功 這也給了那些惡意軟體操作的空間,如 安裝 在安裝期間,最常見的就是設定安裝路徑,還有的呢會進行修改 windows 設定,如一些環境 node,...
HTTPS埠443保護什麼,為什麼我們需要它
https為在瀏覽器和伺服器之間共享的資料或敏感資訊提供安全性。它通過加密交換和授予隱私來確保您的isp 或網路上的任何其他人 不會閱讀或干擾會話。但是請不要誤解此安全鎖定功能。它確實可以加密通訊通道,但是不能保證攻擊者不會管理您連線的 此外,如果您的站點上存在薄弱環節,黑客將利用它們並破壞您的資料...
為什麼企業需關心DDoS攻擊? Vecloud微雲
有人會問,什麼ddos?ddos 分布式拒絕服務,這是被精心策劃的惡意攻擊的技術術語,該惡意攻擊將非法流量淹沒網路或 最終導致過載和崩潰。那為什麼要關心ddos?全球網路安全公司kaspersky lab進行的一項調查發現,平均而言,企業ddos攻擊造成損失為200萬美元,中小企業ddos攻擊造成損...