Sistem boot BSD dan Proses Inisialisasi

Terbit: Perbarui:
Tags


Dalam artikel ini, proses boot dan inisialisasi sistem BSD akan dibahas secara berurutan - dari mesin yang dinyalakan hingga prompt baris perintah. Mirip dengan bagaimana hal ini dilakukan untuk Linux dalam manuskrip terkenal Greg O'Keefe, From PowerUp To Bash - ide yang menjadi dasar karya ini.

Pembahasan ini didasarkan pada contoh DragonFlyBSD, tetapi hampir semua yang dijelaskan juga berlaku untuk FreeBSD, dan mungkin juga sistem BSD lainnya.

  1. Apa Itu Sistem Startup Proses startup sistem dibagi menjadi dua tahap, yang hanya saling terhubung secara tidak langsung - pemuatan dan inisialisasinya sendiri.

Dengan memuat sistem operasi, yang kami maksud adalah meluncurkan program khusus yang disebut citra kernel sistem (atau kernel) untuk dieksekusi. Citra kernel hampir merupakan berkas biner yang dapat dieksekusi biasa. Dan kekhususan peluncurannya hanya jika ada program lain yang diluncurkan di bawah kendali OS tertentu, yang membaca dari sistem berkas yang dianggap asli oleh OS ini, maka kernel harus diluncurkan seolah-olah dengan sendirinya, tanpa sistem operasi apa pun (karena kernel adalah sistem operasi), dan dari media yang tidak dikenal oleh sistem (karena kernel itu sendiri belum dimuat). Bukan kebetulan bahwa dalam literatur berbahasa Inggris ada metafora yang diterima secara umum untuk proses boot yang disebut bootstrapping, yang secara alegoris dapat diterjemahkan sebagai "menarik diri Anda dengan bootstrap." Dan meskipun dalam kehidupan nyata tidak semua orang berhasil dalam hal ini, di dunia sistem POSIX prosedur ini dilakukan secara teratur - dan, sebagai suatu peraturan, berhasil.

Citra kernel sistem berisi semua yang diperlukan untuk bootstrapping murni. Akan tetapi, ini hanya dapat dilakukan dengan cara ini dari media tanpa sistem berkas. Oleh karena itu, sejauh yang saya ketahui, pengaktifan kernel langsung hanya digunakan saat melakukan booting dari disket. Selama pengaktifan OS normal dari hard drive, beberapa kekuatan eksternal juga ikut serta dalam hal ini - program khusus yang disebut bootloader. Program ini memuat kernel sistem, bertanggung jawab untuk menentukan perangkat keras, memuat modul objek (modul kernel yang dapat dimuat), dan memasang sistem berkas root (dalam mode "hanya-baca"). Sementara itu, kernel memulai proses sistem (yaitu, tidak terkait dengan berkas yang dapat dieksekusi) yang mengelola memori virtual, buffer, halaman memori, dll., hingga ke swapper, dan setelah selesai - proses init "normal" pertama (yaitu, terkait dengan berkas yang dapat dieksekusi pada disk) (/sbin/init).

Setelah itu, sistem inisialisasi mulai bekerja. Perannya adalah memastikan, melalui skrip startup yang sesuai (juga dikenal sebagai skrip inisialisasi), pemasangan sistem berkas (dan pemasangan ulang root dalam mode "baca/tulis"), peluncuran layanan sistem utama, atau daemon, pemanggilan perintah untuk mendapatkan terminal (proses getty) dan otorisasi pengguna (login). Akhir dari startup sistem ditandai dengan undangan untuk otorisasi.

Secara visual, tahap boot dan inisialisasi berbeda dalam satu atau beberapa tampilan visual dari pesan yang ditampilkan. Dalam DragonFlyBSD, misalnya, pesan progres boot ditampilkan dalam karakter putih radikal, yang digantikan oleh karakter putih yang diredam pada tahap inisialisasi.

