Differences between revisions 6 and 8 (spanning 2 versions)
Revision 6 as of 2016-10-20 01:00:57
Size: 1485
Editor: TheAnarcat
Comment:
Revision 8 as of 2016-11-08 20:48:58
Size: 2633
Editor: ?UweKleine-König
Comment: describe how to run the Debian installer on the Turris Omnia
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
By default it runs an [[https://www.openwrt.org/|OpenWRT]] derivative called TurrisOS, but Debian armhf userland can run on it, too. For now it though needs a custom (read non-Debian) kernel as well as some additional scripts. The custom kernel is based on some Linux 4.x branch and is maintained [[https://github.com/tmshlvck/omnia-linux/|on Github]]. By default it runs an [[https://www.openwrt.org/|OpenWRT]] derivative called TurrisOS, but Debian armhf userland can run on it, too. For now it though needs a custom (read non-Debian) kernel as well as some additional scripts to get all the features. The custom kernel is based on some Linux 4.x branch and is maintained [[https://github.com/tmshlvck/omnia-linux/|on Github]]. (Update: it is unclear if that repository is the official one. The official repository is the [[https://github.com/CZ-NIC/turris-os/|OpenWRT fork]] and has a different set of patches.)
Line 7: Line 7:
Since this means that there is yet no Debian Installer support for the Turris Omnia either, the only known way to get Debian running on it is the [[https://github.com/tmshlvck/omnia-debian|omnia-debian project on GitHub]]. It's a script to cross-compile the kernel and to generate an image which with which you can flash Debian armhf on the Turris Omnia. There is no support in the Debian Installer yet, but the only critical part missing is the device tree. The following works fine after connecting the WAN port to a dhcp managed network:
Line 9: Line 9:
See the [[https://github.com/tmshlvck/omnia-debian/wiki|omnia-debian wiki]] for detailed documentation about flashing Debian to the Turris Omnia. You can even run the Turris Omnia with dual-boot Debian and Turris Omnia by creating a [[btrfs]] subvolume on the eMMC. {{{#!highlight sh
wget https://d-i.debian.org/daily-images/armhf/daily/netboot/vmlinuz
wget https://d-i.debian.org/daily-images/armhf/daily/netboot/initrd.gz
wget https://www.kleine-koenig.org/tmp/armada-385-turris-omnia.dtb
}}}
Line 11: Line 15:
If you're not keen on cross-compiling and accept to trust images downloaded unencrypted from the internet, you can find an ready-made image on Then install a tftp server, put the above files in ''/srv/tftp'' and on the serial console enter the following in
U-Boot:

{{{
dhcp
tftpboot 0x01000000 vmlinuz
tftpboot 0x02000000 armada-385-turris-omnia.dtb
tftpboot 0x03000000 initrd.gz
bootz 0x01000000 0x03000000:$filesize 0x02000000
}}}

I recommend to use btrfs as rootfs, as U-Boot can handle that and TurrisOS also makes use of it.
Before ending the installation put the dtb into the rootfs as ''/boot/dtb''. Then you can boot into your linux using:

{{{
setenv mmcboot=btrload mmc 0 0x01000000 boot/vmlinuz\; btrload mmc 0 0x02000000 boot/dtb\; btrload mmc 0 0x03000000 boot/initrd.img\; bootz 0x01000000 0x03000000:$filesize 0x02000000
setenv bootargs console=ttyS0,115200 rootfstype=btrfs rootdelay=2 root=/dev/mmcblk0p1 rootflags=commit=5 rw
saveenv
}}}

There are some missing parts yet, so the SFP and switch port doesn't work yet and wlan isn't tested yet.

For an alternative installation using a self compiled kernel (instead of a debian kernel as above) see the [[https://github.com/tmshlvck/omnia-debian/wiki|omnia-debian wiki]]. If you follow this one, you're not keen on cross-compiling and accept to trust images downloaded unencrypted from the internet, you can find an ready-made image on

Installing Debian On The Turris Omnia Router

The Turris Omnia is an ARM-based (mostly) open hardware router board developed by Project Turris of CZ.NIC and available via Indiegogo.

By default it runs an OpenWRT derivative called TurrisOS, but Debian armhf userland can run on it, too. For now it though needs a custom (read non-Debian) kernel as well as some additional scripts to get all the features. The custom kernel is based on some Linux 4.x branch and is maintained on Github. (Update: it is unclear if that repository is the official one. The official repository is the OpenWRT fork and has a different set of patches.)

There is no support in the Debian Installer yet, but the only critical part missing is the device tree. The following works fine after connecting the WAN port to a dhcp managed network:

   1 wget https://d-i.debian.org/daily-images/armhf/daily/netboot/vmlinuz
   2 wget https://d-i.debian.org/daily-images/armhf/daily/netboot/initrd.gz
   3 wget https://www.kleine-koenig.org/tmp/armada-385-turris-omnia.dtb

Then install a tftp server, put the above files in /srv/tftp and on the serial console enter the following in U-Boot:

dhcp
tftpboot 0x01000000 vmlinuz
tftpboot 0x02000000 armada-385-turris-omnia.dtb
tftpboot 0x03000000 initrd.gz
bootz 0x01000000 0x03000000:$filesize 0x02000000

I recommend to use btrfs as rootfs, as U-Boot can handle that and TurrisOS also makes use of it. Before ending the installation put the dtb into the rootfs as /boot/dtb. Then you can boot into your linux using:

setenv mmcboot=btrload mmc 0 0x01000000 boot/vmlinuz\; btrload mmc 0 0x02000000 boot/dtb\; btrload mmc 0 0x03000000 boot/initrd.img\; bootz 0x01000000 0x03000000:$filesize 0x02000000
setenv bootargs console=ttyS0,115200 rootfstype=btrfs rootdelay=2 root=/dev/mmcblk0p1 rootflags=commit=5 rw
saveenv

There are some missing parts yet, so the SFP and switch port doesn't work yet and wlan isn't tested yet.

For an alternative installation using a self compiled kernel (instead of a debian kernel as above) see the omnia-debian wiki. If you follow this one, you're not keen on cross-compiling and accept to trust images downloaded unencrypted from the internet, you can find an ready-made image on http://aule.elfove.cz/%7Ebrill/omnia-debian/.