Optional migration from Turris OS 3.x for advanced users

I’ve updated my Omnia semi successfully…

  • Reforis doesn’t work Can not use Reforis on TOS 5+ - ControllerMissing After installing all the reforis plugins, it works.
  • opkg doesn’t work. Fixed by running /usr/bin/update_alternatives.sh via ssh as seen in Opkg can't update
  • openvpn and ddns weren’t running. I needed to install their packages because it seems the upgrade process get rid of them… the previous configuration was still there tho, so I didn’t need to reconfigure anything.
  • The /srv mountpoint was missing. I modified the /etc/config/fstab to fix it.

Edit to add the workarounds.

1 Like

Is there any specificity of migration to TOS 5 if the system is installed on mSATA SSD ?

No idea. I would say no but I have not tested it so I can’t guarantee that.

I think more people went to the SSD forcibly because the internal memory failed. I don’t want to be the first testior. The transition to an SSD isn’t easy anymore.

3 Likes

I was one of the ones forced in to SSD due to internal failure. I have used this script. Pretty much went to plan with the exception of my LXC were not migrated and I had to work out how to get it working again using the CLI (the Luci LCX page would break and send me in to a repeated logon loop).

The Luci page now works but I don’t know if that was something that was fixed elsewhere or as a result of me now having a working LXC config…

Hope that helps.

1 Like

Hello.
I’ve just updated my Turris Omnia from 3.11.20 to 5.1.3.

It looks like everything is fine except my wireguard connection: all configs are in place (doudle checked it)

 config interface 'VPS'
    option proto 'wireguard'
    option private_key '<mysupersecretkey>'
    option listen_port '443'
    list addresses '192.168.255.2'
    option delegate '0'
    option ifname 'VPS'

config wireguard_VPS
    list allowed_ips '0.0.0.0/1'
    list allowed_ips '128.0.0.0/1'
    option route_allowed_ips '1'
    option endpoint_port '443'
    option persistent_keepalive '25'
    option public_key 'hHSO4rSb6Bt6dgf5hQ8RytEoavyadnZaS3sqpFNAA2U='
    option endpoint_host '<mysupersecretip>'

but I get

Protocol:  WireGuard VPN
RX:  0 B (0 Pkts.)
TX:  0 B (0 Pkts.)
Error:  Unknown error (DEVICE_CLAIM_FAILED)

error on interface

How can it be fixed?

Hello @horseinthesky,

Thank you for testing optional migration! We appreciate your feedback. Unfortunately, wireguard is not supported in migration and it was not tested by us, yet. But we received the same report on our GitLab.
You might want to take a look as there is a solution for it:

We would appreciate it if you can confirm there that it works for you.

Thank you very much.
I checked my notes regarding configuring this feature and indeed this option wasn’t in my config before.
Removing it solved the issue.

4 posts were split to a new topic: Discussions about state of optional migration from Turris 3.x for advanced users

With Turris OS 5.2.0 release there are a lot of new fixes for the migration process. Any new feedback would be highly appreciated.

Does it means, that it should be possible to migrate on Turris 1.0 from Turris OS 3.11.23 to 5.2.0 using the steps from https://docs.turris.cz/geek/tos3-migration/? Or is the only way still importing from medkit (> default configuration)?

Because, when I tried now select the package Migration to Turris OS 5.x (HIGHLY EXPERIMENTAL), it didn’t do anything … and then when I try to run pkgupdate from console, it prints following warning, and then do nothing:

# pkgupdate 
WARN:Migration for Turris 1.x is not available at the moment.
WARN:Requested package luci-i18n-ddns-en that is missing, ignoring as requested.
WARN:Requested package luci-i18n-wshaper-cs that is missing, ignoring as requested.
WARN:Requested package luci-i18n-wshaper-en that is missing, ignoring as requested.
WARN:Requested package mii-tool that is missing, ignoring as requested.

If it is not possible to do it now on the blue Turris 1.x, it will be good to mention it in the Migration from Turris OS 3.x:anchor: document :-).

It is highly suggested not to do it on internal flash as update won’t fit. You have to be using BTRFS on SD card.

This is output from today? We might forget some check somewhere.

I’m using BTRFS on SD card (if I didn’t miss anything):

# blkid 
/dev/mmcblk0: PTUUID="c5d19a87" PTTYPE="dos"
/dev/mmcblk0p1: SEC_TYPE="msdos" UUID="5F75-1F0B" TYPE="vfat" PARTUUID="c5d19a87-01"
/dev/mmcblk0p2: UUID="7f1d6515-728d-4acf-9b98-e4824a3f9147" UUID_SUB="158d3fe1-5613-4bc8-ae63-c0812c970e62" TYPE="btrfs" PARTUUID="c5d19a87-02"

# lsblk /dev/mmcblk0
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0     179:0    0 29.5G  0 disk 
|-mmcblk0p1 179:1    0  100M  0 part 
`-mmcblk0p2 179:2    0 29.4G  0 part /

Yes, it is from today.

Thank you for reporting this. I expanded instructions in the first post for Turris 1.x. I missed that we have check in Turris OS 3.x release but it is still possible to install tos3to4 package manually and trigger migration that way.

Edit: Please do not attempt migration on Turris 1.x until Turris OS 5.2.1 is release (which should be in short order). I manage to discover bug that causes pretty important part of migration being skipped on Turris 1.x.

1 Like

Thanks, I’ll try it once it will be available (and once I’ll have some time :-D).

Since Turis OS 5.2.1 is already out, is it “safe” to try the migration? :slight_smile:

1 Like

Yes. I tested it last week and the issues I know about are resolved at the moment.

Update didn’t work on my router, there is following warning in /var/log/messages (mainly the first line looks suspiciously):

2021-06-21 19:32:32 warning updater[3590]: https://repo.turris.cz/turris/lists/3xmigrate.lua.lua:9 (Globals): Migration for Turris 1.x is not available at the moment.
2021-06-21 19:32:41 warning updater[3590]: planner.lua:344 (pkg_plan): Requested package luci-i18n-ddns-en that is missing, ignoring as requested.
2021-06-21 19:32:41 warning updater[3590]: planner.lua:344 (pkg_plan): Requested package luci-i18n-wshaper-cs that is missing, ignoring as requested.
2021-06-21 19:32:41 warning updater[3590]: planner.lua:344 (pkg_plan): Requested package luci-i18n-wshaper-en that is missing, ignoring as requested.
2021-06-21 19:32:41 warning updater[3590]: planner.lua:344 (pkg_plan): Requested package mii-tool that is missing, ignoring as requested.
2021-06-21 19:32:41 info updater-supervisor[]: pkgupdate reported no errors

Firstly, the mentioned url https://repo.turris.cz/turris/lists/3xmigrate.lua.lua is strangely wrong, but if I’ll check the same url with only one .lua extension, it works. And line 9 of that file is related to else section of following if statement: if not model:match("^[Tt]urris$"). Why is my Turris 1.0 didn’t match this?

Your model matched that. That is why you have to follow steps that are special for Turris 1.x. Please read the first message in this topic.

Thanks and sorry for not reading this topic carefully! I knew I read something like that somewhere… but didn’t find anything in the doc, so I was thinking that the process was already changed.