Rescatux development
Debian Live improvements
I had planned to do a lot of Rescatux development during August but I just worked with the Debian Live part and I was quite proud of it.
As you might know one of the upstream projects for Rescapp is Debian Live. If you happen to contribute back to Debian Live not only Rescatux wins but also all the Debian Live derivatives. Including, probably, Ubuntu live cds.
CPU detection at boot
You might know that Rescatux has an autodetect boot entry at its boot. You can find it in versions prior to Rescatux 0.32b1. Boot system in Rescatux has been always based on Grub2 so that Super Grub2 Disk could be easily integrated. More than this an isolinux version of the iso was included . As a consequence a findiso boot parametre was needed for that to work. I also added (adapted from grml if I remember it ok) findiso to Debian Live back in the time. You will see that I’ll mention it later.
In order to avoid problems with people not being able to put the ISO into an USB using standard tools since Rescatux 0.32b1 Rescatux no longers depends on Grub2 as a bootloader but it depends on Syslinux / Isolinux.
That meant that Rescatux 0.32b1 did not have a cpu autodetect option. The amd64 option was the default one and if it did not work you were supposed to choose the 486 option.
I recently learnt that Syslinux / Isolinux had cpu detection capabilities through a com32 file.
I have implemented that functionality for both syslinux and grub2 in Debian Live. That patch won’t have been possible without the findiso option.
You can see how the auto detect (and the new logo) looks like in this Rescatux screenshot.
Loopback cfg support
The loopback cfg support is a very good idea. As Grub2 can loop mount ISOs it can read its files without having to extract to temporary files.
So you can write an specific Grub2 file named loopback.cfg that specifies how the kernel (or initrd) can find the ISO so that it can loop mount it and gather their needed files to boot into a Desktop (or whatever your Live system does).
This Debian Live improvement means that when new Debian Live (or Debian Live derivatives) will be released they will have a working loopback.cfg by default.
Another reason for using Super Grub2 Disk Choose Bootable ISOs option.
I join an screenshot on how the loopback cfg looks like when run from SG2D. The reason why you don’t see Rescatux instead of Debian Gnu/Linux – Live is because Debian Live does not let you to easily change that string. I am talking about that issue to Debian Live developers too.
Super Grub2 Disk development
Smx work addition failed
I tried to gather additional functionality from Smx’s supergrub2 repository but it was not possible. Too many conflicts. I’ll wait till he rewrites the commits so that I can just fast-forward them.
So if you want to be able to use your own keyboard layout at grub shell or being able to chainload a partition manually you will have to wait.
Grub 2.02 not so stable
Grub 2.02 has not been released as stable yet. It’s still beta.
The first problem happened when SG2D made Virtualbox to hang. Apparently it only happened when I tried to list files in an special partition called: (cd,apple4)/ .
It seems it only happens when you build EFI and you use Virtualbox. This is why it was so hard to detect. The bug has been already been solved.
However the second problem is related on how Grub 2.02 tries to detect new devices. Grub 2.00 had an specific way of doing that by loading specific modules.
Now it seems you have to use the new nativedisk command and it will detect them for you and even rename the new devices so that they replace the existing ones.
Actually, I have not understood how it is supposed to work but it might make more difficult the Everything + option. Probably I will have to remove it.
So the error happens when running nativedisk. Grub2 seems to do some weird ahci calls and Virtualbox aborts the VM without saying anything in the logs.
So, even if Grub 2.02 gets into Debian as an stable package I’ll take a double look at it because of nativedisk and maybe other problems that might arise.