Pemuatan dan inisialisasi adalah hal pertama yang dilihat pengguna di OS mana pun. Namun, pengguna sistem yang sesuai dengan POSIX mendapatkan kesenangan ini jauh lebih jarang daripada "jendela". Mode operasi normal mesin Unix rumahan adalah menyalakannya di pagi hari dan mematikannya di malam hari. (Namun, setiap orang memiliki ide mereka sendiri tentang "pagi" dan "sore"). Dan mesin Unix yang berfungsi tidak boleh dimatikan sama sekali - sampai rusak secara fisik. Dan kebutuhan untuk me-restart sistem saat bekerja di Linux atau BSD sangat jarang muncul. Sebenarnya, hanya setelah membangun ulang dan menginstal ulang kernel baru (atau memindahkan partisi root - tetapi ini sudah merupakan kasus yang luar biasa) - dalam semua kasus konfigurasi ulang sistem lainnya, Anda dapat melakukannya tanpanya.

Jadi, apa yang menjadi perhatian pengguna tentang bagaimana sistem melakukan booting dan berapa lama waktu yang dibutuhkan? Namun, terkadang beberapa tindakan diperlukan untuk mengonfigurasi kedua tahap proses ini. Karena saat sistem melakukan booting, tidak hanya layar booting dan mungkin menu dengan opsi booting yang ditampilkan, tetapi juga modul kernel yang sesuai dengan perangkat keras yang tersedia dimuat, sistem berkas dipasang, skrip inisialisasi dimulai, terminal virtual dibuka, dan seterusnya. Tentu saja, dari semua tindakan ini, hanya pemuatan kernel yang sebenarnya yang mutlak diperlukan; semua hal lainnya dapat dilakukan nanti. Namun, bukankah lebih baik mengonfigurasi sistem sehingga segera setelah prosedur booting selesai, Anda mendapatkan sistem yang sepenuhnya siap digunakan, daripada harus membawanya ke kondisi ini secara manual nanti?.

Selain itu, memahami proses pemuatan dan inisialisasi tidak akan berlebihan jika harus menghentikan proses ini secara manual. Dan kebutuhan untuk intervensi semacam itu - sayangnya - muncul dari waktu ke waktu dalam situasi darurat…

Jadi, mari kita bahas tahap-tahap utama memulai dan menginisialisasi DragonFly dan melihat apa yang perlu dikonfigurasi di dalamnya, serta di mana dan bagaimana (dan yang terpenting, mengapa) Anda dapat mengganggunya.

2. Mengenai booting dan bootloader

Sebaiknya pelajari startup sistem dari tahap pertama, yaitu pemuatan yang sebenarnya. Seperti yang telah disebutkan, tahap-tahap ini dikontrol oleh program khusus, yang dalam bahasa Rusia disebut bootloader. Meskipun dalam bahasa Inggris ada dua istilah yang digunakan, yaitu loader dan boot manager (yang, seperti yang akan kita lihat seiring waktu, adalah hal yang sedikit berbeda, tetapi sekarang ini tidak penting).

Faktanya, setiap bootloader mencakup dua atau bahkan tiga bagian yang relatif independen, meskipun didistribusikan sebagai satu paket, seperti Lilo atau GRUB. Untuk memverifikasi ini, mari kita bayangkan bagaimana sebuah mesin melakukan booting pada level "perangkat keras", jadi untuk berbicara (yaitu komputer pribadi yang kompatibel dengan Intel, pada arsitektur lain semuanya sedikit berbeda).

Pertama-tama, setelah menyalakan daya, program yang di-flash ke ROM komputer (BIOS) diluncurkan. Ia memeriksa perangkat keras, lalu menemukan drive yang terpasang dalam pengaturan BIOS sebagai perangkat boot pertama (lebih spesifiknya, hard drive), di dalamnya - blok fisik pertama yang memuat apa yang disebut master boot record (MBR - Master Boot Record).

