wiki:jazz/08-09-26

Version 6 (modified by jazz, 16 years ago) (diff)

--

2008-09-26

  • [課程] DRBL/Clonezilla 進階課程
  • [備忘] 用 DRBL 讓 Windows XP 透過 SAN 網路硬碟開機
    • STEP 1: 在 Windows XP 的環境中下載
  • [備忘] 用 PXE 開啟 Clonezilla Live
    drbladm@drbl-server:~$ wget http://free.nchc.org.tw/clonezilla-live/stable/clonezilla-live-1.2.0-25.zip
    drbladm@drbl-server:~$ mkdir -p /tmp/clonezilla-live; unzip clonezilla-live-*.zip -d /tmp/clonezilla-live/
    drbladm@drbl-server:~$ sudo cp /tmp/clonezilla-live/live/{vmlinuz1,initrd1.img,filesystem.squashfs} /tftpboot/nbi_img/
    drbladm@drbl-server:~$ sudo vi /tftpboot/nbi_img/pxelinux.cfg/default
    
    --- /tftpboot/nbi_img/pxelinux.cfg/default
    +++ /tftpboot/nbi_img/pxelinux.cfg/default
    
    @ -138,0 +138,4 @
      ENDTEXT
    
    +label Clonezilla Live
    +  MENU LABEL Clonezilla Live
    +  kernel vmlinuz1
    +  append initrd=initrd1.img boot=live union=aufs noswap noprompt vga=788 fetch=tftp://{這裡填你的 TFTP Server IP}/filesystem.squashfs
    

  • [概念實作] 使用 PXE 無光碟直接用 ISO 開機
    • 昨天有學員提到說可否用 PXE 來開 ISO 檔案,經過一些資料搜尋,目前似乎只有 GRUB 支援 ISO 格式的開機。有人提到可以用 syslinux 帶起 grub 再開啟 ISO 檔。但跟 Thomas 討論過,如果是 Linux 的安裝,不需要那麼麻煩,DRBL 已經提供 net install 的機制,最可能的應用應該是 Windows XP 無光碟安裝,當然好處是可以用 PXE 像 VMWare 或 Xen 一樣直接開 ISO 檔。
    • 光碟的標準(ISO 9600)存在已經很久了,是否能讓 syslinux 直接開 ISO 檔,今早跟 Steven 討論過,我覺得有兩種作法,其一比較麻煩,就是想辦法把 ISO 檔裡面的 boot sector 抽出來放到 pxelinux 的 memdisk 裡,但問題應該是怎麼提供 ISO 中的內容。其二當然就是讓 pxelinux 直接就可以認得 ISO 9600 的 boot sector 跟光碟內容。
    • 為了先驗證想法,首先想辦法把 ISO 裡面的 boot sector 抽出來。根據Extract an El Torito boot image from an ISO file under linux這篇文章,我們知道可以裝genisoimage套件來達到這樣的目標。
      drbladm@drbl-server:~$ sudo apt-get install genisoimage
      drbladm@drbl-server:~$ geteltorito drbl-live-standard-20080925.iso > drbl-live.img
      Booting catalog starts at sector: 41
      Manufacturer of CD: DRBL/Clonezilla http://
      Image architecture: x86
      Boot media type is: no emulation
      El Torito image starts at sector 79509 and has 4 sector(s) of 512 Bytes
      Image has been written to stdout ....