Uživatelské nástroje

Nástroje pro tento web

Tato dokumentace již není udržována týmem projektu Turris (přestože ji lze i nadále používat pro sdílení komunitního obsahu). Aktuální oficiální dokumentace se nachází na docs.turris.cz.

Tato dokumentace je jen pro Turris OS 3.x, který se už nenachází na nově prodávaných routerech. Novou dokumentaci najdete na https://docs.turris.cz/.

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.