Konten MBR, pertama-tama, adalah tabel partisi disk - empat partisi identik, yang salah satunya pernah kita instal DragonFly. Dan kedua, beberapa kode yang mengendalikan BIOS setelah operasinya selesai. Dalam MBR standar, yang ditulis ke hard drive yang "baru diinstal" atau dipulihkan setelah perintah DOS FDISK /mbr, kode ini hanya dapat menemukan partisi fisik pertama pada disk (partisi primer) dan mentransfer kontrol ke sektor boot-nya. Yang cukup untuk mem-boot sistem operasi seperti DOS atau Windows 9X/ME dari partisi pertama (atau satu-satunya). Namun dalam kasus lain, itu jelas tidak cukup - misalnya, jika beberapa sistem operasi diinstal pada satu disk, yang tentu saja tidak dapat dimuat dalam satu partisi.

Oleh karena itu, setiap bootloader harus menyertakan program yang ditulis dalam MBR. Karena volume yang terakhir hanya 512 KB (ukuran blok disk fisik), yang sebagian sudah ditempati oleh tabel partisi, tidak mungkin untuk menyertakan fungsi yang sangat kaya dalam program ini. Biasanya, ia mampu mengidentifikasi semua partisi primer yang digunakan, mencantumkannya, dan memungkinkan pengguna memilih partisi untuk melakukan boot, lalu mentransfer kontrol ke sektor boot dari partisi yang dipilih.

Seperti MBR, sektor boot partisi (Boot Record, bukan lagi Master!) berisi informasi tentang tata letaknya (Label Disk), tergantung pada skema yang digunakan dalam sistem operasi tertentu dan kode kontrol yang menggantikan program yang ditulis dalam MBR. Dan kode ini adalah komponen kedua dari bootloader. Benar, kemampuannya juga tidak bisa kaya - lagipula, ukuran sektor boot partisi sama 512 KB. Dan karena itu, ia diberi satu fungsi: untuk mentransfer kontrol ke program yang terletak di luar sektor boot. Yang, pada kenyataannya, harus mengenali partisi root dari sistem operasi dan sistem file yang dibawanya, setelah itu, secara langsung atau tidak langsung, ia memuat kernelnya.

Mudah ditebak bahwa dua komponen pertama dari bootloader, pada dasarnya, tidak ada hubungannya dengan sistem operasi apa pun dan sama sekali bukan bagian dari sistem file. Tetapi dengan yang ketiga ada beberapa opsi. Ia dapat menjadi bagian dari hierarki berkas sistem operasi yang dapat di-boot, seperti Lilo, atau mewakili sesuatu seperti mini-OS independen, seperti GRUB (bukan kebetulan bahwa sangat disarankan untuk menginstalnya pada partisi disknya sendiri, tidak dipasang secara default di root sistem operasi yang di-boot). Dan bagaimana dengan perangkat boot pahlawan kita, DragonFlyBSD?.

3. Tahapan Booting

Dalam sistem operasi ini, program yang umum untuk semua sistem operasi dari keluarga BSD digunakan untuk mem-boot sistem. Program ini memiliki namanya sendiri, dan, yang menarik, nama ini adalah BSD Loader (meskipun, seperti yang akan dijelaskan nanti, ini agak sembarangan). Saya harus mengakui bahwa selama beberapa tahun berkomunikasi dengan FreeBSD dan sesekali berkenalan dengan saudara-saudaranya (OpenBSD dan bahkan NetBSD), entah bagaimana saya tidak pernah punya alasan untuk mencari tahu struktur bootloader mereka. Yah, ia memuat sistem asli dengan sempurna dan luar biasa (misalnya, FreeBSD). Ia juga memuat sistem BSD lainnya, bahkan lebih baik. Fakta bahwa ia dapat memuat Linux tanpa usaha apa pun adalah hal yang hebat. Dan fakta bahwa ia juga dapat memuat Windows - ini hanyalah aplikasi gratis……

