Le 31/03/2015 20:56, Jude Nelson a écrit :
> Hi Didier,
>
> Thank you for offering! I haven't tried statically linking vdev or
> its helper programs yet, but I don't see why it wouldn't work. You'll
> need to tweak the vdevd and vdevd helper program makefiles (in
> vdevd/Makefile and vdevd/helpers/LINUX/Makefile, respectively) to add
> the -static directive to gcc. All of the helper programs only need
> libc. vdevd needs libvdev (which can be built with make -C libvdev),
> but libvdev only needs libc.
>
> Let me know how it goes? I'll add it to the tutorial I just sent out
> if it works :)
>
> Thanks,
> Jude
>
> On Tue, Mar 31, 2015 at 12:18 PM, Didier Kryn <kryn@???
> <mailto:kryn@in2p3.fr>>wrote:
>
> Dear Jude,
>
> I would like to try your vdev. I plan to use a diskless
> embeded powerpc I have available for devel. I prefer that to using
> quemu and I want to keep my laptop functional h24.
>
> I would do it in an OS built from scratch with only 3
> components: kernel version 2.6.29, busybox and vdev. Therefore I
> would like to compile vdev and link it statically from the source.
> Does it seem feasible?
>
> Didier
>
> _______________________________________________
> Dng mailing list
> Dng@??? <mailto:Dng@lists.dyne.org>
> https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng
>
>
Hello Jude.
Here is a brief summary of what I did up to now. The goal was to
install a minimal rootfs in flash memory of an embeded Powerpc
(MVME3100) to use as a sandbox.
1) I compiled a kernel with the following boot parameters:
console=ttyS0,9600 root=/dev/mtdblock1 rootfstype=jffs2
2) The filesystem contains busybox-1.20.2 statically linked with
musl, which I had done a while ago.
3) vdevd:
I first tried to compile vdev natively on Debian Wheezy, but could
not link it statically as I wanted. This is actually a classical problem
with glibc everytime network functions are used. Actually the offending
functions are getpwnam_r() and the like. I guess this is related with
NIS compatibility built in the glibc.
I decided to link against musl libc. To save time I just downloaded
a ready-made image of sabotage-linux for powerpc and compiled vdev in a
sabotage chroot.
I have now my minimal OS working. init is a little script doing the
necessary mounts, including /dev on tmpfs and creating a few device
files (console, ttyS0, null, zero). The script starts an interactive
session and I could try to run vdevd by hand:
/ # vdevd /dev
00487:268746168: [ vdev.c:0425] vdev_init: ERROR:
vdev_config_load('(null)') rc = -14
00487:268746168: [ main.c:0042] main: ERROR: vdev_init rc = -14
/ #
AFIU, I am only missing a config file... :-)
Didier