Hi, I changed the owner of the busybox, and used chmod as you told me for bin/busybox but its permission are -rwsrwxr-x not srwxrwxr-x-r. --for compiling helloworld I used $powerpc-405-linux-gnu-gcc -static helloworld.c -o helloworld --For ramdisk creation I followed the following steps: mkdir tmp/initrd dd if=/dev/zero of=images/initrd.img bs=1k count=8192 /sbin/mke2fs -F -v -m0 images/initrd.img mount -o loop images/initrd.img tmp/initrd cp -av ramdisk/* tmp/initrd //here ramdisk holds directory structure.. I copied directory structure from git, linux support ...but I changed lib and bin contents (bin contents with busybox-1.10.3 installation, and lib contents with lib of my cross-compiler setup ,crosstool-0.28-rc35) umount tmp/initrd gzip < images/initrd.img > images/ramdisk.image.gz ----For making directory structure of ramdisk I followed following steps for file in libc libcrypt libdl libm libpthread libresolv libutil do cp $file-*.so /home/neeraj/kerneldev/rootfs0.1/lib cp -d $file.so.[*0-9] /home/neeraj/kerneldev/rootfs0.1/lib done cp -d ld*.so* /home/neeraj/kerneldev/rootfs0.1/lib ----And in menuconfig I selected filesystem as ramdisk with following settings <*> RAM block device support (16) Default number of RAM disks (32768) Default RAM disk size (kbytes) // I think here can be the issue ------------------------------------------------------------------- Neeraj Garg Ron Sass wrote: > Hmmm... I think you've got a problem with your ramdisk. There are > a couple of issues but these alone don't explain your helloworld test. > > 1. busybox should be set to root not neeraj > 2. you need to setuid busybox for some apps to run > (chmod 4775 bin/busybox so that it is srwxrwxr-x-r) > 3. I would be wary of Yaghmour's text... it is a little dated > and if I remember correctly, he uses some regular expressions > to copy "just" the libraries you need to lib; but with > newer versions of gcc/glibc these regular expressions > don't catch everything > > Two questions: > > Can you tell me exactly what your cross-compile command-line looks > like? How are compiling helloworld? > > How are you creating the ramdisk? How do you go from directory > structure to ramdisk.image.gz? > > Ron > > >> Hi, >> >> --Ron,Permissions are -rwxrwxr-x for all and owner is neeraj itself. And >> shared libraries are present in lib/ . Now I have placed helloworld.elf >> (using printf to print helloworld, and linked with -static option) in >> bin/ and changed init=/bin/helloworld , again it says cannot execute >> /bin/helloworld. >> >> --John, we are using our custom hardware board, not exactly ML405 but >> its more or less similar to ML405, so I cannot use bit file provided for >> ML405. Till now we were using xilkernel, but now onward we are planning >> to use Linux. For serial console I have no option other than uartlite. >> This is how I compiled kernel : >> >> 1) make ARCH=ppc ml405_defconfig >> 2) patched kernel src with EDK(10.1) , so as to change xparameter.h, and >> later made some changed in arch/ppc/boot/simple/embed_config.c and >> xparameters.h file. >> 3) make ARCH=ppc menuconfig , and selected uartlite to be console and >> ramdisk as file system. >> 4) Created ramdisk (as per Building embedded linux, Karim Yaghmour, >> however major and minor number for device nodes is similar to ramdisk >> provided at git.xilinx.com) >> 5) I have placed this ramdisk in arch/ppc/boot/images >> 6) And then issued $make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- >> zImge.initrd >> >> >> --I have downloaded ELDK4.1 and installed it. And when I compile >> simple helloworld.c using cross compiler, it says unresolved symbol >> 'printf' . Is there anything else to install with ELDK ? >> >> >> ------------------------------------------------------------------- >> Neeraj Garg >> >> >> >> In addition to what John wrote, I would also investigate your ramdisk. >> I would be sure to check that you have the permissions/owner set correctly >> on bin/busybox. Also, I would double check that, if you compiled busybox >> with shared libraries, the shared libraries are in the right place >> on your ramdisk. >> >> >> Ron >> >> > >> > Hi, >> > >> > Yes I am using ARCH=ppc (actual line is $make ARCH=ppc >> > CROSS_COMPILE=powerpc-405-linux-gnu- zImage.initrd ) for this I have >> > placed ramdisk.image.gz in arch/ppc/boot/images. In case of ARCH=powerpc >> > I cannot find processor type 405 , in make menuconfig. Thats why i am >> > using ARCH=ppc. >> > >> >> --------------060307000300070002040802 >> Content-Type: text/html; charset=ISO-8859-1 >> Content-Transfer-Encoding: 7bit >> >> >> >>
>> >> >> >> Hi,------------------------------------------------------------------- >> Neeraj Garg >>>>