Cara Mengatur Disk Utilitas Bootable Jaringan Menggunakan PXE
Kami telah menunjukkan kepada Anda cara mem-boot jaringan LiveCD Ubuntu. Pada 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 yang dengannya, Anda dapat mengonversi utilitas, menjadi PXEable. Meskipun sayangnya, tidak mungkin untuk mengkonversi alat apa pun di bawah matahari, kita tidak akan menjadi Geeks jika kita tidak mencoba.
Seperti disebutkan pada panduan “Bagaimana Cara Membooting Jaringan (PXE) Ubuntu LiveCD”, Jika Anda belum menggunakan Ubuntu sebagai alat “pemecahan masalah” nomor satu untuk pemecahan masalah, diagnostik, dan prosedur penyelamatan, tunggu apa lagi?
Dengan itu, kita harus mengakui bahwa ada hal-hal yang tidak bisa dilakukan dalam Ubuntu LiveCD (seperti peningkatan BIOS), atau bahwa Anda sudah menggunakan alat berbeda yang Anda suka dan lebih suka terus menggunakan apa pun alasannya.
Rekomendasi, Asumsi, dan Prasyarat
- Diasumsikan bahwa Anda telah menyiapkan server FOG seperti yang dijelaskan dalam panduan “Apa itu Booting Jaringan (PXE) kami dan Bagaimana Cara Menggunakannya?”.
- Anda akan melihat program "VIM" digunakan sebagai editor, ini terutama karena ini 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-program yang dibundelnya bebas untuk digunakan.
Mengapa tidak menggunakan ISO over PXE saja?
Ini adalah pertanyaan pertama yang sering diajukan ketika berbicara tentang PXEing. Jawaban singkatnya adalah bahwa meskipun secara teknis dimungkinkan untuk mengambil gambar ISO dan PXE ke mesin klien, hampir selalu isi dari ISO tersebut, akan mengharapkan untuk memiliki manifestasi fisik itu sendiri yang dapat diakses di drive CDROM fisik. Oleh karena itu, apa pun isi dari kata ISO itu, ia akan mencoba mencari file “post boot-sector” dalam drive fisik CDROM dari mesin klien, tidak akan menemukannya dan gagal untuk boot.
Dua cara untuk mengatasi masalah ini adalah:
- Membakar ISO dan memasukkannya ke dalam drive CDROM dari mesin klien - Meskipun sederhana, Tidak menggunakan CD, adalah persis apa yang kita coba hindari ...
- Buka ISO dan ubah cara program bekerja di dalamnya, sehingga ia menggunakan CDROM sopir yang tahu cara mencari ISO dalam RAM - Cukup rumit, dan berbeda untuk setiap jenis program yang dapat di-boot. YAITU. bukan prosedur yang sama untuk Linux, WinPE atau UBCD untuk menyebutkan beberapa.
Karena kedua hal di atas mengalahkan tujuan "hanya menggunakan ISO", inilah mengapa kami tidak merekomendasikan untuk melakukan upaya ini..
Metode Kernel
Walaupun sangat jarang, terkadang program yang Anda coba booting mungkin hanya membutuhkan Kernel untuk berfungsi. Salah satu contoh khas ini adalah "memtest86 +". Memtest dibundel dengan sebagian besar CD instalasi distribusi Linux dan dengan FOG. Karena Memtest hanya perlu dapat berkomunikasi dengan kemampuan paling dasar dari perangkat keras yang diuji, I.E. memori (RAM), dan dapat bekerja dengan baik tanpa sepenuhnya mendukung perangkat keras yang sedang berjalan (yaitu akan menguji memori, bahkan jika tidak tahu itu jenis, kecepatan & dll ') tidak perlu apa-apa lain dan dapat bekerja sepenuhnya secara mandiri.
Entri menu PXE untuk memtest mungkin terlihat sesederhana:
LABEL Jalankan Memtest86+
kernel fog / memtest / memtest
menambahkan -
Dalam contoh ini, "LABEL Run Memtest86 +" menetapkan nama entri, "kabut kabut / memtest / memtest" memberi tahu PXElinux di mana mengambil kernel yang akan dikirim ke klien dari dan "menambahkan -" memberitahu PXElinux untuk mengabaikan opsi boot tambahan dari * inheritance.
* Catatan: tergantung pada pengaturan Anda, ini bahkan mungkin tidak diperlukan dan sebenarnya dalam 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 hebat dan bebas untuk digunakan, semakin banyak perusahaan menyadari bahwa Linux adalah basis yang sangat baik untuk membangun program eksklusif mereka di.
Mari kita gunakan utilitas CPUstress 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 "disk ram 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 padanya entri booting yang ditemukan pada entri menu UBCD. ini dapat ditemukan di "ubcd / menus / syslinux / cpu.cfg". Dengan penyesuaian untuk pengaturan FOG, entri menu akan terlihat seperti:
MENU LABEL StressCPU V2.0 (membutuhkan CPU dengan SSE)
BANTUAN TEKS
Siksa-uji CPU Anda untuk memastikan Anda tidak kepanasan
masalah. Membutuhkan CPU x86 yang dilengkapi SSE. Menjalankan versi khusus
Gromacs innerloops yang mencampur instruksi perakitan SSE dan normal menjadi 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
Dimana:
- MENU LABEL - mengatur nama entri
- BANTUAN TEKS - Arahan opsional ini, memberikan teks bantuan yang akan ditampilkan dalam 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".
- APPEND - Menentukan parameter tambahan yang harus dilewatkan ke program yang di-boot.
Beberapa hal yang perlu diperhatikan adalah:
- Geeks hardcore akan melihat bahwa kami mengganti arahan asli "LINUX" dengan "KERNEL". Ini karena: A. ini membuat contoh lebih mudah dibaca. B. Dalam contoh ini tidak terlalu penting.
Dengan itu, biasanya ketika arahan "LINUX" digunakan, lebih baik membiarkannya seperti itu karena memberitahu pxelinux / syslinux bahwa kita tidak menggunakan sembarang kernel tetapi Linux.. - Kami sengaja mengambil arahan "hening" dari parameter terlampir. Ini disebabkan oleh perubahan dalam cara Syslinux menangani parameter "quiet" di versi terbaru.
- Dimungkinkan untuk mengubah operasi program "StressCPU", hanya dengan mengubah parameter yang ditambahkan "ubcdcmd". Jadi untuk menggunakan fungsi-fungsi lain, seseorang hanya perlu menyalin entri dan mengganti "stresscpu2" menjadi: cpuinfo, cpuburn atau mprime24.
Meskipun ini adalah contoh yang sangat sederhana, itu sudah cukup untuk membuat Anda maju.
Metode Kernel + Initrd + NFS
Metode ini, adalah yang kami gunakan pada panduan "How To Network Boot (PXE) The Ubuntu LiveCD". Metode ini dibangun di atas yang sebelumnya dan memanfaatkan fakta bahwa beberapa distribusi Linux mendukung "sistem file root" mereka dipasang dari NFS. Panduan Ubuntu adalah contoh yang sangat baik, tetapi yakinlah bahwa kami sudah memiliki rencana lain dalam waktu dekat. "Buka matamu untuk Jamur Hitam".
Metode MEMDISK
MEMDISK adalah utilitas yang didistribusikan dengan paket Syslinux. Tujuan dari utilitas ini adalah untuk memungkinkan Anda untuk meniru "disk" (terutama mengacu pada disket) menggunakan gambar itu. Cara kerja utilitas ini, adalah 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 adalah masalah sederhana menemukan file "IMG" pada BootCD, menyalinnya ke direktori TFTPD server PXE dan menyalin entri menu ISOlinux ke menu PXElinux.
Mereka mengatakan "bicara 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 penyesuaian untuk pengaturan FOG, entri menu akan terlihat seperti:
MENU LABEL TestMemIV
BANTUAN TEKS
Menguji memori sistem dan memori pada kartu video Nvidia.
ENDTEXT
LINUX memdisk
INITRD howtogeek / utils / testmem4.img.gz
Walaupun ini adalah contoh file gambar floppy yang lengkap dari UBCD, sebagian besar program UBCD lainnya, menggunakan gambar dasar yang sama untuk mulai bekerja (fdubcd.img.gz) dan menggunakan parameter tambahan “ubcdcmd” untuk memulai program secara otomatis dari boot post CDROM. Ini berarti Anda tidak akan dapat mengubah sebagian besar utilitasnya menjadi jaringan yang dapat di-boot tanpa rekayasa balik yang besar. Meskipun rekayasa balik seperti itu mungkin dilakukan (seperti yang dapat dilihat di sini) dan merupakan latihan geek yang sangat baik, itu di luar cakupan panduan ini..
Dengan kata di atas, Anda sekarang memiliki alat untuk melakukan prosedur ini untuk diagnosa OEM esoterik atau utilitas pemutakhiran BIOS.
Maka, terkunci di luar Gerbang Darah dan melewati Hall of Fire, Valor menunggu Pahlawan Cahaya untuk bangun ...