Vrlo je lako provjeriti što se nalazi u initrd image-u, to je gzipana cpio arhiva:
Kod: Označi sve
drwxr-xr-x 2 root root 4096 Apr 23 21:44 bin
drwxr-xr-x 2 root root 4096 Apr 23 21:44 boot
-rw-r--r-- 1 root root 95418 Apr 23 21:44 bootsplash
drwxr-xr-x 2 root root 4096 Apr 23 21:44 config
drwxr-xr-x 2 root root 4096 Apr 23 21:44 dev
drwxr-xr-x 6 root root 4096 Apr 23 21:44 etc
-rwxr-xr-x 1 root root 2054 Apr 23 21:44 init
drwxr-xr-x 4 root root 4096 Apr 23 21:44 lib
drwxr-xr-x 2 root root 4096 Apr 23 21:44 lib64
-rw-r--r-- 1 root root 77 Apr 23 21:44 mkinitrd.config
drwxr-xr-x 2 root root 4096 Apr 23 21:44 proc
drwxr-xr-x 2 root root 4096 Apr 23 21:44 root
-rw-r--r-- 1 root root 3869 Apr 23 21:44 run_all.sh
drwxr-xr-x 2 root root 4096 Apr 23 21:44 sbin
drwxr-xr-x 2 root root 4096 Apr 23 21:44 sys
drwsrwxrwx 2 root root 4096 Apr 23 21:44 tmp
drwxr-xr-x 4 root root 4096 Apr 23 21:44 usr
drwxr-xr-x 5 root root 4096 Apr 23 21:44 var
Na sredini ispisa je init skripta koju spominjem.
Prilikom startanja računala, boot loader učitava u memoriju intrd file system iz initrd image-a, a zatim učitava kernel koji mounta taj file system. Initrd fs je kompletni mali file system i sadrži osnovne utility-e (shell, insmod ...) te
svoju init skriptu koja loada module potrebne za mountanje pravih file systema. Znači,
init skripta unutar initrd fs-a kontrolira loadanje modula i mountanje pravih file systema. Tek nakon toga kernel može pokrenuti pravi "sistemski" init.
Ja npr. mogu dodati Reiser u initrd, ali to ne znači da će taj modul mountati root fs, ako u init-u (onom od initrd fs-a) tako ne piše. Problem je da ja ne znam kako reći mkinitrdu da promijeni driver/modul koji mounta root file system. Mogu privremeno promijeniti /etc/fstab i onda pokrenuti mkinitrd.
A zašto mi to uopće treba?
Zato što sam kreirao Xen guesta na ext4 file sistemu, i onda ga pokušao kasnije otpakirati na Resier ili ext3. Naravno da nisam mogao pokrenuti sustav na Reiseru, iako je modul postojao u initrd image-u. Init od initrd fs-a je forsirao ext4.
ext3 sam pokrenuo, ali je lsmod izlistivao ext4 driver.