genext2fs problem ?

yahoo_groups at rovoreed.com yahoo_groups at rovoreed.com
Sun Sep 11 17:10:01 UTC 2005


Not sure I know what is going on here, but I'm getting differences between my  buildroot file 
system and the file system when running on the target system.

I use genext2fs to create the file system, gzip it up and use syslinux to load it into a ram disk 
on the target system.

What seems to happen is that /etc/pcmcia/wireless.opts gets clobbered and converted into a 
block device.

ie, on my development system I have

[mike at gladys buildroot]$ ls -l build_i386/root/etc/pcmcia
total 164
-rw-r--r--    1 mike     mike        54501 Aug 28 19:26 config
-rw-r--r--    1 mike     mike         2137 Aug 28 19:26 config.opts
-rwxr-xr-x    1 mike     mike         1526 Aug 28 19:26 ftl
-rw-r--r--    1 mike     mike          251 Aug 28 19:26 ftl.opts
-rwxr-xr-x    1 mike     mike         1782 Aug 28 19:26 ide
-rw-r--r--    1 mike     mike          486 Aug 28 19:26 ide.opts
-rwxr-xr-x    1 mike     mike          853 Aug 28 19:26 ieee1394
-rw-r--r--    1 mike     mike          232 Aug 28 19:26 ieee1394.opts
-rwxr-xr-x    1 mike     mike         2303 Aug 28 19:26 memory
-rw-r--r--    1 mike     mike          318 Aug 28 19:26 memory.opts
-rwxr-xr-x    1 mike     mike         6823 Aug 28 19:26 network
-rw-r--r--    1 mike     mike         1507 Aug 31 19:20 network.opts
-rwxr-xr-x    1 mike     mike         1622 Aug 28 19:26 parport
-rw-r--r--    1 mike     mike          308 Aug 28 19:26 parport.opts
-rwxr-xr-x    1 mike     mike         1842 Aug 28 19:26 scsi
-rw-r--r--    1 mike     mike          573 Aug 28 19:26 scsi.opts
-rwxr-xr-x    1 mike     mike         2678 Aug 28 19:26 serial
-rw-r--r--    1 mike     mike          570 Aug 28 19:26 serial.opts
-rw-r--r--    1 mike     mike         3797 Aug 28 19:26 shared
-rwxr-xr-x    1 mike     mike         2673 Aug 28 19:26 wireless
-rw-rw-r--    1 mike     mike         5738 Aug 27 18:33 wireless.a
-rw-r--r--    1 mike     mike         5827 Sep 10 20:08 wireless.opts
-rw-r--r--    1 mike     mike         5830 Sep  9 22:53 wireless.opts.2
[mike at gladys buildroot]$ 

on my embedded system I get ...

# ls -l /etc/pcmcia
-rw-r--r--    1 root     root        54501 Aug 28 12:26 config
-rw-r--r--    1 root     root         2137 Aug 28 12:26 config.opts
-rwxr-xr-x    1 root     root         1526 Aug 28 12:26 ftl
-rw-r--r--    1 root     root          251 Aug 28 12:26 ftl.opts
-rwxr-xr-x    1 root     root         1782 Aug 28 12:26 ide
-rw-r--r--    1 root     root          486 Aug 28 12:26 ide.opts
-rwxr-xr-x    1 root     root          853 Aug 28 12:26 ieee1394
-rw-r--r--    1 root     root          232 Aug 28 12:26 ieee1394.opts
-rwxr-xr-x    1 root     root         2303 Aug 28 12:26 memory
-rw-r--r--    1 root     root          318 Aug 28 12:26 memory.opts
-rwxr-xr-x    1 root     root         6823 Aug 28 12:26 network
-rw-r--r--    1 root     root         1507 Aug 31 12:20 network.opts
-rwxr-xr-x    1 root     root         1622 Aug 28 12:26 parport
-rw-r--r--    1 root     root          308 Aug 28 12:26 parport.opts
-rwxr-xr-x    1 root     root         1842 Aug 28 12:26 scsi
-rw-r--r--    1 root     root          573 Aug 28 12:26 scsi.opts
-rwxr-xr-x    1 root     root         2678 Aug 28 12:26 serial
-rw-r--r--    1 root     root          570 Aug 28 12:26 serial.opts
-rw-r--r--    1 root     root         3797 Aug 28 12:26 shared
-rwxr-xr-x    1 root     root         2673 Aug 28 12:26 wireless
brw-r-----    1 root     root     100,   0 Aug 27 11:33 wireless.a
brw-r-----    1 root     root     100,   2 Sep 10 13:08 wireless.opts
-rw-r--r--    1 root     root         5830 Sep  9 15:53 wireless.opts.2
# 

