:: Re: [Dng] [dng] vdev status update …
Top Page
Delete this message
Reply to this message
Author: Didier Kryn
Date:  
To: dng
Subject: Re: [Dng] [dng] vdev status update (2015-05-03)

Le 14/05/2015 15:40, shraptor shraptor a écrit :
> I would be interested in a static Vdev.
>
> Didier could you please give some info
> how this was done especially any gotcha's
> you found?


     Hi Shraptor.


     I have been working for almost one year, partial time, on building 
a sysrooted gcc-4.7 bundled with musl-1.1.5. This has been pretty 
difficult for me, since I am not an expert in Gcc and I could not find 
it ready-made because I wanted this gcc to understand all languages, 
including Ada. With Ada, there is a bootstrapping problem because it can 
be compiled only with the current version or the previous.


     I started from a chroot containing Sabotage-Linux, which has no 
Ada, in which I introduced Gnat from Debian Wheezy and I don't remember 
exactly how I finally succeeded, last november :-) the fact is that I 
have now a working sysrooted toolchain which can recompile itself and 
can compile a lot of applications. Sabotage provides the necessary 
patches for gcc to work with Musl - Big thanks to them - and I patched 
Gnat myself. The whole process looks like a horrible bricolage, and it 
was just that.


     With this (kind of cross) toolchain, installed on my Debian Wheezy 
laptop, I have succeeded to compile the whole package from Jude, 
including the filesystem, which is not even an alpha release AFAIU, but 
has some dependencies and was a good exercise. The main work was to 
modify the Makefiles so that they can produce static archive libraries 
and replacing one glibc non-standard macro with the standard one.


     I am now working on producing a bootable USB flash disk with two 
partitions, one containing the kernel and the Syslinux bootloader files 
and one with the root filesystem containing Busybox-1.23.1, Vdevd and 
its helpers, and even  Bash, all statically linked against Musl. I tried 
to boot it 15mn ago but my kernel is still missing some drivers to be 
able to mount the usb key. I chose this configuration, rather than an 
initramfs, to be able to make persistent changes to my root filesystem, 
but it means that all the drivers needed to mount the root partition 
must be compiled in the kernel instead of loadable modules.


     I am very excited at seeing vdev in action and I don't think I will 
do anything else before I see if it works. Then I promised to Jude to 
send him the necessary patches. I think that, with the patched version 
of vdev, you could compile it statically with any ready-made gcc-musl 
toolchain (eg Sabotage). Could you wait a few days more?


     Didier