Trying to build L4 on NixOS
Mateusz Czaplinski
czapkofan at gmail.com
Sat Mar 25 00:29:49 CET 2017
Seems I've got through by also adding gcc_multi to buildInputs. Yay for
self-help! ;) and for the Internets. Let's boldly see what breaks next! ;)
Best Regards,
/Mateusz.
On Sat, Mar 25, 2017 at 12:12 AM, Mateusz Czaplinski <czapkofan at gmail.com>
wrote:
> Hm; tried adding the following line:
>
> hardeningDisable = [ "stackprotector" "pic" ];
>
> per https://github.com/NixOS/nixpkgs/issues/18895 and
> https://github.com/NixOS/nixpkgs/issues/18995. This now seems to get me
> through the bootstrap.elf linking phase! But it fails soon afterwards on
> bootstrap32.elf :-( with:
>
> ld: skipping incompatible /nix/store/...-gcc-5.4.0/lib/
> gcc/x86_64-unknown-linux-gnu/5.4.0/libgcc.a when searching for -lgcc
> ld: cannot find -lgcc
>
> Can I skip building bootstrap32.elf somehow? Or should I not?
> Do I even have to build l4, or do I only need fiasco for l4linux? (fiasco
> seems to build OK with the initial hardeningDisable = [ "all" ]; I tried.)
> Or none at all, just the sources?
>
> Thanks,
> /Mateusz.
>
>
>
> On Fri, Mar 24, 2017 at 10:06 PM, Mateusz Czaplinski <czapkofan at gmail.com>
> wrote:
>
>> I'm trying to build L4 on NixOS in a VM (long term goal: try to learn how
>> to replace NixOS's kernel with L4Linux, then maybe Genode). I'm getting an
>> error like below:
>>
>> undefined reference to `__stack_chk_fail'
>>
>> during linking of bootstrap.elf - in a GCC's error-barf just after:
>>
>> [bootstrap] ==> Linking bootstrap.elf
>>
>> I've put up the precise Nix expression/script I'm using to build it on
>> github - at:
>> https://github.com/akavel/l4.nix/blob/0108dfcf8d84780e1ba884
>> c41ece0d2dbf4ddd84/l4re.nix
>> but what it generally boils down to is a sequence of commands like this:
>>
>> $ wget http://os.inf.tu-dresden.de/download/snapshots/l4re-core-201
>> 6082114.tar.xz
>> $ tar xf l4re-core-2016082114 <(201)%20608-2114>.tar.xz
>> $ cd l4re-core-2016082114 <(201)%20608-2114>
>> $ mkdir out
>> $ cp src/l4/mk/defconfig/config.amd64 out/l4/.kconfig
>> $ make -C src/l4 O=out/l4 olddefconfig
>> $ make -C out/l4
>>
>> I've tried various additional changes, based on some snippets found here
>> and there on teh Internets, like:
>> - adding V=0 to the last make (no idea what it does yet, just some
>> cargo culting)
>> - adding NIX_CFLAGS_COMPILE = "-fno-stack-protector"; to the Nix
>> expression/script (also not really sure where it applies in the stack);
>> but none of the above helped.
>>
>> Any idea what I could try doing to push it further?
>>
>> Thanks,
>> /Mateusz.
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20170325/da84639c/attachment.htm>
More information about the l4-hackers
mailing list