Bagaimana saya bisa tetap dalam ketidaktahuan yang membahagiakan jika, dalam beberapa hal, sehubungan dengan menginstal FreeBSD pada laptop Toshiba, saya tidak perlu menggali sedikit dengan opsi BSD Loader. Dan kemudian ternyata ini adalah program dengan kemampuan interaktif yang hebat, dan sebagai tambahan ia memiliki kemungkinan untuk dikonfigurasi. Tentu saja, ini tidak dapat dibandingkan dengan GRUB, tetapi jika Anda tidak bereksperimen dengan beberapa sistem operasi pada beberapa hard drive, fungsi pemuatan sudah lebih dari cukup. Yang akan saya coba tunjukkan di bawah ini menggunakan contoh sistem operasi DragonFlyBSD. Namun, hampir semua yang dikatakan berlaku untuk semua sistem BSD lainnya (dan untuk FreeBSD, dan tanpa syarat "hampir").

Fitur utama bootloader DragonFly (meskipun hampir semua yang disebutkan berlaku untuk semua sistem BSD lainnya, dan untuk FreeBSD, tanpa klausa "hampir"), yang membedakannya dari Lilo dan, pada tingkat yang lebih rendah, dari GRUB, adalah bahwa ia tidak menyamarkan berbagai komponennya, termasuk empat program (hampir) independen.Bagian pertama dari bootloader (yang disebut boot0) adalah program yang ditulis selama instalasi sistem di sektor boot disk tempat mesin di-boot sesuai dengan pengaturan BIOS. Biasanya ini adalah Master pada saluran IDE pertama (kita tidak akan berbicara tentang disk SCSI di sini), tetapi mungkin ada variasi (misalnya, jika ada RAID ATA perangkat keras atau pengontrol ATA tambahan).

Program ini bertanggung jawab atas tahap pertama fase boot, yang membaca tabel partisi dari disk primer, menampilkan daftarnya (jika ada lebih dari satu partisi), menunggu beberapa saat hingga pengguna memilih (secara default, partisi yang dipilih pada sesi sebelumnya akan dapat di-boot) dan setelah itu (atau setelah periode tunggu yang tetap) mentransfer kontrol ke kode yang ditulis di sektor boot dari partisi yang dipilih (atau default). Partisi dipilih dengan menekan tombol F1 - F4. Jika ada dua disk, menekan tombol F5 akan mentransfer kontrol ke sektor boot dari disk kedua, dan kemudian peristiwa akan mengalir tergantung pada apa yang tertulis di dalamnya: disk fisik kedua boot0it sendiri tidak dapat membaca partisi.

Daftar partisi yang akan dipilih menyertakan nama-nama partisi sesuai dengan pengenal jenis sistem berkas, misalnya:

  • F1 : DOS
  • F2 : Linux
  • F3 : BSD
  • F5 : Drive 1

Hingga saat ini, BSD Loader tidak dapat mengenali partisi logis dalam Extended DOS atau mem-boot sistem operasi apa pun dari partisi tersebut. Namun, situasinya tampaknya telah berubah sekarang - ini dapat disimpulkan dari laporan tentang kemungkinan menginstal DragonFlyBSD pada partisi extended (satu-satunya sistem BSD yang mampu melakukan ini, sejauh yang saya ketahui). Tetapi apakah mungkin membayangkan menginstal sistem tanpa kemungkinan mem-boot-nya dengan alat standar?

Pada prinsipnya, keberadaan bagian pertama dari bootloader BSD tidaklah wajib - ia dapat dengan mudah digantikan oleh bootloader Linux (Lilo yang sama, yang mentransfer kontrol ke sektor boot segmen BSD "sepanjang rantai") atau GRUB multisistem, yang dapat bekerja secara langsung dengan file sistem dan memuat kernel dari beberapa sistem operasi.

Bagian kedua (boot1) terletak di sektor boot partisi primer yang berisi sistem BSD (segmen BSD). Artinya, boot0 dan boot1 terletak tidak hanya di luar sistem file, tetapi juga, pada kenyataannya, di luar segmen BSD itu sendiri. Bagian ketiga (boot2) sudah ada di dalam segmen, tetapi tidak termasuk dalam bagian logis mana pun.

