Cara Menyediakan Cakera Utiliti Bootable Network Using PXE
Kami telah menunjukkan kepada anda cara rangkaian boot boot Ubuntu LiveCD. Dalam artikel ini, kami akan menunjukkan bagaimana untuk membuat beberapa utiliti rangkaian boot yang lain, yang akan memberi anda pengetahuan untuk mereplikasi prosedur untuk utiliti lain yang mungkin anda gunakan.
Catatan: Artikel ini tidak ditujukan kepada para pemula, walaupun anda boleh terus membaca!
Imej oleh Steve Jurvetson
Gambaran keseluruhan
Panduan ini bertujuan memberi anda alat yang membolehkan anda menukar utiliti, menjadi PXEable. Walaupun malangnya, tidak mungkin untuk menukar apa-apa alat di bawah matahari, kami tidak akan menjadi geeks jika kami tidak mencuba sekurang-kurangnya.
Seperti yang disebutkan pada panduan "Cara Rangkaian Boot (PXE) Ubuntu LiveCD", Jika anda belum menggunakan Ubuntu sebagai nombor satu anda "pergi ke" untuk menyelesaikan masalah, diagnostik dan alat penyelamatan prosedur, apa yang anda sedang menunggu?
Dengan itu, seseorang perlu mengakui bahawa terdapat perkara-perkara yang tidak dapat dilakukan dalam Ubuntu LiveCD (seperti peningkatan BIOS), atau bahawa anda telah menggunakan alat yang berbeza yang anda suka dan lebih suka terus menggunakan apa pun sebabnya.
Cadangan, Andaian dan Prasyarat
- Diandaikan bahawa anda telah menyediakan pelayan FOG seperti yang dijelaskan dalam "Apa itu Booting Network (PXE) dan Bagaimana Anda Boleh Menggunakannya?".
- Anda akan melihat program "VIM" yang digunakan sebagai editor, ini kerana ia banyak didapati di platform Linux. Anda boleh menggunakan editor lain yang anda suka.
- CD Boot Ultimate (UBCD) digunakan sebagai contoh, kerana tidak seperti beberapa koleksi utiliti lain, ia adalah percuma untuk memuat turun dan program-program yang dibundel itu bebas untuk digunakan.
Mengapa tidak hanya menggunakan ISO melebihi PXE?
Ini sering menjadi soalan pertama apabila bercakap tentang PXEing. Jawapan ringkasnya ialah sementara secara teknikal adalah mungkin untuk mengambil imej ISO dan PXE kepada mesin klien, hampir selalu kandungan ISO tersebut, akan mengharapkan untuk mewujudkan manifestasi fizikal itu sendiri dalam pemacu CDROM fizikal. Oleh itu, apa yang pernah menjadi kandungan ISO tersebut mungkin, ia akan cuba mencari fail "post-boot-sector" dalam pemacu CDROM fizikal mesin klien, tidak akan menemuinya dan gagal untuk boot.
Dua cara untuk mengatasi masalah ini ialah:
- Buang ISO dan masukkannya ke pemacu CDROM mesin pelanggan - Walaupun mudah, Tidak menggunakan CD, betul-betul apa yang kita cuba elakkan ...
- Buka ISO dan ubah cara program berfungsi di dalamnya, supaya menggunakan CDROM pemandu yang tahu bagaimana untuk mencari ISO dalam RAM - Cukup kompleks, dan berbeza untuk setiap jenis program bootable. I.E. bukan prosedur yang sama untuk Linux, WinPE atau UBCD untuk menyebut beberapa.
Memandangkan kedua-dua kekalahan di atas matlamat "hanya menggunakan ISO", inilah sebabnya kami tidak mengesyorkan untuk mengejar usaha ini.
Kaedah Kernel
Walaupun sangat jarang, kadang-kadang program yang cuba anda butuhkan hanya memerlukan Kernel berfungsi. Satu contoh tipikal ialah "memtest86 +". Memtest dilengkapi dengan kebanyakan CD pemasangan distribusi Linux dan dengan FOG. Oleh kerana Memtest hanya perlu berkomunikasi dengan keupayaan yang paling asas perkakasan yang diuji, I.E. memori (RAM), dan boleh berfungsi dengan baik walaupun tidak menyokong sepenuhnya perkakasan yang dijalankan (IE ini akan menguji memori, walaupun ia tidak tahu jenisnya, kelajuan & lain-lain) tidak memerlukan apa-apa lain dan boleh bekerja sepenuhnya secara autonomi.
Kemasukan menu PXE untuk memtest mungkin kelihatan semudah:
LABEL Run Memtest86+
kabus kernel / memtest / memtest
tambah -
Dalam contoh ini, "LABEL Run Memtest86 +" menetapkan nama entri, "kabus kernel / memtest / memtest" memberitahu PXElinux di mana mengambil kernel yang akan dihantar kepada klien dari dan "append -" memberitahu PXElinux untuk mengabaikan pilihan boot tambahan dari * warisan.
* Nota: bergantung kepada persediaan anda, ini mungkin tidak diperlukan dan sebenarnya dalam FOG ia tidak digunakan.
Kaedah Kernel + Initrd
Kaedah ini adalah yang paling biasa digunakan dan tersebar luas untuk beberapa sebab:
- Banyak utiliti pada masa kini datang dari dunia Linux.
- Kerana Linux mempunyai sokongan perkakasan yang hebat dan bebas untuk digunakan, semakin banyak syarikat menyedari bahawa Linux adalah pangkalan yang sangat baik untuk membina program proprietari mereka pada.
Mari gunakan utiliti CPUstress UBCD sebagai contoh.
Pada struktur fail UBCD, utiliti ini terletak di direktori "ubcd / boot / cpustress". Fail yang kami cari, disebut "bzImage" yang merupakan "kernel", dan "initrd.gz" yang merupakan "cakera ram awal". Sekiranya anda menggunakan persediaan FOG yang kami buat, kami mencadangkan anda menyalin direktori di bawah "/ tftpboot / howtogeek / utils". Sebaik sahaja itu selesai, edit fail "/tftpboot/howtogeek/menus/utils.cfg" dan tambahkan kepadanya entri butiran yang terdapat pada entri menu UBCD. ini boleh didapati dalam "ubcd / menus / syslinux / cpu.cfg". Dengan pelarasan untuk persediaan FOG, entri menu harus kelihatan seperti:
MENU LABEL StressCPU V2.0 (memerlukan CPU dengan SSE)
TUKAR BANTUAN
Uji-ujian CPU anda untuk memastikan bahawa anda tidak mengalami terlalu panas
masalah. Memerlukan CPU x86 yang dilengkapi SSE. Melaksanakan versi khas
Gromacs innerloops yang menggabungkan SSE dan arahan perhimpunan biasa untuk memanaskan
CPU anda sebanyak mungkin.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
LAMPIRAN root = / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2
Di mana:
- LABEL MENU - menetapkan nama penyertaan
- TEXT HELP - Ini arahan pilihan, memberikan bantuan teks yang akan ditunjukkan dalam menu untuk memberikan maklumat mengenai entri yang dipilih.
- KERNEL - Menentukan lokasi fail "kernel" dalam direktori TFTPD.
- INITRD - sama seperti di atas hanya untuk fail "initrd".
- LAMPIRAN - Menentukan parameter tambahan yang perlu dihantar kepada program boot.
Beberapa perkara yang perlu diperhatikan ialah:
- Geeks tegar akan mendapati bahawa kami menggantikan arahan asal "LINUX" dengan "KERNEL". Ini kerana: A. ini menjadikan contoh lebih mudah dibaca. B. Dalam contoh ini ia tidak begitu penting.
Dengan itu, biasanya apabila arahan "LINUX" digunakan, lebih baik untuk meninggalkannya seperti itu kerana ia memberitahu pxelinux / syslinux bahawa kita tidak menggunakan hanya kernel tetapi satu Linux. - Kami sengaja mengambil arahan "tenang" daripada parameter yang ditambah. Ini disebabkan oleh perubahan dalam bagaimana Syslinux mengendalikan parameter "tenang" dalam versi terkini.
- Adalah mungkin untuk menukar operasi program "StressCPU", dengan hanya mengubah parameter yang ditambahkan "ubcdcmd". Jadi untuk menggunakan fungsi lain, kita hanya perlu menyalin entri dan menggantikan "stresscpu2" menjadi: cpuinfo, cpuburn atau mprime24.
Walaupun ini adalah contoh yang sangat mudah, ia sepatutnya cukup untuk membuat anda pergi.
Kaedah Kernel + Initrd + NFS
Kaedah ini, yang kami gunakan pada "Bagaimana Cara Rangkaian Boot (PXE) Panduan Ubuntu LiveCD". Kaedah ini dibina pada satu sebelumnya dan menggunakan fakta bahawa beberapa pengedaran Linux menyokong "sistem fail root" mereka yang dipasang dari NFS. Panduan Ubuntu adalah contoh yang sangat baik, tetapi yakinlah bahawa kami sudah mempunyai satu lagi yang dirancang untuk masa terdekat. "Pastikan mata anda terbuka untuk Cendawan Hitam".
Kaedah MEMDISK
MEMDISK adalah utiliti yang diedarkan dengan pakej Syslinux. Tujuan utiliti ini adalah untuk membolehkan anda meniru "cakera" (terutamanya merujuk kepada cakera) menggunakan imej itu. Cara utiliti ini berfungsi, adalah untuk menyambung ke lokasi di RAM yang menentukan bagaimana untuk berkomunikasi dengan pemacu denyar (A.K.A. Handler interrupt) dan menunjuk ke lokasi baru yang dikendalikan oleh program MEMDISK. Dengan kaedah ini, "kernel" adalah utiliti MEMDISK dan "initrd" adalah fail imej (fail .flv)..
Satu perkara yang perlu diperhatikan ialah, FOG datang dengan versi "memdisk" yang serasi dengan versi pxelinux.0 yang digunakannya. Oleh itu, disyorkan untuk tidak menyalin fail "memdisk" yang mengiringi fail "img" dari sumbernya.
Oleh kerana kaedah ini sudah digunakan secara liar, walaupun untuk kegunaan biasa dan BootCDs, kebanyakan masa ia adalah satu perkara yang mudah untuk mencari fail "IMG" pada BootCD, menyalinnya ke direktori TFTPD pelayan PXE dan menyalin entri menu ISOlinux ke menu PXElinux.
Mereka berkata "bercakap murah" jadi mari lihat bagaimana kita boleh menyesuaikan salah satu utiliti yang menggunakan kaedah MEMDISK dari UBCD, untuk bekerja dari PXE.
Utiliti TestMemIV, boleh didapati di struktur fail UBCD di "ubcd / images / testmem4.img.gz". Seperti yang kita sudah mempunyai utiliti cakera memdisk, kita hanya perlu menyalin fail "img" ke direktori "howtogeek / utils /". Dengan pelarasan untuk persediaan FOG, entri menu harus kelihatan seperti:
TestMemIV LABA MENU
TUKAR BANTUAN
Menguji memori sistem dan ingatan pada kad video Nvidia.
ENDTEXT
Memindai LINUX
INITRD howtogeek / utils / testmem4.img.gz
Walaupun ini adalah contoh fail imej floppy diri dari UBCD, kebanyakan program UBCD yang lain, gunakan imej asas yang sama untuk mula berfungsi (fdubcd.img.gz) dan gunakan parameter yang ditambahkan "ubcdcmd" untuk autostart sebuah program dari boot CDROM siaran. Ini bermakna anda tidak dapat menukar kebanyakan utiliti mereka untuk menjadi bootable rangkaian tanpa beberapa kejuruteraan terbalik utama. Walaupun kejuruteraan terbalik itu mungkin (seperti yang dapat dilihat di sini) dan merupakan latihan geek yang sangat baik, ia berada di luar skop panduan ini.
Dengan kata-kata di atas, anda kini mempunyai alat untuk melaksanakan prosedur ini untuk utiliti peningkatan OEM diagnostik atau BIOS esoterik.
Dan sebagainya, terkunci di luar Gerbang Darah dan melewati Balai Api, Valor menanti Pahlawan Cahaya untuk membangkitkan ...