1. 程式人生 > >linux內核啟動參數解析及添加

linux內核啟動參數解析及添加

eric 一個 bsp 開始 boot 是不是 重啟 uuid speed

1.環境:

ubuntu16.04

Linux jello 4.4.0-89-generic #112-Ubuntu SMP Mon Jul 31 19:38:41 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

2.查看當前linux內核的啟動參數:

cat /proc/cmdline

筆者的輸出內容如下:

BOOT_IMAGE=/boot/vmlinuz-4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f ro quiet splash vt.handoff=7

3.開始解析

root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f :這一串可以用root=/dev/sda1(假如根文件系統在第一個分區)來代替,但是不能用root=(hd0,msdos1)來代替

ro : 啟動時以只讀方式掛載根文件系統

quiet: 不進行打印信息的輸出,所以去掉此項將會迎來很多打印信息

splash: 顯示開機動畫

vt.handoff=7 : 圖形界面會去使用tty7,此項用來禁止splash占用tty7,因此如果將splash參數去掉,此項就無效了

4.添加新的啟動參數

vi /boot/grub/grub.cfg

此文件中會有第2步輸出的內容,在其後追加參數即可,例如:

筆者的grub.cfg文件中就有如下行:(是不是與第2步輸出的信息有些類似)

linux /boot/vmlinuz-4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f ro quiet splash $vt_handoff

假設筆者要加入參數dwc_otg.speed=1,那麽修改後如下:

linux /boot/vmlinuz-4.4.0-89-generic root=UUID=bef418fa-4202-4513-b39b-cde6a5d9753f ro quiet splash $vt_handoff dwc_otg.speed=1

至此保存此文件重啟即可使此參數生效

5.為何沒有使用update-grub來更新grub.cfg文件呢?

update-grub命令無法滿足更細致的內核參數修改需求

linux內核啟動參數解析及添加