User Tools

Site Tools

This documentation is no longer maintained by the Turris team (although it can be used by the community to share content). The current official documentation is at docs.turris.cz.

System and bootloader recovery from microSD card

These instructions are for Turris 1.1 only 

Introduction

To understand the following text, it is necessary to get acquainted with the implementation of the Turris router operating system. The router contains two storages (memories). 16MB NOR memory and 256MB NAND memory. The NAND memory contains the operating system into which the router will normally boot (including your installed packages and data). There are then 3 important components in the NOR memory:

  • Operating system boot loader (U-Boot)
  • Rescue system
  • Original system image in NAND memory

By default, the boot loader works by booting the operating system in NAND memory. However, if the user presses the button to request a factory reset , the bootloader will load the rescue system in the NOR memory. This rescue system works by completely automatically taking the original image of the NAND system (stored in the NOR memory) and unpacking it into the NAND memory. Therefore, the user obtains the NAND memory in the same state as when first started.

This procedure can be used in case of damage to the rescue system in the NOR memory or the system loader. It is also possible to use this method to update all software components of the Turris router to the latest version. This also includes those components which are not normally updated (eg for safety reasons), such as the rescue system mentioned.

Preparing a microSD card

  1. Download the current SD card image from the repository to your computer http://repo.turris.cz/turris/sdcard-rescue/sdcard.img
  2. Upload the image to a microSD card ( Paths to the source file and destination device are for illustrative purposes only! ):
dd if = / home / turris / sdcard.img of = / dev / sdb 

Installing a microSD card in a router

  1. Remove the front panel and the top cover of the router (7 screws in total).
  2. Carefully remove the RAM located between the processor and the LEDs by releasing the two latches on the sides.
  3. Place the microSD card in the slot under RAM.
  4. Replace the RAM.
  5. Set switches 1 to 6 on switch bar SW1 to the state 011 010.
  6. Connect the computer with the microUSB cable to the diagnostic socket of the router.
  7. Run the command on your computer minicom -D /dev/ttyUSB0( more information here ).

Completing the operation

  1. Connect the power supply and wait for the automatic installation to complete (it will print DONE).
  2. Unplug the power cord.
  3. Remove the RAM, remove the microSD card, and replace the RAM.
  4. Set switches 1 to 6 on switch bar SW1 to the state 110 010
  5. Disconnect the microUSB cable from the diagnostic socket.
  6. Replace the front panel and top cover.
  7. The last step is to perform a Factory Reset by pushing the reset button at the rear panel for more than 10 seconds (or until the blinking light becomes solid).

Update the Router

From terminal

  • vi /etc/resolv.conf
  • (add) nameserver 8.8.8.8
  • (save the file via :w, then :q)
  • (update the Turris)
  • update.sh

Migrate Turris 1.x to Btrfs

These instructions are for Turris 1.x only        

While the Turris Omnia router had Btrfs file system support right from the start, older Turris 1.x routers did not have Btrfs support. There are many benefits to using Btrfs, especially snapshot backup ease and Schnapps snapshot work.

Starting with Turris OS 3.8, Btrfs can also be used on Turris 1.x routers, but without support for returning to the previous snapshot by holding the Reset button known from Turris Omnia. Snapshots can be used via the command line, but we also plan a web interface for it.

Procedure

  • What do you need?
  • MicroSD card with a capacity of at least 4 GB , which can be left in the device.
  • Turris 1.x

  • screwdriver

Preparation

Migrating to Btrfs

When you have everything ready, we can do it:

  • 1. Disconnect the Turris from the power by pulling out the cable.
  • 2. Unscrew the cover and insert the microSD card into the slot under the RAM module. With the RAM module, you just need to press the sides of the metal pegs to hold it in place and it will pop out. After inserting the microSD card, just slide the module back into the slot and push it down gently, snapping it into place. (we are preparing a video for these steps)
  • 3. When the microSD card is inside and the router is covered, turn it on again. Connect to the router via the console . To put it simply, just plug one end of an Ethernet cable into one of the LAN ports on Turris and the other end into an Ethernet port on your computer.
  • 4. Install the package turris-btrfs and run the script using the following commands:
opkg update
opkg install turris-btrfs
btrfs_migrate

The script btrfs_migratemakes sure you really want to lose all the data on the microSD card. It then formats it, copies the current system to it, and sets up booting from the microSD card in u-Boot.

If the following appears after the opkg update, it means that the updater is running and it is time to wait:

root @ turris: ~ # opkg update

Collected errors: * opkg_conf_load: Could not lock /var/lock/opkg.lock: Resource temporarily unavailable.

  • 5. Finally, restart the router with the console command:
reboot

After rebooting, Turris will start from the microSD card and Btrfs. If you want, you can verify that you now have a Btrfs now on the router with the following command:

mount | grep btrfs

The output should be approximately this:

/ dev / mmcblk0p2 on / ** btrfs **

Congratulations

  • you just ran Btrfs on your router! We recommend that you look at our Schnapps article, so you can now back up your settings.
  • Never uninstall the turris-btrfs package!
  • What happens when a card is broken or removed? Nothing serious, Turris boots back into the system as it was before migration, so there's no need to worry too much about the process.

Update to the latest Turris OS

Once the Turris 1.1 device has Schnapps installed, it can be used to install the Factory default of the latest Turris OS version.

cd ~
wget https://repo.turris.cz/hbs/medkit/turris1x-medkit-latest.tar.gz
schnapps import -f turris1x-medkit-*.tar.gz
schnapps rollback factory
reboot

References