If-Koubou

Cara Menata Disk Utilitas Bootable Jaringan Menggunakan PXE

Cara Menata Disk Utilitas Bootable Jaringan Menggunakan PXE (Bagaimana caranya)

Kami telah menunjukkan kepada Anda bagaimana cara mem-boot boot LiveCD Ubuntu. Dalam artikel ini kami akan menunjukkan cara membuat beberapa jaringan utilitas lain dapat di-boot, yang akan memberi Anda pengetahuan untuk mereplikasi prosedur untuk utilitas lain yang mungkin Anda gunakan.

catatan: artikel ini tidak ditujukan untuk pemula, meskipun Anda dipersilakan untuk terus membaca!

Gambar oleh Steve Jurvetson

Ikhtisar

Panduan ini bertujuan untuk memberi Anda alat dengan yang, Anda akan dapat mengkonversi utilitas, menjadi PXEable. Meskipun sayangnya, tidak mungkin untuk mengonversi alat apa pun di bawah matahari, kita tidak akan menjadi aneh jika kita tidak mencoba.

Seperti yang disebutkan di panduan "Cara Mem-Boot Jaringan (PXE) Ubuntu LiveCD", Jika Anda belum menggunakan Ubuntu sebagai "pergi ke" nomor satu untuk alat pemecahan masalah, diagnostik, dan penyelamatan, apa yang Anda tunggu?

Dengan demikian, kita harus mengakui bahwa ada hal-hal yang tidak dapat dilakukan dalam LiveCD Ubuntu (seperti upgrade BIOS), atau bahwa Anda sudah menggunakan alat yang berbeda yang Anda sukai dan lebih suka terus menggunakan untuk alasan apa pun.

Rekomendasi, Asumsi, dan Prasyarat

  • Diasumsikan bahwa Anda telah mengatur server FOG seperti yang dijelaskan dalam panduan “Apa itu Network Booting (PXE) dan Bagaimana Cara Menggunakannya?”.
  • Anda akan melihat program “VIM” yang digunakan sebagai editor, ini terutama karena tersedia secara luas di platform Linux. Anda dapat menggunakan editor lain yang Anda inginkan.
  • Ultimate Boot CD (UBCD) digunakan sebagai contoh, karena tidak seperti beberapa koleksi utilitas lainnya, ini gratis untuk diunduh dan program yang dikelompokkan bebas digunakan.

Mengapa tidak menggunakan ISO lebih dari PXE?

Ini sering pertanyaan pertama yang ditanyakan ketika berbicara tentang PXEing. Jawaban singkatnya adalah bahwa secara teknis adalah mungkin untuk mengambil gambar ISO dan PXE ke mesin klien, hampir selalu isi ISO tersebut, akan mengharapkan untuk memiliki manifestasi fisik itu sendiri yang dapat diakses dalam drive CDROM fisik. Oleh karena itu, apa pun isi ISO tersebut, ia akan mencoba mencari file "post boot-sector" di drive CDROM fisik dari mesin klien, tidak akan menemukannya dan gagal untuk boot.

Dua cara untuk mengatasi masalah ini adalah:

  • Bakar ISO dan masukkan ke dalam drive CDROM dari mesin klien - Meskipun sederhana, Tidak menggunakan CD, adalah persis apa yang kami coba hindari ...
  • Buka ISO dan ubah cara program bekerja di dalamnya, sehingga menggunakan CDROM sopir yang tahu cara mencari ISO dalam RAM - Cukup kompleks, dan berbeda untuk setiap jenis program yang dapat di-boot. YAITU. bukan prosedur yang sama untuk Linux, WinPE atau UBCD untuk menyebutkan beberapa.

Karena keduanya mengalahkan tujuan “hanya menggunakan ISO”, inilah mengapa kami tidak menyarankan untuk melakukan upaya ini.

Metode Kernel

