diff --git a/package/target-finish/1st-stage/1st-stage.conf b/package/target-finish/1st-stage/1st-stage.conf index 4e1373b9c..4c38d7bd9 100644 --- a/package/target-finish/1st-stage/1st-stage.conf +++ b/package/target-finish/1st-stage/1st-stage.conf @@ -34,7 +34,7 @@ kernel="$( grep "[ =]$ROCKCFG_PKG_LINUX_DEFAULT " $base/config/$config/packages echo "Creating initrd data:" rm -rf ${targetdir} -mkdir -p ${targetdir}/{dev,proc,sys,tmp,scsi,net,bin,sbin,etc,lib} +mkdir -p ${targetdir}/{dev,proc,sys,tmp,scsi,net,bin,sbin,etc,$multilib} cd ${targetdir} # this copies a set of programs and the necessary libraries into a @@ -45,7 +45,7 @@ echo "/dev/root / auto defaults 0 0" > etc/fstab # supress udev uig/gid warnings cp -vp ${rootdir}/etc/{passwd,group} etc/ -cp -vp ${rootdir}/lib/libnss_files.so.* lib/ +cp -vp ${rootdir}/$multilib/libnss_files.so.* $multilib/ echo "Creating some device nodes" mknod dev/ram0 b 1 0 @@ -67,7 +67,9 @@ mknod dev/console c 5 1 # cp ${base}/build/${ROCKCFG_ID}/isomd5sum/checkisomd5 bin/ # rm -rf ${base}/build/${ROCKCFG_ID}/compile_isomd5sum.sh ${base}/build/${ROCKCFG_ID}/isomd5sum -libdirs="${rootdir}/lib `sed -e"s,^\(.*\),${rootdir}\1," ${rootdir}/etc/ld.so.conf | tr '\n' ' '`" +libdirs="${rootdir}/$multilib ${rootdir}/usr/$multilib \ + `sed -r -e'/^[ ]*(#|$)/ d' -e"s,^(.*),${rootdir}\1," -e"s,/lib(/|$),/$multilib\1,p" \ + ${rootdir}/etc/ld.so.conf | uniq | tr '\n' ' '`" needed_libs() { local x="${1}" library @@ -170,12 +172,6 @@ for x in lib/modules/*/kernel/drivers/{scsi,net}; do [ -d $x ] && ln -s ${x#lib/modules/} lib/modules/ done -if [ -e ${rootdir}/lib64 ] ; then - # mixed 32/64-bit libraries are not supported - echo "Creating /lib64 -> /lib symlink ... " - ln -s lib $targetdir/lib64 -fi - echo "Copying required libraries ... " while [ -n "${libs}" ] ; do oldlibs=${libs}