I’m thinking about implementing live OS patch by client. Colibri machine is headless with www and other controls. To update whole root FS, which may be required having new BSP version, I’m going to trigger from www fw_setenv command to change U-Boot’s bootcmd to perform setupdate and update on reboot, restore bootcmd back to notmal bootup after update.
But whole root FS update will require some reconfiguration from client. So it is necessary as well to be able to perform smaller patch rather than whole RFS. After receiving update command it would be nice to switch runlevel to perhaps no network level, patch files from tar on USB key and switch runlevel back to graphical.target or multi-user.target. The question is which level or target? runlevel1 is rescue.target, which asks for user password, so bad choice. All other higher levels are linked to multi-user or graphical.target… So the only choice is to stop/restart services which are about to be patched?
As well there’s an runlevel issue with WiFi. I have connmand configured to connect to user configurable AP. After bootup it connects well. But if I do
systemctl isolate default.target
systemctl isolate multi-user.target
or switch to rescue then back to mult-user.target, then WiFi doesn’t connect any more. Any missing connmand setting? It connects well after bootup, doesn’t reconnect changing run levels, as well disconnects switching to current level (multi-user.target). Why does it disconnect if runlevel doesn’t change?
Another question regarding WiFi what is where is the best place to set regulatory domain (iw reg set XX)? I’m doing it from one of my services. Shouldn’t there be dedicated place for default setting? Since there is connmand, should I still edit wpa_supplicant.conf or iw reg set from my services?