I'm intending to replace a NAS's Custom Linux with Arch Linux (details at the bottom), of course wishing to preserve all user data and (due to the SSH-only headless access) attempting to be fool-proof since a mistake may require firmware reinstallation (or even brick the device). So instead of running the installation (downloading the appropriate Arch Linux ARM release and probably using the chroot into LiveCD approach) without appropriate preparations, what must I keep in mind? (Please feel free to answer without restriction to Arch Linux) More precisely:
- Do I somehow have to bother with figuring out how a specific device's boot process works (e.g. which parts of the bootloader reside on the flash memory and which ones are on the harddisk) or can I rely on the distribution's installer to handle this correctly?
- How can I determine whether some (possibly proprietary) drivers are used and how can I migrate them into the new setup?
- Is the RAID configuration safe from accidental deletion?
- Is there a way to fake the booting process so I can check for correct installation while the original system remains accessible by simply rebooting? E.g. using
chrootandkexecsomehow?- What else should I be aware of?
The specific case is that I want to replace the custom Linux from a Buffalo LinkStation Pro Duo (armv5tel architecture, the nas-central description is a bit more helpful here and also provides instructions on how to gain SSH root access) with Arch Linux ARM. But a more general answer may be more helpful for others as well.
yaourtoremergeis a real mess. And at some point I may realize that a Kernel module is missing... – Tobias Kienzler Jan 08 '13 at 05:48/var/log/messagesto figure out whysshdsilently fails... – Tobias Kienzler Oct 28 '13 at 15:14/sbin/init, so you need to adopt thechrootstatement to load systemd correctly. – Bananguin Oct 28 '13 at 21:51/bin/init --system, but refuses to do so in achrootenvironment (and a user instance requires the system being booted with systemd...). Well, I figured outsshdsimply uses the mother-system's syslog, so basically I could justmount -o bind /var/log var/log(or even just bindmessages, though IIRC binding files instead of directories is error-prone). Anyway, sounds like I should give gentoo a shot instead... Maybe emerge can be native-fied somehow... – Tobias Kienzler Oct 29 '13 at 08:24pivot_rootand then try something along the lines ofcd /newroot; pivot_root . oldroot; exec bin/init --system >dev/console 2>dev/console <dev/console ;. It would seem systemd makes it difficult to "safely replace" Linuxes ... – Bananguin Oct 29 '13 at 08:37pivot_root . oldrootyieldsInvalid argument(aftermkdir oldroot), which seems to be connected torootfsbeing mounted on/... – Tobias Kienzler Oct 29 '13 at 09:02