我試圖修改linux-3.2.0(運行Ubuntu)的生物結構(在blk_types.h中)。我需要對這個結構做的唯一事情就是添加一個額外的變量來跟蹤一個整型變量(這是一個影響算法)。但是,添加一行如「int id;」到結構停止操作系統的啓動順序。修改linux中的生物結構
它編譯,但啓動時,它提供了以下錯誤:
>Gave up wiating for root device. Common problems:
>Boot args
>check rootdelay= ...
>check root= ...
>missing modules (cat /proc/modules; ls /dev)
>ALERT! /dev/disk/by-uuid/15448888-84a0-4ccf-a02a-0feb3f150a84 does not exist. Dropping to a shell!
>BusyBox Built In Shell ...
>(initramfs)
我前後花了使用給定的殼一看,無法找到uuid或以其他方式(無/ dev/sda上所需的文件系統)。任何想法可能會發生什麼?
感謝,
-Misiu
聽起來好像你還沒有重建你的initramfs以包括您新建的內核所需的內核模塊。 – caf
我重建並檢查了initrd映像。現有(工作)內核和修改後的內核都具有完全相同的initrd映像(與我解壓並將它們同時編入目錄並將其與遞歸diff進行比較相同)。由於我所做的改變非常小,我認爲它們應該是相同的。如果我在這個假設中錯了,請讓我知道。 – user1959697
您需要重新構建所有模塊,因爲它們取決於您更改過的'struct bio'的佈局。 – caf