Bagian kedua dan ketiga dari bootloader pada dasarnya adalah satu program, yang hanya dipisahkan oleh batasan ukuran sektor boot partisi (512 byte). Jadi, tugas boot1 hanyalah mengenali segmen BSD, menemukannya di boot2, dan mentransfer kontrol ke sana. Dan yang terakhir berkewajiban, setelah menunggu beberapa saat, untuk mengenali sistem berkas root, menemukannya, dan menjalankan berkas biner yang dapat dieksekusi: /boot/loader, yang membentuk bagian keempat dari bootloader; secara tegas, istilah BSD loader hanya merujuk pada program ini.

Jadi, dapat dilihat bahwa tiga bagian pertama dari bootloader BSD (boot0, boot1, dan boot2) berada di luar sistem berkas dari sistem operasi BSD yang terpasang. Kita hanya dapat mengaksesnya dengan meluncurkan loader - berkas yang dapat dieksekusi biasa yang ditempatkan di direktori /boot khusus dari sistem berkas root.

Memang benar bahwa di direktori /boot (ini adalah lokasi "default" loader), bersama dengan file yang dapat dieksekusi, Anda juga dapat melihat file dengan nama boot0, boot1, dan boot2. Namun, file-file ini hanyalah salinan kode terkait yang terletak (dan dieksekusi) di luar sistem file BSD. Tujuannya adalah untuk memulihkan kemampuan boot setelah situasi darurat.

Tugas loader adalah memuat kernel dan sekumpulan modul default dengan cepat, setelah itu menampilkan menu dengan logo proyek, yang dapat dikenali oleh capung (menggantikan iblis dengan garpu rumput dari FreeBSD). Menu tersebut berisi item-item berikut:

  • Boot DragonFly [default] : boot kernel normal dengan semua modul yang diperlukan (siapa dan di mana menginstalnya akan dijelaskan lebih lanjut nanti) memasang sistem berkas dan mengeksekusi skrip startup yang ditentukan.
  • Boot DragonFly with ACPI disabled : hal yang sama, hanya dengan modul acpi dinonaktifkan, yang terkadang mungkin diperlukan pada beberapa laptop.
  • Boot DragonFly in Safe Mode : boot dalam mode aman, yaitu tanpa menghubungkan modul.
  • Boot DragonFly in single user mode : boot dalam mode pengguna tunggal, di mana hanya sistem berkas root yang dipasang (dan hanya untuk membaca), dan tahap inisialisasi diabaikan.
  • Boot DragonFly with verbose logging : boot normal, tetapi dengan pesan yang bertele-tele.
  • Escape to loader prompt : keluar ke baris perintah bootloader.
  • Reboot : Baiklah, kami mengetahui hal ini seperti punggung tangan kami, hanya saja lebih baik.

Jika Anda tidak membuat pilihan apa pun, opsi default akan mulai dimuat dalam sepuluh detik. Untuk menghindari hal ini (dan memberi Anda lebih banyak waktu untuk berpikir), cukup tekan bilah spasi - hitungan mundur akan berhenti dan tidak dimuat hingga Anda membuat pilihan yang jelas.

Setelah pemilihan atau kedaluwarsa undang-undang pembatasan, proses deteksi perangkat keras yang agak lama dimulai, di mana banyak pesan kernel, berbeda dari pesan normal, ditampilkan di layar dalam simbol "warna" putih terang. Pesan-pesan ini sangat menarik, tetapi tidak mudah dilihat. Namun, ini tidak menakutkan - Anda dapat melihatnya nanti dengan perintah dmesg. Setelah ini, sistem berkas root dipasang dan proses boot dimulai darinya (menggunakan berkas yang dapat dieksekusi biasa /sbin/init), dan skrip startup diproses. Untuk menandakan hal ini, warna putih terang dari pesan kernel berubah menjadi abu-abu biasa - tahap boot yang kita minati hari ini telah berakhir.

4. Kontrol interaktif dari proses boot

Pertanyaan yang muncul adalah: dapatkah pengguna memengaruhi proses boot? Jawabannya adalah ya. Selama pengoperasian sistem boot, pengguna memiliki kebebasan untuk memilih tiga kali: memilih partisi boot pada tahap boot0 awal, memilih kontrol interaktif pada tahap boot2, dan memilih mode boot segera setelah memulai loader. Dan dalam semua kasus ini, pengguna dapat melakukan intervensi dalam proses secara manual. Mengapa? Ini adalah pertanyaan lain, dan saya harap jawabannya akan jelas dalam presentasi berikut.

