Ubuntu 的版本可以區分為 3 種 Desktop , Server , cloud
如果是要將 Desktop 放到 PXE 很簡單,請參考 https://benjr.tw/28619
關於 PXE 的基礎設定,請參考 https://benjr.tw/83 ,下面僅針對不同的地方做說明.
HTTP Mirror (Local)
複製 ubuntu 光碟所有的內容,用來建立 本地端的 HTTP Mirror.
[root@benjr ~]# mkdir /var/ftp/ubuntu-16.04.2-server [root@benjr ~]# mount -o loop ubuntu-16.04.2-server-amd64.iso /media [root@benjr ~]# cp -rf /media/* /media/.disk /var/ftp/ubuntu-16.04.2-server
.disk 目錄裡面的檔案很重要一定要複製下來,如未複製安裝時可能會產生以下的錯誤訊息.
The 'grub-efi-amd64-signed' package failed to install into /target/. Without the GRUB boot loader, the installed system will not boot.
PXE Boot Kernel , Ramdisk (Initrd)
Server 以及 infrastrure 的開機所需檔案 linux , initrd.gz ISO 檔有2處地方可以找到,這兩個開機的安裝流程不太一樣需要注意一下.
目錄(一) /install
[root@benjr ubuntu12.10-64-server]# ll install/ -r–r–r– 1 root root 7745912 Oct 18 01:24 initrd.gz -r–r–r– 1 root root 5130968 Oct 15 23:55 vmlinuz
此處的安裝的媒體只能是 CDROM,不能選擇其他的方式,所以 PXE 安裝是不能選用這邊的開機檔
目錄(二) /install/netboot/ubuntu-installer/amd64
[root@benjr ubuntu-16.04.2-server]# ll install/netboot/ubuntu-installer/amd64/ -r–r–r– 1 root root 18668122 Oct 15 23:55 initrd.gz -r–r–r– 1 root root 5130968 Oct 15 23:55 linux
至於 install/netboot/ubuntu-installer/amd64/ 他的安裝流程是適合 PXE 的.
將這些開機所需的檔案複製到 tftp 所在的目錄.
[root@benjr ~]# cd /var/ftp/ubuntu-16.04.2-server [root@benjr ubuntu-16.04.2-server]# mkdir /var/lib/tftpboot/linux-install/ubuntu-16.04.2-server [root@benjr ubuntu-16.04.2-server]# cp install/netboot/ubuntu-installer/amd64/linux /var/lib/tftpboot/linux-install/ubuntu-16.04.2-server [root@benjr ubuntu-16.04.2-server]# cp install/netboot/ubuntu-installer/amd64/initrd.gz /var/lib/tftpboot/linux-install/ubuntu-16.04.2-server
PXE 設定檔
編輯 /var/lib/tftpboot/linux-install/pxelinux.cfg/default (這個檔案定義了與PXE的Clients可以經由按鍵來選擇安裝的系統)
[root@benjr ~]# vi /var/lib/tftpboot/linux-install/pxelinux.cfg/default label u16.04 kernel ubuntu-16.04.2-server/linux append vga=normal initrd=ubuntu-16.04.2-server/initrd.gz ramdisk_size=16432 --
透過 PXE 安裝時選擇 enter information manually: 即可指定你的 http 服務.
ubuntu archive mirror hostname: 這邊可以指定你的 http 服務的 IP 或是 hostname
ubuntu archive mirror directory:這邊可以指定你的 http 服務器的 Root directory + unbuntu ISO內容
即可以完成安裝.
Ubuntu 17.04 也是相同的方式與步驟.
不過後續遇到一個問題, #apt update 時,固定的 mirror 會變成 PXE Server 的 IP ,需要將 /etc/atp/sources.list 做修正.
为什么我的PXE会出现Loading libc6-udeb failed for unknown reasons. Aborting.