titkosított fs, boot

Fórumok

Sziasztok!

Egy olyan rendszert próbálok összehozni, ami egy cryptos partícióról bootol, s mindezt úgy, hogy az egész egy usb (kulcs) deviceről indul.

Addig eljutottam, hogy a kulcs a boot után szépen felhúzza a cryptot, és be is mountolja egy könyvtárba, pivot_root is megvan, de valahogy az init nem akar lefutni, illetve kernel panicot kapok.

Az initrd- ben lévő linuxrc idevágó részei (azutána, hogy felhúzta a cryptot, és bemountolta a /new-root/ könyvtárba):

/bin/mount $loopdev /new-root/ -o rw -n;
cd /new-root/
mount --move /proc ./proc -n;
mount --move /sys ./sys -n;
/sbin/pivot_root . old_root;
#exec chroot . /sbin/init 2 < dev/console > dev/console - ez elvileg nem is kellene.

A kulcson (az egyetlen rajta lévő partíción) csak egy boot könyvtár szerepel a kernellel, az initrd- vel, és a grubhoz szükséges dolgokkal. Az idevágó menu.lst rész így néz ki:

title Debian GNU/Linux, kernel 2.6.15(sajat forgatott, mkinitrd)
root (hd0,0)
kernel /boot/2.6.15 root=/dev/sda6 rw ### mit kellene a root= helyere irni? Ez igy biztos nem jo.
initrd /boot/initrd-2.6.15-uj
savedefault
boot

A crypto a /dev/hda6- on szerepel, ha a kulcsról bootolok.

A pivot_root után elvileg elindul az init, de néhány másodperc után ezt kapom:
init: timeout opening/writing control channel: /dev/initctl
Majd még 10 másodperc múlva a szokásos kernel panic. (cannot open root device "sda6", stb.
A kernelbe fixen bele van forgatva azt ext3 támogatás, ami a cryptos sda6- on szerepel.
Az sda egy raid eszköz, aminek egyelőre nincsen támogatása a kernelben, de a hozzávaló driver betöltődik a linuxrc- ből (így tudom pl. felhúzni a cryptot).

Van valakinek ötlete, hogy mit hol rontottam el, minek nézzek utána, milyen infókat adjak, stb.

Köszi a válaszokat.

Hozzászólások

root=/dev/sda6 rw ### mit kellene a root= helyere irni?

Ez szerintem maradjon (hd0,0) az az hda1-nek
Neked az fstabba kellene a /boot particiót(usb) berakni!

----------------------------------------------------------------
"A megoldas mindeki kerdesere egyszeru.
OLVASSATOK DOKUMENTACIOT!"
by thuglife

Kicsit zavarosnak tűnik nekem, most akkor a hda6 vagy az sda6 a crypto-root?

Hi!

Jogos, elírtam, sda6, nincs hda6.

Amúgy sikerült megoldanom, legalábbis úgy, hogy minden szükséges dolgot belefordítottam a kernelbe (titkosító algoritmus, cryptoloop, ilyenek), csak nem értem, hogy erre miért volt szükség, mármint még előtte betöltötte modulból, nem? - Vagyis biztos, hogy betöltötte, ezért nem értem, hogy miért kellett neki. Init kitölti? Ilyen nincs gondolom.

Valaki esetleg le tudná írni, hogy ha egy ilyen folyamatnál egy pivot_root után elindul az init, tulajdonképpen mi játszódik le? Ok, persze, inittabot felparsolja, de az érdekel, ami közvetlen az init indulásánál történik.

Köszi.