[Buildroot] chown to root does not work

Thilo Riessner thilo at riessner.de
Mon Jan 22 18:16:35 UTC 2007


Am Freitag, 19. Januar 2007 17:33 schrieben Sie:
> On Fri, Jan 19, 2007 at 04:12:09PM +0100, Thilo Riessner wrote:
> >Am Freitag, 19. Januar 2007 14:35 schrieb Goetz Bock:
> >> On Fri, Jan 19 '07 at 13:31, Thilo Riessner wrote:
> >> > In the docs is mentioned, that one doesn't need to be root to build a
> >> > root filesystem. But when building the filesystem as a normal user,
> >> > chown is not able to change owner to root in the target filesystem. Is
> >> > there a solution of the problem, that I don't see?
>
> Who does call chown in there? Which package?
> Please show me the logs around the alleged call to chown that is
> failing.
# Use fakeroot to pretend all target binaries are owned by root
rm -f /home/foo/buildroot/build_i386/staging_dir/_fakeroot.rootfs.i386.ext2
touch /home/foo/buildroot/build_i386/staging_dir/.fakeroot.00000
cat /home/foo/buildroot/build_i386/staging_dir/.fakeroot* 
> /home/triessner/buildroot/build_i386/staging_dir/_fakeroot.rootfs.i386.ext2
echo "chown -R root:root /home/foo/buildroot/build_i386/root" 
>> /home/triessner/buildroot/build_i386/staging_dir/_fakeroot.rootfs.i386.ext2
# Use fakeroot to pretend to create all needed device nodes
echo "/home/foo/buildroot/build_i386/staging_dir/bin/makedevs -d 
target/generic/device_table.txt /home/triessner/buildroot/build_i386/root" \
                
>> /home/foo/buildroot/build_i386/staging_dir/_fakeroot.rootfs.i386.ext2
# Use fakeroot so genext2fs believes the previous fakery
GENEXT2_REALSIZE=`LC_ALL=C 
du -l -s -c -k /home/foo/buildroot/build_i386/root | grep total | 
sed -e "s/total//"`; \
        GENEXT2_ADDTOROOTSIZE=`if [ $GENEXT2_REALSIZE -ge 20000 ] ; then echo 
16384; else echo 2400; fi`; \
        GENEXT2_SIZE=`expr $GENEXT2_REALSIZE + $GENEXT2_ADDTOROOTSIZE`; \
        GENEXT2_ADDTOINODESIZE=`find /home/foo/buildroot/build_i386/root | 
wc -l`; \
        GENEXT2_INODES=`expr $GENEXT2_ADDTOINODESIZE + 400`; \
        set -x; \
        echo "/home/foo/buildroot/build_i386/genext2fs-1.3/genext2fs -b 
$GENEXT2_SIZE " \
                "-i $GENEXT2_INODES -d /home/foo/buildroot/build_i386/root " \
                " -r 0 /home/foo/buildroot/rootfs.i386.ext2" 
>> /home/triessner/buildroot/build_i386/staging_dir/_fakeroot.rootfs.i386.ext2
+ echo '/home/foo/buildroot/build_i386/genext2fs-1.3/genext2fs -b 4548 ' '-i 
761 -d /home/triessner/buildroot/build_i386/root ' ' -r 
0 /home/triessner/buildroot/rootfs.i386.ext2'
chmod 
a+x /home/foo/buildroot/build_i386/staging_dir/_fakeroot.rootfs.i386.ext2
/home/foo/buildroot/build_i386/staging_dir/usr/bin/fakeroot -- /home/triessner/buildroot/build_i386/staging_dir/_fakeroot.rootfs.i386.ext2
chown: Ändern des Eigentümers von 
„/home/foo/buildroot/build_i386/root/bin/busybox“: Die Operation ist nicht 
erlaubt



More information about the buildroot mailing list