Linux na CF kartě

Na různé aplikace, např. router, potřebujeme Linux bootovat s CF karty. Instalaci nebo úpravu stávajícího image je možné provádět přes napr. VirtualBox cs:VirtualBox

Pomocí příkazu dd vytvoříme buď image existujícího systému z disku nebo si založíme čistý image. Označme ho např. wheezy.dd. Následně tento image připravíme pro nabootování nebo instalaci nového systému do VirtualBoxu

losetup /dev/loop2 wheezy.dd VBoxManage internalcommands createrawvmdk -filename test.vmdk -rawdisk /dev/loop2

Po úspěšném vytvoření vmdk souboru následně spustíme VirtualBox a připojíme vytvořený disk:

Klikneme na nastavení a vybereme položku úložiště

Klikneme na položku SATA řadič a potom na ikonu modrého disku s ikonou plus

Vybereme vytvořený image pro VirtualBox

Hotovo. Nyní můžeme uložit změny a nabootovat virtuál.

POZOR: před každou úpravou image je potřeba znovu vytvořit soubor vmdk protože při novém připojení image přes příkaz losetup může dojít ke změně UID disku

Po dokončení úprav provedeme následující postup:

Vypneme virtuál

V nastavení úložiště - viz. předchozí postup odebereme test.vmdk

Ulozime nastaveni a vypneme VirtualBox

Pokud si chceme připojit partition v souboru do našeho lokálního systému pro nahrání souborů, použijeme k tomu následují postup. Pokud jsme vše obsatarali v nabootovaném VirtualBoxu, přeskočíme tento bod.

kpartx -a /dev/loop2
mount /dev/mapper/loop2p1 /mnt

A obrácený postup:

umount /mnt
kpartx -d /dev/loop2

Pomocí příkazu losetup -d /dev/loop2 odpojíme image ze systému

Smažeme soubor test.vmdk - při každém připojení image pres losetup je nutné tento soubor znovu vytvořit

Nyní můžeme pomocí příkazu dd nahrát image na nejakou CF kartu a nabootovat náš router