遠端安裝Linux作業系統

2021-06-20 21:52:59 字數 3735 閱讀 3469

1. 引言

一般情況下,我們都是利用軟碟機或光碟機引導linux後,再通過本地的光碟機安裝linux。不過,這種安裝方法在以下的幾種情況下就不能適用:

無軟碟機和光碟機:非常多公司為了節省成本,計算機一般都不帶光碟機或軟碟機,這樣就無法通過本地安裝linux; 

非標準的軟碟機和光碟機:雖然筆記本都會設定光碟機,不過並不一定都是標準的ide裝置,有些是通過usb介面,有些是通過1394介面(例如samsung 的q10)。在linux安裝時所引導的linux核心一般都不會帶這些介面的驅動,所以也無法通過本地安裝linux; 

另外,在一些場合,如機房中,有大量的計算機需要同時安裝linux,如果通過光碟機的方式乙個個安裝,不僅效率低,也不利於維護。 

筆者在工作過程中,就遇見過第二種情況。一台samsung的q10筆記本需要安裝redhat linux 8.0,不過通過光碟機引導後發現,安裝程式無法訪問光碟。針對這個問題,筆者經過查閱資料和摸索,找到了在q10上安裝linux的方法。在下面的討論中,如不做特別宣告,都將以q10為例,介紹怎麼通過pxe bootrom來遠端安裝linux。

2. 基本原理

1) 什麼是pxe

pxe協議的成功執行需要解決以下兩個問題:

既然是通過網路傳輸,那麼計算機在啟動時,他的ip位址由誰來設定; 

對於第乙個問題,能通過dhcp server解決,由dhcp server來給pxe client分配乙個ip位址,dhcp server是用來給dhcp client動態分配ip位址的協議,不過由於這裡是給pxe client分配ip位址,所以在設定dhcp server時,需要增加相應的pxe特有設定。

這樣,pxe協議執行的條件就具有了,下面我們就來看看pxe協議的工作過程。

2) 工作過程

在上圖中,pxe client是需要安裝linux的計算機,tftp server和dhcp server執行在另外一台linux server上。bootstrap檔案、設定檔案、linux核心及linux根檔案系統都放置在linux server上tftp伺服器的根目錄下。

3. 步驟

有了前面的背景知識,接下來就能正式操作了,下面按照順序給出了操作步驟:

1) 設定dhcp server

選用isc dhcp-3.0,dhcp server的設定檔案是/etc/dhcpd.conf,設定檔案的內容如下:

option space pxe;

option pxe.mtftp-ip  code 1 = ip-address; 

option pxe.mtftp-cportcode 2 = unsigned integer 16;

option pxe.mtftp-sportcode 3 = unsigned integer 16;

option pxe.mtftp-tmoutcode 4 = unsigned integer 8;

option pxe.mtftp-delaycode 5 = unsigned integer 8;

option pxe.discovery-control code 6 = unsigned integer 8;

option pxe.discovery-mcast-addr  code 7 = ip-address;

class "pxeclients"

ddns-update-style interim;

ignore client-updates;

default-lease-time 1200;

max-lease-time 9200;

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.0.255;

option routers 192.168.0.254;

option domain-name-servers 192.168.0.1,192.168.0.2;

option domain-name "mydomain.org";

subnet 192.168.0.0 netmask 255.255.255.0  

host q10

dhcpd.conf設定檔案中幾個關鍵部分說明如下:host q10定義了筆記本q10網絡卡的mac位址和ip位址的對應關係,表明dhcp server為q10分配乙個固定的ip:192.168.0.22;filename ""指定bootstrap的檔名;netx-server指定tftp server的位址。其他的設定請讀者參考dhcp server的手冊。

2) 設定tftp server

選用tftp-hpa,tftp server的設定檔案是/etc/xinetd.d/tftp,設定檔案的內容如下:

service tftp

這裡制定了/tftpboot為tftp server的根目錄位置。

3) 設定bootstrap

bootstrap檔案在dhcpd.conf中被指定為pxelinux.0檔案,放置在/tftpboot。linux核心及linux根檔案系統也放置在/tftpboot。pxelinux.0在執行過程中,要讀設定檔案,所有的設定檔案都放在/tftpboot/pxelinux.cfg/ 目錄下。由於pxelinux具有為不同的pxe client提供不同的linux核心及根檔案系統的功能,所以要通過不同的設定檔名來區分出不同的pxe client的需求。比如乙個pxe client由dhcp server分配的ip位址為192.168.0.22,那麼相對應的設定檔名為/tftpboot/pxelinux.cfg/c0a80016 (注:c0a80016為ip位址192.168.0.22的十六進製制表示)。如果未找到,就按照順序c0a80016-> c0a8001-> c0a800-> c0a80-> c0a8-> c0a-> c0-> c->default查詢設定檔案。

/tftpboot/pxelinux.cft/c0a80001設定檔案的具體內容如下:

default install

prompt 1

label install

kernel vmlinuz

此設定檔案指定了linux核心及根檔案系統的名稱,並給核心傳遞了一些引數,其中ramdisk_size引數要非常注意,他指定linux核心啟動後建立ramdisk的大小,如果設定太小,linux的安裝過程就可能無法進行。

4) 製作linux核心/根檔案系統

因為需要通過網路安裝,所有選擇redhat linux 8.0安裝盤(disk #1)中e:imagesbootnet.img(光碟機的碟符為e:)。bootnet.img包括linux核心、linux根檔案系統(有安裝程式在內)。用bootnet.img製作一張引導軟盤,方法在dos命令列執行e:dosutilsrawrite e:imagesbootnet.img,根據提示製作。製作完畢後,將引導軟盤中的vmlinuz(linux核心)和initrd.img (linux根檔案系統)拷貝到linux server的/tftpboot下。

5) 啟動dhcp server/tftp server

在linux server上,執行service dhcpd start和service xinetd restart。

6) 啟動q10

4. 結束語

參考資料

pxelinux,

net booting with dhcp, pxe-linux and tftp,

different kinds of pxe,

關於作者

湯凱,解放軍理工大學指揮自動教研室講師,你能通過 mail 位址 

[email protected]

和他取得聯絡。 

安裝Linux作業系統

安裝 linux作業系統 linux 系統的組成 linux作業系統是由linux核心和各種外圍程式組成的 linux核心是乙個特殊的軟體程式,用於實現cpu和記憶體分配 程序排程 裝置驅動等核心操作,以面向硬體為主 外圍程式包括分析使用者指令的直譯器 網路服務程式 圖形桌面程式等各應用型的軟體程式...

安裝Linux作業系統

安裝 linux作業系統 linux 系統的組成 linux作業系統是由linux核心和各種外圍程式組成的 linux核心是乙個特殊的軟體程式,用於實現cpu和記憶體分配 程序排程 裝置驅動等核心操作,以面向硬體為主 外圍程式包括分析使用者指令的直譯器 網路服務程式 圖形桌面程式等各應用型的軟體程式...

PXE遠端自動安裝作業系統

pxe工作原理 注意 如果要是用pxe遠端安裝作業系統,網絡卡必須支援pxe 即網絡卡中包含tftp的客戶端 1 實驗環境 1 centos6或7 2 準備一張或多張系統盤 centos 2 基礎元件的安裝和配置 1 需要安裝的rpm包 2 配置tftp server 1 配置光碟源 localre...