Dengan pilihan partisi boot, semuanya menjadi jelas: memungkinkan Anda untuk mem-boot salah satu sistem operasi, jika beberapa di antaranya diinstal pada mesin tertentu. Namun pada tahap boot2, dimungkinkan untuk menghentikan eksekusinya, atau lebih tepatnya, mencegah peluncurannya oleh loader. Untuk melakukan ini, dalam jeda antara memilih untuk mem-boot dari partisi BSD dan munculnya pesan tentang memuat kernel dan modul (jeda ini ditunjukkan dengan munculnya simbol berkedip di layar _), Anda perlu menekan tombol apa saja. Sebagai tanggapan akan ada pesan seperti berikut:

>> BSD/i386 BOOT
 Default: 0:ad(0,a)/boot/loader
 boot:

Dan dalam pesan tersebut, Anda dapat menentukan opsi boot selain yang default. Misalnya, Anda dapat melakukan boot langsung dari berkas citra kernel sistem. Ini mungkin masuk akal setelah membangun ulang kernel, jika kernel yang baru ternyata dikonfigurasi secara tidak tepat untuk melakukan boot (tetapi, sayangnya, cukup untuk dikompilasi).

Untuk melakukan ini, Anda perlu membuat jalur ke kernel lama dalam citra dan kemiripan versi default. Yaitu, tentukan:

  • nomor disk pada mesin sesuai dengan BIOS (0- yang pertama dari yang tersedia, 1- yang kedua, dan seterusnya, terlepas dari urutan koneksi);
  • antarmukanya - dalam contoh adit melambangkan disk ATA (untuk disk SCSI akan menjadi da, untuk disket - fd);
  • nomor pada saluran IDE (0 - master, 1 - slave);
  • partisi dalam pengertian yang digunakan oleh Label BSD, yaitu, bagian dari irisan yang dicadangkan untuk sistem berkas root BSD ( a; Nama berkas citra kernel lama adalah /kernel.old).

Jika ada beberapa partisi primer dengan tipe yang berbeda pada disk, maka partisi tipe non-BSD akan dilewati, dan huruf a (jelas, citra kernel hanya dapat berada pada sistem berkas root) akan merujuk ke subbagian pertama dari segmen dengan pengenal 165 (bahkan jika itu adalah yang keempat pada disk).

Jika Anda tidak yakin dengan nama berkas yang tepat (dan mungkin ada beberapa; sebelum menginstal setiap kernel baru yang belum diuji, disarankan untuk membuat salinan dari yang lama, yang diketahui berfungsi), Anda dapat memasukkan tanda tanya pada baris perintah, yang jawabannya akan menjadi daftar direktori root (tetapi tidak lebih dalam: boot2 tidak akan dapat melihat konten subdirektori, bahkan dalam sistem berkas yang sama, pada tahap ini).

