The Linux Environment
The rebuild scripts are intended to run from a Linux environment. There are many 'flavours' of Linux available and almost all will run quite happily from a USB pen drive. It's just a matter of picking your favourite distribution (or somebody else's recommendation) and going from there.
Having selected your distribution you may have to add additional applications to it in order to run the scripts. These may include:
- A compiler (gcc) to compile the helper program (swap or superblock)
- The bash interpreter.
- e2fsprogs to create the file systems.
- mdadm to create the raid arrays.
- curl(??) (used in debrick.sh
Having played around for many years with thin clients some of which have limited resources, my favourite Linux is Tiny Core Linux so this is what I used here.
A good starting point is to download an iso of the latest version (a mere 20MB) and then use a tool such as LiLi (Linux Live USB Creator) to create a bootable version on a pen drive and go from there.
The rebuild script requires a custom program, superblock, that is used to manipulate the values in the superblocks of the various raid arrays. If you're using something other than my version of Tiny Core Linux you'll need to download and compile it first.
If you want to compile it under Tiny Core Linux you'll need to use the App Browser to download and install the extension tc-compile.tcz.
One thing to note is that both the old debrick.sh script and my new rebuild.sh require to be run from a bash shell. It may well throw errors if run using the sh interpreter that's part of busybox. I have included bash in my specific build of Tiny Core. The scripts also have to be run as root to ensure they have the necessary permissions to carry out their task.
- Old debrick.sh script
- New rebuild.sh script
- Tiny Core Linux
- Tiny Core 11.1 iso that includes all components.
- superblock.c source code.
- superblock binary compiled for Tiny Core 11.1.
- Duo firmware from which you need to extract rootfs.img