[ELDK] rfsb missing directories
Wolfgang Denk
wd at denx.de
Thu Apr 29 22:32:00 CEST 2010
Dear "Steven A. Falco",
In message <4BD99FDF.1080209 at harris.com> you wrote:
> I am trying out rfsb to build a cramfs. I get the following:
>
> saf$ make
> Current target list is /n/amana/proj/hydra/sw/sfalco/rfsb/build/images/image.cramfs
> Cleaning /n/amana/proj/hydra/sw/sfalco/rfsb/build
> Using CRAMFS skeleton from 'config/skeleton/cramfs' to populate file system
> 2 blocks
> 119 blocks
> Creating busybox symlinks
> ln: creating symbolic link `bin/busybox' to `/sbin/busybox': No such file or directory
> ln: creating symbolic link `.//usr/bin/[' to `/sbin/busybox': No such file or directory
> ln: creating symbolic link `.//usr/bin/[[' to `/sbin/busybox': No such file or directory
>
> I've appended the configuration file, as well as the complete build log.
>
> I notice that at line 192, the log file says "Populating /n/amana/proj/hydra/sw/sfalco/rfsb/build with directories"
> but this happens after the "ln -s" errors are reported. Is
> something simply happening in the wrong order? If I add the
> directories to the skeleton for cramfs (namely, bin, usr/sbin,
> usr/bin) then these "ln -s" error messages go away...
Seems this is a consequence of one of my patches:
commit db3060c86450d82847f194a79efb387b334ceff0
Author: Wolfgang Denk <wd at denx.de>
Date: Thu Apr 29 12:35:04 2010 +0200
Split POPULATE step into CLEAN and ADD_DIRS
My testing did not show it because I instealled some other packages in
addition to BusyBox, which created /bin and /sbin etc. on their way.
Can you please test if the following patch fixes the problem for you?
diff --git a/Makefile b/Makefile
index c1660d8..af529e4 100644
--- a/Makefile
+++ b/Makefile
@@ -191,15 +191,18 @@ $(STAMP_ELDK_PKGS): $(STAMP_RFSB_SKEL)
echo "No 'busybox.links' file found, skipping busybox preparation." ;\
else \
cd $(BUILD_RFS) ;\
+ mkdir -p ./bin ;\
ln -sf /sbin/busybox bin/busybox ;\
while read lnk; do \
+ dname=`dirname $$lnk` ;\
if [ -r ./$$lnk ]; then \
- dname=`dirname $$lnk`/bb ;\
+ dname=${dname}/bb ;\
fname=`basename $$lnk` ;\
echo "Warning: creating conflicting link as $$dname/$$fname" ;\
mkdir -p ./$$dname ;\
ln -s /sbin/busybox ./$$dname/$$fname ;\
else \
+ mkdir -p ./$$dname ;\
ln -s /sbin/busybox ./$$lnk ;\
fi ; \
done < $$bblinks ;\
Thanks!
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
If you're not part of the solution, you're part of the problem.
More information about the eldk
mailing list