Meskipun sangat jarang, terkadang program yang Anda coba untuk boot mungkin hanya membutuhkan Kernel berfungsi. Salah satu contoh khas dari ini adalah "memtest86 +". Memtest dilengkapi dengan sebagian besar CD instalasi distribusi Linux dan dengan FOG. Karena Memtest hanya perlu berkomunikasi dengan kemampuan paling dasar dari perangkat keras yang diuji, I.E. memori (RAM), dan dapat bekerja dengan baik tanpa mendukung sepenuhnya perangkat keras yang sedang berjalan (IE itu akan menguji memori, bahkan jika itu tidak tahu itu jenis, kecepatan & dll ') itu tidak perlu untuk apa pun lain dan dapat bekerja sepenuhnya secara mandiri.

Entri menu PXE untuk memtest mungkin terlihat sederhana seperti:

LABEL Jalankan Memtest86 +
kernel fog / memtest / memtest
menambahkan -

Dalam contoh ini, "LABEL Run Memtest86 +" menetapkan nama entri, "kernel fog / memtest / memtest" memberi tahu PXElinux di mana untuk mengambil kernel yang akan dikirim ke klien dari dan "append -" memberi tahu PXElinux untuk mengabaikan opsi boot tambahan dari * warisan.

* Catatan: tergantung pada pengaturan Anda, ini mungkin bahkan tidak diperlukan dan sebenarnya di FOG tidak digunakan.

Metode Kernel + Initrd

Metode ini sejauh ini paling umum digunakan dan tersebar luas karena beberapa alasan:

  • Banyak utilitas saat ini berasal dari dunia Linux.
  • Karena Linux memiliki dukungan perangkat keras yang besar dan gratis untuk digunakan, semakin banyak perusahaan yang menyadari bahwa Linux adalah pangkalan yang sangat baik untuk membangun program kepemilikan mereka.

Mari gunakan utilitas CPUtress UBCD sebagai contoh.

Pada struktur file UBCD, utilitas ini terletak di direktori "ubcd / boot / cpustress". File yang kita cari, disebut "bzImage" yang merupakan "kernel", dan "initrd.gz" yang merupakan "ram disk awal". Jika Anda menggunakan pengaturan FOG yang kami buat, kami sarankan Anda menyalin direktori di bawah "/ tftpboot / howtogeek / utils". Setelah selesai, edit file “/tftpboot/howtogeek/menus/utils.cfg” dan tambahkan entri boot yang ditemukan pada entri menu UBCD. ini dapat ditemukan di "ubcd / menu / syslinux / cpu.cfg". Dengan pengaturan untuk pengaturan FOG, entri menu akan terlihat seperti:

MENU LABEL StressCPU V2.0 (membutuhkan CPU dengan SSE)
TEXT BANTUAN
Siksa-uji CPU Anda untuk memastikan bahwa Anda tidak mengalami overheating
masalah. Membutuhkan CPU x86 yang dilengkapi SSE. Mengeksekusi versi khusus dari
Gromacs innerloops yang mencampur SSE dan instruksi perakitan normal untuk panas
CPU Anda sebanyak mungkin.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
APPEND root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2

Di mana:

  • MENU LABEL - mengatur nama entri
  • TULISAN BANTUAN - Direktif opsional ini, memberikan teks bantuan yang akan ditampilkan di menu untuk memberikan informasi tentang entri yang dipilih.
  • KERNEL - Menentukan lokasi file "kernel" di direktori TFTPD.
  • INITRD - sama seperti di atas hanya untuk file “initrd”.
  • LAMPIRAN - Menentukan parameter tambahan yang harus diteruskan ke program boot.

Beberapa hal yang perlu diperhatikan adalah:

  • Geeks hardcore akan memperhatikan bahwa kami mengganti arahan asli "LINUX" dengan "KERNEL". Ini karena: A. ini membuat contoh lebih mudah dibaca. B. Dalam contoh ini, itu tidak terlalu penting.
    Dengan demikian, biasanya ketika perintah "LINUX" digunakan, lebih baik membiarkannya seperti itu karena ia memberitahu pxelinux / syslinux bahwa kita tidak menggunakan sembarang kernel tetapi Linux.
  • Kami sengaja mengambil arahan "tenang" dari parameter yang ditambahkan. Hal ini disebabkan oleh perubahan dalam cara Syslinux menangani parameter "tenang" dalam versi terbaru.
  • Hal ini dimungkinkan untuk mengubah pengoperasian program "StressCPU", dengan hanya mengubah parameter yang ditambahkan "ubcdcmd". Jadi untuk menggunakan fungsi lain, seseorang hanya perlu menyalin entri dan mengganti "stresscpu2" menjadi: cpuinfo, cpuburn atau mprime24.

Meskipun ini adalah contoh yang sangat sederhana, seharusnya cukup untuk membuat Anda pergi.

Metode Kernel + Initrd + NFS

Metode ini, adalah metode yang kami gunakan pada panduan "Cara Boot Jaringan (PXE) Ubuntu LiveCD". Metode ini dibangun di atas yang sebelumnya dan menggunakan fakta bahwa beberapa distribusi Linux mendukung memiliki "filesystem root" yang di-mount dari NFS. Panduan Ubuntu adalah contoh yang sangat baik, tetapi yakinlah bahwa kami sudah memiliki satu lagi yang direncanakan untuk waktu dekat. "Jaga mata Anda terbuka untuk Jamur Hitam".

Metode MEMDISK

MEMDISK adalah utilitas yang didistribusikan dengan paket Syslinux. Tujuan dari utilitas ini adalah untuk memungkinkan Anda meniru "disk" (terutama mengacu pada disket) menggunakan gambar itu. Cara utilitas ini berfungsi, adalah untuk menghubungkan ke lokasi dalam RAM yang menentukan cara berkomunikasi dengan floppy drive (A.K.A. Interrupt handler) dan mengarahkannya ke lokasi baru yang ditangani oleh program MEMDISK. Dengan metode ini, "kernel" adalah utilitas MEMDISK dan "initrd" adalah file floppy image (.img).

Satu hal yang perlu diperhatikan adalah, bahwa FOG hadir dengan versi "memdisk" yang kompatibel dengan versi pxelinux.0 yang digunakannya. Oleh karena itu, disarankan untuk tidak menyalin file “memdisk” yang menyertai file “img” dari sumbernya.

Karena metode ini sudah digunakan secara liar, bahkan untuk utilitas reguler dan BootCD, sebagian besar waktu itu adalah masalah sederhana untuk menemukan file "IMG" di BootCD, menyalinnya ke direktori TFTPD server PXE dan menyalin entri menu ISOlinux ke menu PXElinux.
Mereka mengatakan "pembicaraan itu murah" jadi mari kita lihat bagaimana kita bisa mengadaptasi salah satu utilitas yang menggunakan metode MEMDISK dari UBCD, untuk bekerja dari PXE.

Utilitas TestMemIV, dapat ditemukan pada struktur file UBCD di "ubcd / images / testmem4.img.gz". Karena kita sudah memiliki utilitas disk memdisk, kita hanya perlu menyalin file “img” ke direktori “howtogeek / utils /”. Dengan pengaturan untuk pengaturan FOG, entri menu akan terlihat seperti:

MENU LABEL TestMemIV
TEXT BANTUAN
Tes memori sistem dan memori pada kartu video Nvidia.
ENDTEXT
Memdisk LINUX
INITRD howtogeek / utils / testmem4.img.gz

Sementara ini adalah contoh dari file gambar floppy berisi diri dari UBCD, sebagian besar program UBCD lainnya, menggunakan gambar dasar yang sama untuk mulai bekerja (fdubcd.img.gz) dan menggunakan "ubcdcmd" ditambahkan parameter untuk autostart program dari boot pasca CDROM. Ini berarti Anda tidak akan dapat mengonversi sebagian besar utilitas mereka menjadi bootable jaringan tanpa beberapa rekayasa balik utama. Meskipun teknik reverse seperti itu mungkin (seperti dapat dilihat di sini) dan merupakan latihan geek yang sangat baik, itu berada di luar ruang lingkup panduan ini.

Dengan kata di atas, Anda sekarang memiliki alat untuk melakukan prosedur ini untuk utilitas diagnostik OEM atau upgrade BIOS esoteris.

Jadi, terkunci di luar Gerbang Darah dan melewati Aula Api, Valor menunggu Pahlawan Cahaya untuk bangun ...