我已經嘗試了我能想到的一切,但我一定錯過了一些東西。
我正在使用 PXE 設置,該設置從 Web 伺服器提取所有內容來安裝 16.04。
“預設”檔案包含:
LABEL Ubuntu 16.04 Desktop
MENU LABEL Xenial 16.04 Desktop
KERNEL 1604/ubuntu-installer/amd64/linux
append vga=normal ks=http://192.168.1.251/ks-1604-64-desktop.cfg initrd=1604/ubuntu-installer/amd64/initrd.gz biosdevname=0 hostname=desktop
那裡連結的 KERNEL 由 TFTP 提供,是來自 Ubuntu 網站的「網路安裝」映像的 rsync 映像。今天抓取了該鏡像和實際安裝的 iso 鏡像。
我的 Kickstart 檔案包括:
preseed --owner d-i live-installer/net-image string http://192.168.1.251/ubuntu-1604.amd64/install/filesystem.squashfs
但是,當它到達安裝程式中取得 filesystem.squashfs 的位置時,它就會終止並將其記錄在 syslog 中:
base-installer: info: Downloading /cdromhttp://192.168.1.251/ubuntu-1604.amd64/install/filesystem.squashfs to /tmp/live-installer/filesystem.squashfs
這當然會失敗,因為 url 不應該以「/cdrom」開頭。我可以看出它正在從 preseed 行讀取 squashfs 的路徑,但我的任何設定檔中都沒有“cdrom”一詞。
我還嘗試將路徑新增為附加選項,這對於我的 14.04 安裝非常有用,如下所示:
append vga=normal ks=http://192.168.1.251/ks-1404-64-desktop.cfg initrd=ubuntu-installer/amd64/initrd.gz live-installer/net-image=http://192.168.1.251/ubuntu.1404.amd64/install/filesystem.squashfs biosdevname=0 hostname=desktop
關於如何覆蓋 16.04 的 /cdrom 前綴的任何想法嗎?
答案1
我找到了一個解決方法。編輯 fetch-url 文件,修剪變數 url 中的 /cdrom 字串。然後重新打包initrd,一切看起來都很好。我剛剛測試過。很酷。感謝孟達和我一起調查。