Namun, prosedur yang sama - memuat kernel lama - dapat (dan harus, karena (jauh lebih sederhana) dilakukan melalui loader, dengan mempertimbangkan kemampuan interaktif yang sedang kita bahas sekarang.

Menu loader menawarkan pilihan mode yang cukup untuk situasi standar, tetapi jelas tidak mencakup semua mode non-standar (untuk itulah mode tersebut). Secara khusus, opsi untuk memuat kernel lama tidak disediakan dalam menu. Untungnya, item menu kedua terakhir memecahkan masalah ini (dan banyak lainnya).

Jadi, dengan memilih item menu keenam - Escape to loader prompt - kita menemukan diri kita dalam lingkungan penerjemah perintah loader. Ia memiliki antarmuka seperti shell - perintah dengan opsi dan argumennya dimasukkan setelah prompt, yang terlihat seperti,

OK

Dalam hal kemudahan kerja interaktif, GRUB tentu saja bukan salah satunya: ia tidak memiliki pelengkapan otomatis, tidak ada riwayat perintah, kemungkinan penyuntingan terbatas pada tombol Backspaceloader. Namun, ia menjalankan fungsi utamanya dengan baik - memasukkan dan menjalankan perintah bawaan.

Selain itu, ada cukup banyak perintah seperti itu - daftar lengkapnya dapat diperoleh dengan memasukkan tanda tanya pada baris perintah. Bantuan juga tersedia - perintah bantuan akan memberikan petunjuk singkat help??? - informasi lebih rinci tentang penggunaan argumen perintah. Namun, sintaks perintah juga mirip dengan shell, jadi seharusnya tidak ada kesulitan dengan ini.

Perintah bawaan loader dapat dibagi menjadi tiga bagian sesuai dengan tujuannya:

  • untuk memperoleh informasi.
  • untuk mengonfigurasi bootloader.
  • sebenarnya untuk mengelola proses pemuatan.

Dari kelompok perintah pertama, kami menyoroti yang berikut: ls, lsdev, lsmod, show, more. Yang pertama dimaksudkan untuk melihat sistem berkas root dan subdirektorinya, meskipun hanya yang tidak terletak di subbagian terpisah. Akan tetapi, karena semua berkas yang diperlukan untuk memuat terletak di subdirektori root itu sendiri (di /boot, /dev, /modules), batasan ini tidak signifikan. Varian ls -l dari perintah tersebut menampilkan daftar berkas (dan direktori) yang menunjukkan ukurannya; tanpa opsi ini, direktori hanya ditandai dengan huruf.

Perintah lsdev mencantumkan perangkat disk yang ada di mesin, partisi primer dan subpartisinya (yang terakhir hanya untuk partisi yang ditandai menurut aturan label BSD). Opsi -v memberikan detail keluaran.

Perintah lsmod menyediakan tampilan modul loader yang dimuat sebelum menu (atau baris perintah) muncul. Seperti pada kasus sebelumnya, ada opsi verbose - -v.

Perintah show melakukan fungsi yang sama, tetapi berkenaan dengan variabel loader. Tanpa argumen, perintah ini mencetak nilai dari semua variabel yang ditentukan. Jika nama variabel ditentukan sebagai argumen, hanya nilainya yang ditampilkan. Beberapa argumen, dipisahkan dengan titik koma, diperbolehkan.

Nah, perintah ini melakukan lebih banyak fungsi yang sama seperti namanya di antara utilitas Unix. Perintah ini memungkinkan melihat isi file teks, yaitu, berada di penerjemah perintah loader, kita dapat membiasakan diri dengan pengaturan yang penting untuk pemuatan (dan lainnya).

Perintah konfigurasi memungkinkan Anda untuk menentukan atau menghapus variabel bootloader, memuat atau menghapus modul kernel. Seperti yang telah disebutkan, kernel itu sendiri dengan serangkaian modul dan variabel yang telah ditetapkan sebelumnya dimuat sebelum menu loader dan command interpreter. Jadi, dengan menggunakan perintah yang sesuai, rangkaian yang telah ditetapkan sebelumnya ini dapat sedikit disesuaikan (atau diubah sepenuhnya). Ini mungkin diperlukan jika konfigurasi kernel default tidak dimuat karena suatu alasan (kasus yang umum adalah konflik antara sistem penghemat daya laptop dan modul sistem ACPI), untuk tujuan debugging, atau hanya untuk memuaskan rasa ingin tahu.

Pertama, mari kita lihat perintah manajemen modul. Ini adalah sepasang perintah load untuk membongkar dan menghapus modul. Yang pertama digunakan dengan argumen, yang dapat dicari (menggunakan ls) di direktori /modules jika perlu; nama dalam argumen diberikan tanpa sufiks *.ko. Perintah unload dengan argumen serupa akan menghapus modul yang ditentukan, tanpa argumen; itu akan menghapus semua modul sepenuhnya, memungkinkan Anda untuk mulai mengonfigurasi dari awal.