Uživatelské nástroje

Nástroje pro tento web


Spouštění z externího a výměnného úložiště

V současné době existují dva způsoby, jak lze spouštět Turris Omnia z externího úložiště.

  • Prvním způsobem je využití mSATA SSD, který je potřeba připojit do pravého slotu, nacházejícího se v blízkosti chladiče CPU. Tento způsob je jediný, který podporuje také rozhraní mSATA společně s mini PCIe.
  • Druhým způsobem je použití adaptéru (MPCIE1U-NO1) z mini PCIe na USB 2.0, který je potřeba zapojit do levého mini PCIe slotu, kde je slot na kartu SIM. Do tohoto adaptéru je potřeba zapojit tenký a krátký USB disk, který se tam vejde.

V obou případech potřebujete sériový kabel a flash disk s medkitem.

Vytvoření spustitelného disku

Po vložení výměnného úložiště do zařízení Turris Omnia zapojte sériový kabel a připojte napájení. V sériové konzole, jakmile získá napájení, zkuste co nejrychleji opakovaně mačkat klávesu Enter, až se vám povede přerušit zavaděč U-Boot a získáte prompt příkazové řádky '⇒'. Zapamatujte si, jak jste to udělali, bude to znovu potřeba později.

Nyní do příkazové řádky napište `run rescueboot` a počkejte, až naběhne záchranný režim. Jakmile uvidíte prompt, můžete začít s přípravou disku. V tuto chvíli pravděpodobně uvidíte dva dostupné disky: sda a sdb. Nejpravděpodobněji váš USB/SSD disk bude sda a USB disk s medkitem bude sdb. Můžete to ověřit vložením:

fdisk -l /dev/sda

Tímto se zobrazí velikost dostupných disků a oddílů. Pomocí programu fdisk můžete disk (znovu) rozdělit na oddíly, pokud chcete mít oddíly určené pro jiné účely.

Připojíte-li nový SSD disk, musíte nástrojem fdisk vytvořit aspoň jeden oddíl.

Nyní první oddíl zformátujte na Btrfs a vytvořte kořenový podsvazek (subvolume) pomocí následujících příkazů:

mkfs.btrfs /dev/sda1
mkdir /mnt/ssd
mount /dev/sda1 /mnt/ssd
btrfs subvol create /mnt/ssd/@

Nyní potřebujete připojit flash disk a nainstalovat medkit.

mkdir /mnt/flash
mount /dev/sdb1 /mnt/flash
cd /mnt/ssd/@
tar -xzvf /mnt/flash/omnia-medkit-*.tar.gz

A teď je čas všechno uklidit.

cd
umount /mnt/flash
umount /mnt/ssd

Nyní máte disk, ze kterého lze spouštět systém. Můžete restartovat router pomocí příkazů:

echo s > /proc/sysrq-trigger
echo b > /proc/sysrq-trigger

Spouštění ze SSD

Ke spouštění ze SSD připraveného v předchozím kroku je potřeba upravit prostředí U-Boot. Musíte se tedy opět dostat do příkazové řádky opakovaným mačkáním klávesy Enter. Jakmile získáte prompt, vložte následující příkazy:

setenv bootargs 'earlyprintk console=ttyS0,115200 rootfstype=btrfs rootwait root=/dev/sda1 rootflags=subvol=@,commit=5 rw'
setenv bootcmd 'i2c dev 1; i2c read 0x2a 0x9 1 0x00FFFFF0; setexpr.b rescue *0x00FFFFF0; if test $rescue -ge 1; then echo BOOT RESCUE; run rescueboot; else echo BOOT eMMC FS; run scsiboot; fi'
setenv scsiboot 'setenv bootargs "$bootargs cfg80211.freg=$regdomain"; scsi scan; btrload scsi 0:1 0x01000000 boot/zImage @; btrload scsi 0:1 0x02000000 boot/dtb @; bootz 0x01000000 - 0x02000000'
saveenv
boot

Tyto úpravy změní bootovací příkazy tak, aby se router spouštěl ze SSD, uloží nastavení a restartuje router. Po příštím resetu zařízení už by mělo automaticky startovat ze SSD.

Spouštění z USB

Ke spouštění z USB flash disku připraveného v předchozím kroku je potřeba upravit prostředí U-Boot. Musíte se tedy opět dostat do příkazové řádky opakovaným mačkáním klávesy Enter. Jakmile získáte prompt, vložte následující příkazy:

setenv usbboot 'setenv bootargs "$bootargs cfg80211.freg=$regdomain"; usb start; btrload usb 0 0x01000000 boot/zImage @; btrload usb 0 0x02000000 boot/dtb @; bootz 0x01000000 - 0x02000000'
setenv bootargs 'earlyprintk console=ttyS0,115200 rootfstype=btrfs rootwait root=/dev/sda1 rootflags=subvol=@,commit=5 rw'
setenv bootcmd 'i2c dev 1; i2c read 0x2a 0x9 1 0x00FFFFF0; setexpr.b rescue *0x00FFFFF0; if test $rescue -ge 1; then echo BOOT RESCUE; run rescueboot; else echo BOOT eMMC FS; run usbboot; fi'
setenv scsiboot 'setenv bootargs "$bootargs cfg80211.freg=$regdomain"; scsi scan; btrload scsi 0:1 0x01000000 boot/zImage @; btrload scsi 0:1 0x02000000 boot/dtb @; bootz 0x01000000 - 0x02000000'
saveenv
boot

Tyto úpravy změní bootovací příkazy tak, aby se router spouštěl z USB, uloží nastavení a restartuje router. Po příštím resetu zařízení už by mělo automaticky startovat z USB.

Úprava programu Schnapps

Schnapps předpokládá, že vaše kořenové zařízení je na eMMC. Musíte ho přesvědčit, že je jinde. K tomu je potřeba vytvořit konfigurační soubor a specifikovat, kde se kořenový souborový systém nachází:

mkdir /etc/schnapps
echo 'ROOT_DEV="/dev/sda1"' > /etc/schnapps/config

Hrozící problémy

Neměli byste používat mountovací plugin do LuCI, protože se pokouší odpojit všechny externí disky včetně toho vašeho tím může rozbít systém. Je také možné, že v některé z budoucích verzí aktualizujeme U-Boot a jeho prostředí. To může přepsat vaše nastavení a bude potřeba zopakovat příkazy uvedené v kroku Spouštění ze SSD nebo Spouštění z USB, aby se váš router znovu znovu spouštěl. Nebude také fungovat většina možností obnovy pomocí resetovacího tlačítko - návrat k předchozímu snapshotu nebo reset do továrního nastavení. Můžete ale stále spravovat snapshoty ručně pomocí programu schnapps, pokud jste ho správně nastavili.