Find the answer to your Linux question:
Results 1 to 2 of 2
Hello everybody, We recently bought a Calxeda machine which holds server boards of ECX-1000 SoCs. Each of these SoCs hold 4 x ARM Cortex A9 processors. Because we want profile ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Dec 2012
    Posts
    2

    Compile Kernel "Bad Linux ARM zImage magic" on Calxeda (Highbank)


    Hello everybody,

    We recently bought a Calxeda machine which holds server boards of ECX-1000 SoCs. Each of these SoCs hold 4 x ARM Cortex A9 processors.

    Because we want profile applications in these SoCs using the DSTREAM tool from ARM we need to recompile the kernel to enable some parameters to read the performance counters of these ARM processors. Since we have an Ubuntu OS running on each of these SoCs and a gcc/g++ running, there is no need for cross-compiling. Therefore, I downloaded the kernel and generated initrd.img and zImage files.

    The way these SoCs boot is based on uboot. Basically, we place under /boot the vmlinuz and initrd.img files and in the beginning the machine reads the boot.scr file:

    setenv bootargs console=ttyAMA0 root=UUID=a85a279c-c0a7-4f6b-ba52-73e2715654c7 nosplash
    mw.l 800000 0 10000
    scsi scan
    ext2load scsi 0 0x800000 vmlinuz
    ext2load scsi 0 0x1000000 initrd.img
    bootz 0x800000 0x1000000:${filesize} 0x1000

    Basically, it reads vmlinuz and initrd.img files. However, when I reboot the machine I get this error:

    Starting Ubuntu...
    scanning bus for devices...
    Device 0: (2:0) Vendor: ATA Prod.: ST9250610NS Rev: SN03
    Type: Hard Disk
    Capacity: 2097151.8 MB = 2047.9 GB (-241 x 512)
    Loading file "vmlinuz" from scsi device 0:1
    3473076 bytes read
    Loading file "initrd.img" from scsi device 0:1
    1766773 bytes read
    Bad Linux ARM zImage magic!

    It shows the message "Bad Linux ARM zImage magic". This is really weird, it seems that it thinks that the kernel image is for another architecture and not for arm. I have the same error if I try to boot an image which is for x86.

    I have tried booting different kernel versions but it doesn't work. Any feedback will be really appreciated. Thanks!

  2. #2
    Linux Guru Rubberman's Avatar
    Join Date
    Apr 2009
    Location
    I can be found either 40 miles west of Chicago, in Chicago, or in a galaxy far, far away.
    Posts
    11,533
    If you haven't sorted this out yet, you probably should look at the .config file and/or Makefile for the kernel to be sure that it is picking the correct architecture name tags. Anyway, it is likely some flag is causing the wrong magic number to be generated for the zimage file.
    Sometimes, real fast is almost as good as real time.
    Just remember, Semper Gumbi - always be flexible!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •