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