GNU/Linux >> Belajar Linux >  >> Linux

Mengapa pada beberapa sistem Linux, sistem file root muncul sebagai /dev/root bukan /dev/<real device node>di mtab?

Ini umumnya merupakan artefak menggunakan initramfs.

Dari dokumentasi kernel (https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt)

Apa itu rootfs?

Rootfs adalah turunan khusus dari ramfs (atau tmpfs, jika diaktifkan), yang selalu ada di sistem 2.6. Anda tidak dapat meng-unmount rootfs untuk kira-kira alasan yang sama Anda tidak dapat menghentikan proses init; daripada memiliki kode khusus untuk memeriksa dan menangani daftar kosong, lebih kecil dan sederhana bagi kernel untuk memastikan daftar tertentu tidak boleh kosong.

Sebagian besar sistem hanya me-mount sistem file lain melalui rootfs dan mengabaikannya. Jumlah ruang yang digunakan ramfs kosong sangat kecil.

Jadi rootfs adalah sistem file root yang dibuat untuk initramfs, dan tidak dapat di-unmount.

Sehubungan dengan /dev/root , saya kurang yakin tentang ini, tetapi jika saya ingat dengan benar /dev/root dibuat saat menggunakan initrd (tidak sama dengan initramfs).


Gentoo memiliki tambalan yang melakukan persis seperti ini (memastikan perangkat root asli ditampilkan). Anda dapat menemukannya di sini:https://lkml.org/lkml/2013/1/31/574


Di Linux, /dev/root , jika ada, adalah symlink ke perangkat aktual yang dibuat saat boot.

Anda bisa menggunakan readlink /dev/root atau cat /proc/cmdline untuk melihat root parameter kernel yang di-boot, dan dengan demikian mengetahui perangkat sebenarnya di baliknya.

Dari man dracut(8)

Namun, untuk melanjutkan booting yang sukses, tujuannya adalah untuk menemukan volume root Anda dan membuat symlink /dev/root yang mengarah ke sistem file.


Linux
  1. Cara membuat kata sandi acak di linux menggunakan /dev/random

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Apa itu file /dev/zero dan /dev/null di Linux?

  1. Mengapa Linux mencantumkan drive NVMe sebagai /dev/nvme0 bukan /dev/sda?

  2. gema atau cetak /dev/stdin /dev/stdout /dev/stderr

  3. Mengapa < atau > diperlukan untuk menggunakan /dev/tcp

  1. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Seberapa Portabel /dev/stdin, /dev/stdout Dan /dev/stderr?

  3. Perbedaan antara /dev/sda dan /dev/sda1