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

_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng

Reply via email to