Subodh Nijsure wrote: > Hello Weqaar, > > I am still not able to load the ELF image on my board that run > redboot. I am trying to load image that is combined bzImage + ramdisk > produced by wraplinux script. > (http://www.kernel.org/pub/linux/utils/boot/wraplinux/) > > I have included output of readelf -h and 50 lines of system.map > > readelf -h vmlinux.initrd.wrap > ELF Header: > Magic: 7f 45 4c 46 01 01 01 ff 00 00 00 00 00 00 00 00 > Class: ELF32 > Data: 2's complement, little endian > Version: 1 (current) > OS/ABI: Standalone App > ABI Version: 0 > Type: EXEC (Executable file) > Machine: Intel 80386 > Version: 0x1 > Entry point address: 0x12a18 > Start of program headers: 52 (bytes into file) > Start of section headers: 5309992 (bytes into file) > Flags: 0x0 > Size of this header: 52 (bytes) > Size of program headers: 32 (bytes) > Number of program headers: 3 > Size of section headers: 40 (bytes) > Number of section headers: 8 > Section header string table index: 7 > > > > 00000400 A __kernel_vsyscall > 00000410 A SYSENTER_RETURN > 00000420 A __kernel_sigreturn > 00000440 A __kernel_rt_sigreturn > 00100000 A phys_startup_32 > c0100000 T _text > c0100000 T startup_32 > c01000b0 T _stext > c01000b0 t run_init_process > c01000b0 T stext > c01000c4 t init_post > c01001b0 t try_name > c010037b T name_to_dev_t > c01005f0 T calibrate_delay > c01008a0 T thread_saved_pc > c01008aa T disable_hlt > c01008b2 T enable_hlt > c01008ba t poll_idle > c01008bd T dump_task_regs > c01009a8 T select_idle_routine > c01009e3 T arch_align_stack > c0100a18 T mwait_idle_with_hints > c0100a52 t mwait_idle > c0100a5c T sys_vfork > c0100a8c T sys_clone > c0100ac7 T sys_fork > c0100af7 T release_thread > c0100b0a T kernel_thread > c0100b9c T cpu_idle > c0100c05 T dump_thread > c0100d22 T sys_execve > c0100da2 T get_wchan > c0100e22 T sys_set_thread_area > c0100fb6 T sys_get_thread_area > c01010de T show_regs > c01012a1 T default_idle > c01012da T copy_thread > c01014b3 t __switch_to_xtra > c0101518 T __switch_to > c0101640 T cpu_idle_wait > c01016b2 T exit_thread > c010175f T flush_thread > c01017d8 T prepare_to_copy > c0101840 t setup_sigcontext > c01019c9 T sys_sigaltstack > c01019db t restore_sigcontext > c0101bb5 T sys_sigaction > c0101c8a T sys_rt_sigreturn > c0101d62 T do_notify_resume > c0102428 T sys_sigsuspend >
Your image has Linux virtual addresses (which happen to correspond to the physical RAM address, but not how RedBoot maps the RAM). Try this: RedBoot> lo -b 0x00100000 ... RedBoot> exec -c "console=ttyS0,115200 ip=dhcp root=/dev/nfs ... Note: no '-b' or '-l' option should be necessary for 'exec' > On Sun, Jul 26, 2009 at 9:33 AM, Weqaar Janjua<weq...@yahoo.com> wrote: >> Please post the first 50 lines of System.map and output from 'readelf -h >> vmlinux' >> >> - Weqaar A. Janjua >> >> >> >> ----- Original Message ---- >> From: Subodh Nijsure <nijsure.sub...@gmail.com> >> To: Gary Thomas <g...@mlbassoc.com> >> Cc: ecos-de...@sourceware.org >> Sent: Friday, July 24, 2009 5:30:34 PM >> Subject: Re: Booting ELF image using redboot >> >> See my attempts below (still no joy, I am stumped appreciate help!) >> >> On Fri, Jul 24, 2009 at 8:15 AM, Gary Thomas<g...@mlbassoc.com> wrote: >>> Subodh Nijsure wrote: >>>> I am new to using redboot and I need some help. >>>> >>>> This is x86 platform. >>>> >>>> On this platform I can boot the bzImage but not the ELF format linux image. >>>> >>>> Example if I have following boot script my board boots fine. >>>> >>>> load -v -r -m disk -b 0x200000 hda2:bzImage >>>> exec -b 0x200000 -l 0x300000 -c "console=ttyS0,115200 ip=dhcp >>>> root=/dev/nfs (some env specific stuff) " >>>> >>>> However I can not get redboot to load the ELF image I see message ( >>>> Bootsector magic not found (0x8954 @ 0x002001fe) >>>> >>>> (Not this vmlinux was produced by build process that created bzImage >>>> that works) >>>> >>>> load -v -r -m disk -b 0x200000 hda2:vmlinux >>>> exec -b 0x200000 -l 0x300000 -c "console=ttyS0,115200 ip=dhcp >>>> root=/dev/nfs (some env specific stuff) " >>>> Bootsector magic not found (0x8954 @ 0x002001fe) >>>> >>>> Reason I am trying to boot ELF image is I am trying to use wraplinux >>>> utility to wrap kernel and initrd, wraplinux produce >>>> >>>> Would appreciate any pointers as to what parameters I need to fix for >>>> load/exec when loading ELF file. >>> Try leaving out the '-r' and '-b' options - ELF loading >>> should not need them. >> So I tried doing the following >> >> load -v -m disk hda2:vmlinux >> exec -c "console=ttyS0,115200 root=/dev/sda2 ip=dhcp platformid=0x500300" >> >> I also tried to execute exec with that specified -l >> >> load -v -m disk hda2:vmlinux >> exec -l 0x500000 -c "console=ttyS0,115200 root=/dev/sda2 ip=dhcp >> platformid=0x500300" >> >> without any luck objdump for vmlinux shows the following: so I have >> also tried executing >> go 0x00100000 without any luck >> >> >> vmlinux: file format elf32-i386 >> vmlinux >> architecture: i386, flags 0x00000112: >> EXEC_P, HAS_SYMS, D_PAGED >> start address 0x00100000 >> >> Program Header: >> LOAD off 0x00001000 vaddr 0xc0100000 paddr 0x00100000 align 2**12 >> filesz 0x0036032c memsz 0x0036032c flags r-x >> LOAD off 0x00362000 vaddr 0xc0461000 paddr 0x00461000 align 2**12 >> filesz 0x0007a086 memsz 0x000bc000 flags rwx >> NOTE off 0x002b4cd8 vaddr 0xc03b3cd8 paddr 0x003b3cd8 align 2**2 >> filesz 0x00000024 memsz 0x00000024 flags --- >> >> >> >> >> /Subodh >> >> >> >> >> >> -- ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world ------------------------------------------------------------