
有一個特定的 ubuntu 映像可以(從 SD 卡)與硬體控制器搭配使用。整個影像需要 2 GB,因為這是卡片的大小。該映像是在舊核心上建構的。我們需要更換主機板,因為舊的主機板不再可用,而新的主機板不適合舊核心。最重要的是,不可挽回地(由於更換開發人員時的某種混亂)圖像中的 root 密碼丟失了 - 也就是說,以文明的方式從內部更換內核,唉,是行不通的。問題:是否有可能 - 以及如何 - 在不更改系統外部的其餘部分的情況下更改內核,只需用我的筆記型電腦中的現有映像重寫卡上的內容?如果沒有,則有必要重建整個簡化和調試的映像,我想避免這種情況。
答案1
首先,我不能強調不要使用你的工作副本,而是製作一個備份副本並使用它,以防出現嚴重錯誤。
這可能行不通,但這是你最好的選擇。
核心依賴/boot 中的檔案來啟動。
System.map-4.19.1-1-default
.vmlinuz-4.19.4-1-default.hmac
config-4.19.4-1-default
initrd-4.19.1-1-default
initrd is symlinked to above
symvers-4.19.1-1-default.gz
sysctl.conf-4.19.1-1-default
vmlinux-4.19.1-1-default.gz
vmlinuz symlink to below
vmlinuz-4.19.4-1-default
您需要當前新版本中的所有這些文件,顯然大多數文件名稱都包含版本號,並且根據您使用的核心版本而有所不同。
/lib/modules/ 內部是一系列資料夾,每個資料夾對應一個核心版本。例如:
4.19.4-1-default
該資料夾中的所有模組都需要複製。
最後,您的 grub 或 grub2 檔案將需要修改以指向這個新檔案。
- 備份您的 SD 卡並使用備份副本
- 如果您的舊主機板不是 UEFI,請在新主機板上停用它,否則會出現問題。
- 取得另一張 SD 卡/硬碟
- 安裝您正在使用的任何發行版的更新版本。
- 將 /boot 和 /lib/modules/ 複製到作業系統備份副本上的適當位置。如果存在 /usr/lib/bootloader 也應該複製。
- 啟動並看看會發生什麼。
可能還會有進一步的相容性問題。最大的危險是向前邁進並從 initd 過渡到 systemd 或其他重大變化。
我建議找出您正在使用的發行版的版本,然後僅將版本提高 1 個版本。如果安裝失敗,您可以一次前進一個版本。
當您有可啟動系統時,我建議使用 apt-get 等在適當的莊園中進行完整的發行版升級。