There's nothing in device_table.txt affecting this directory, or setting the major number to 100.

It's all a bit odd. Without the wireless.a file only wireless.opts gets clobbered (to 100,0). So it's 
almost a random positional thing. Could something be scribbling over my ram-disk ? Surely 
linux would panic ??

I've tried taking directory listings at various stages as my embedded system boots, and it's 
there as soon as the the directory is mounted.

Is there some way I can see inside the file genext2fs creates to see what it's created ?

My make looks like this ...

[mike at gladys buildroot]$ make
/sbin/ldconfig -r /home/mike/buildroot/build_i386/root 2>/dev/null
make: [/home/mike/buildroot/rootfs.i386.ext2] Error 1 (ignored)
# Use fakeroot to pretend all target binaries are owned by root
/home/mike/buildroot/build_i386/staging_dir/usr/bin/fakeroot \
        -i /home/mike/buildroot/build_i386/staging_dir/fakeroot.env \
        -s /home/mike/buildroot/build_i386/staging_dir/fakeroot.env -- \
        chown -R root:root /home/mike/buildroot/build_i386/root
# Use fakeroot to pretend to create all needed device nodes
/home/mike/buildroot/build_i386/staging_dir/usr/bin/fakeroot \
        -i /home/mike/buildroot/build_i386/staging_dir/fakeroot.env \
        -s /home/mike/buildroot/build_i386/staging_dir/fakeroot.env -- \
        /home/mike/buildroot/build_i386/staging_dir/bin/makedevs \
        -d target/generic/device_table.txt \
        /home/mike/buildroot/build_i386/root
rootdir=/home/mike/buildroot/build_i386/root
table='target/generic/device_table.txt'
# Use fakeroot so genext2fs believes the previous fakery
GENEXT2_REALSIZE=`LANG=C du -l -s -c -k /home/mike/buildroot/build_i386/root | g
rep total | sed -e "s/total//"`; \
GENEXT2_ADDTOROOTSIZE=`if [ $GENEXT2_REALSIZE -ge 20000 ] ; then echo 16384; els
e echo 2400; fi`; \
GENEXT2_SIZE=`expr $GENEXT2_REALSIZE + $GENEXT2_ADDTOROOTSIZE`; \
GENEXT2_ADDTOINODESIZE=`find /home/mike/buildroot/build_i386/root | wc -l`; \
GENEXT2_INODES=`expr $GENEXT2_ADDTOINODESIZE + 400`; \
set -x; \
/home/mike/buildroot/build_i386/staging_dir/usr/bin/fakeroot \
        -i /home/mike/buildroot/build_i386/staging_dir/fakeroot.env \
        -s /home/mike/buildroot/build_i386/staging_dir/fakeroot.env -- \
/home/mike/buildroot/build_i386/genext2fs-1.3/genext2fs \
        -b $GENEXT2_SIZE \
        -i $GENEXT2_INODES \
        -d /home/mike/buildroot/build_i386/root \
         -U /home/mike/buildroot/rootfs.i386.ext2
+ /home/mike/buildroot/build_i386/staging_dir/usr/bin/fakeroot -i /home/mike/bui
ldroot/build_i386/staging_dir/fakeroot.env -s /home/mike/buildroot/build_i386/st
aging_dir/fakeroot.env -- /home/mike/buildroot/build_i386/genext2fs-1.3/genext2f
s -b 5276 -i 895 -d /home/mike/buildroot/build_i386/root -U /home/mike/buildroot
/rootfs.i386.ext2
-rw-rw-r--    1 mike     mike      5402624 Sep 11 17:55 /home/mike/buildroot/roo
tfs.i386.ext2
[mike at gladys buildroot]$

Any help appreciated.

Mike



More information about the uClibc mailing list