[OLPC-devel] buildrom issues
Ronald G Minnich
rminnich at lanl.gov
Wed Jun 28 10:57:56 EDT 2006
First, latest one no longer builds for me:
minnich at q buildrom]$ make
Building the minimal kernel...
Building uclibc...
Building busybox...
Building wireless-tools...
make[1]: Entering directory
`/home/rminnich/src/amd/GX2/OLPC_BOOT/buildrom/work/wireless-tools/wireless_tools.28'
gcc -shared -o libiw.so.28 -Wl,-soname,libiw.so.28 -lm -lc iwlib.so
/usr/bin/ld: errno@@GLIBC_PRIVATE: TLS definition in /lib/libc.so.6
section .tbss mismatches non-TLS reference in iwlib.so
iwlib.so: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libiw.so.28] Error 1
make[1]: Leaving directory
`/home/rminnich/src/amd/GX2/OLPC_BOOT/buildrom/work/wireless-tools/wireless_tools.28'
make: ***
[/home/rminnich/src/amd/GX2/OLPC_BOOT/buildrom/initrd-rootfs/sbin/iwconfig]
Error 2
[rminnich at q buildrom]$
Curse you, TLS! Curse you forever! :-)
second, I had VERBOSE set there; not very verbose. In general, I don't
like systems that hide all the build steps. It took me a while to
realize, for example, that even though the top-level makefile said it
was making some things, it was not; and since the cycle is a ROM BIOS
reflash per iteration, this gets tiresome. We've found that for the case
that you are reflashing a BIOS, the more build spew you get, the better.
I.e., let's yank some of the @ from the makefiles :-)
third, I guess I need to fix up some dependencies. the only way to
reliably assure that I get my mods in is to
make clean && make
fourth, /proc was not there at first, and I would in general recommend this:
makedevs("/device.txt");
mount_proc();
i.e. there might be a /proc in device.txt, so mount proc after the
devices are made.
Fifth, here is the device.txt that gets me mostly there:
[rminnich at q buildrom]$ more ../buildrom-old/skeleton/device.txt
/dev d 755 0 0
/proc d 555 0 0
/mntpoint d 777 0 0
/dev/null c 640 0 0 1 3
/dev/zero c 640 0 0 1 5
/dev/tty c 640 0 0 5 0
/dev/tty0 c 640 0 0 4 0
/dev/console c 640 0 0 5 1
/dev/sda1 b 640 0 0 8 1
/dev/sda2 b 640 0 0 8 2
/dev/sda3 b 640 0 0 8 3
/dev/sda4 b 640 0 0 8 4
Am I doing something wrong here?
Sixth, (wow this got long!), it still won't work; the mount on /mntpoint
failed.
Finally ... although I really love the klb, we've done a lot of work
with similar systems here, and ... when things go south, it's really
nice to have a shell prompt. Right now, I get an error from klb, and the
diagnostic is rebuild things and reflash. This is really tiring. If I
had a shell prompt, there is some poking around I could do.
We're converting 7500 machines over from our own version of klb to a
shell-script-plus-ash approach. I am going to try ash tonight -- if I
can get this thing to build that is -- or a simpler shell I used to use
called KISS (let's face it -- ash has readline, which is real overkill
when you are tight on space!).
ron
More information about the Devel
mailing list