新聞中心

        EEPW首頁 > 嵌入式系統 > 學習方法與實踐 > 如何遠程安裝Linux

        如何遠程安裝Linux

        作者: 時間:2008-02-04 來源: 收藏

        一般情況下,我們都是利用軟驅或光驅引導Linux后,再通過本地的光驅安裝Linux。但是,這種安裝方法在以下的幾種情況下就不能適用:
        無軟驅和光驅:很多公司為了節省成本,計算機一般都不帶光驅或軟驅,這樣就無法通過本地安裝Linux;

        非標準的軟驅和光驅:雖然筆記本都會配置光驅,但是并不一定都是標準的IDE設備,有些是通過U 接口,有些是通過1394接口(例如Samsung 的Q10)。在Linux安裝時所引導的Linux內核一般都不會帶這些接口的驅動,所以也無法通過本地安裝Linux;

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

        基本原理

        1) 什么是PXE

        PXE(Pre-boot Execution Environment)是由Intel設計的協議,它可以使計算機通過網絡啟動。協議分為client和server兩端,PXE client在網卡的ROM中,當計算機引導時,BIOS把PXE client調入內存執行,并顯示出命令菜單,經用戶選擇后,PXE client將放置在遠端的操作系統通過網絡下載到本地運行。

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

        既然是通過網絡傳輸,那么計算機在啟動時,它的IP地址由誰來配置;

        通過什么協議下載Linux內核和根文件系統

        對于第一個問題,可以通過DHCP Server解決,由DHCP server來給PXE client分配一個IP地址,DHCP Server是用來給DHCP Client動態分配IP地址的協議,不過由于這里是給PXE Client分配IP地址,所以在配置DHCP Server時,需要增加相應的PXE特有配置。

        至于第二個問題,在PXE client所在的ROM中,已經存在了TFTP Client。PXE Client使用TFTP Client,通過TFTP協議到TFTP Server上下載所需的文件。

        這樣,PXE協議運行的條件就具備了,下面我們就來看看PXE協議的工作過程。

        2) 工作過程

        498)this.style.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/files/uploadimg/20051212/1001530. g">

        在上圖中,PXE client是需要安裝Linux的計算機,TFTP Server和DHCP Server運行在另外一臺Linux Server上。Bootstrap文件、配置文件、Linux內核以及Linux根文件系統都放置在Linux Server上TFTP服務器的根目錄下。

        PXE client在工作過程中,需要三個二進制文件:bootstrap、Linux 內核和Linux根文件系統。Bootstrap文件是可執行程序,它向用戶提供簡單的控制界面,并根據用戶的選擇,下載合適的Linux內核以及Linux根文件系統。

        本文引用地址:http://www.104case.com/article/78696.htm

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

         

        1) 配置DHCP Server

        選用ISC dhcp-3.0,DHCP Server的配置文件是/etc/dhcpd.conf,配置文件的內容如下:

        option ace PXE;

        option PXE.mtftp-ip  code 1 = ip-addre  

        option PXE.mtftp-cportcode 2 = u igned integer 16;

        option PXE.mtftp- ortcode 3 = u igned integer 16;

        option PXE.mtftp-tmoutcode 4 = u igned integer 8;

        option PXE.mtftp-delaycode 5 = u igned integer 8;

        option PXE.discovery-control code 6 = u igned integer 8;

        option PXE.discovery-mcast-addr  code 7 = ip-addre

        cla "pxeclients" {

        match if su tring (option vendor-cla -identifier, 0, 9) = "PXEClient";

        option vendor-cla -identifier "PXEClient";

        vendor-option- ace PXE;

        # At least one of the vendor- ecific PXE optio must be set in

        # order for the client boot ROMs to realize that we are a PXE-compliant

        # server. We set the MCAST IP addre to 0.0.0.0 to tell the boot ROM

        # that we can''t provide multicast TFTP (addre 0.0.0.0 mea no

        # addre ).

        option PXE.mtftp-ip 0.0.0.0;

        # This is the name of the file the boot ROMs should download.

        filename "pxelinux.0";

        # This is the name of the server they should get it from.

        next-server 192.168.0.1;

        }

        dd -update-style interim;

        ignore client-update

        default-lease-time 1200;

        max-lease-time 9200;

        option su et-mask 255.255.255.0;

        option broadcast-addre 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";

        su et 192.168.0.0 netmask 255.255.255.0 {

        range 192.168.0.10 192.168.0.100;

        }

        host q10 {

        hardware ethernet 00:00:F0:6B:38:5

        fixed-addre 192.168.0.22;

        }

        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

        {

        socket_type = dgram

        protocol= udp

        wait= yes

        user= root

        server = /usr/ in/in.tftpd
        disable = no

        per_source = 11

        c = 100 2

        }

        這里制定了/tft oot為TFTP Server的根目錄位置。

        3) 配置bootstrap

        bootstrap文件在dhcpd.conf中被指定為pxelinux.0文件,放置在/tft oot。Linux內核以及Linux根文件系統也放置在/tft oot。pxelinux.0在執行過程中,要讀配置文件,所有的配置文件都放在/tft oot/pxelinux.cfg/ 目錄下。由于PXElinux具有為不同的PXE Client提供不同的Linux內核以及根文件系統的功能,所以要通過不同的配置文件名來區分出不同的PXE Client的需求。比如一個PXE Client由DHCP Server分配的IP地址為192.168.0.22,那么相對應的配置文件名為/tft oot/pxelinux.cfg/C0A80016 (注:C0A80016為IP地址192.168.0.22的十六進制表示)。如果找不到,就按照順序C0A80016-> C0A8001-> C0A800-> C0A80-> C0A8-> C0A-> C0-> C->default查找配置文件。

        /tft oot/pxelinux.cft/C0A80001配置文件的具體內容如下:

        DEFAULT i tall

        PROMPT 1

        LABEL i tall

        KERNEL vmlinuz

        A END initrd=initrd.img devfs=nomount ramdisk_size=16384

        此配置文件指定了Linux內核以及根文件系統的名稱,并給內核傳遞了一些參數,其中ramdisk_size參數要非常注意,它指定Linux內核啟動后建立ramdisk的大小,如果設置太小,Linux的安裝過程就可能無法進行。

        4) 制作Linux內核/根文件系統

        因為需要通過網絡安裝,所有選擇Redhat Linux 8.0安裝盤(disk #1)中E:image ootnet.img(光驅的盤符為E:)。bootnet.img包括Linux內核、Linux根文件系統(有安裝程序在內)。用bootnet.img制作一張引導軟盤,方法在DOS命令行運行E:dosutilsrawrite E:image ootnet.img,根據提示制作。制作完畢后,將引導軟盤中的vmlinuz(Linux內核)和initrd.img (Linux根文件系統)拷貝到Linux Server的/tft oot下。

        5) 啟動DHCP Server/TFTP Server

        在Linux Server上,運行service dhcpd start和service xinetd restart。

        6) 啟動Q10

        Q10加電后,在出現Samsung公司徽標時,在左下角會提示用戶按F12進入網絡引導。按F12后,Q10進入網絡引導過程。首先通過DHCP Server獲得了IP地址,然后下載并執行bootstrap文件pxelinux.0;在執行中,讀入配置文件 /tft oot/pxelinux.cfg/C0A80016。此時屏幕上出現boot:,敲入i tall,就進入了Redhat Linux 8.0的網絡安裝界面,一切OK!

         
         
        步驟
        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)


        關鍵詞: 遠程 安裝 Linux

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 霍林郭勒市| 中山市| 贞丰县| 石阡县| 宜兰县| 永春县| 进贤县| 九江县| 望都县| 台东市| 宝兴县| 确山县| 额尔古纳市| 视频| 鹤庆县| 安远县| 加查县| 京山县| 读书| 湘潭市| 五峰| 桦川县| 攀枝花市| 大城县| 枣庄市| 眉山市| 喀什市| 阳高县| 沙河市| 沭阳县| 余江县| 云浮市| 綦江县| 临潭县| 会东县| 华容县| 西丰县| 嘉禾县| 莱州市| 临猗县| 宜宾县|