Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 14
Hello , I am new to this linux-forum. I am porting linux-2.6.28 kernel in our customized 8640 board.Our board has 2GB ddr and 256 MB flash. Bootloader is fine. when ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Nov 2012
    Posts
    11

    Ramdisk error : invalid compressed format (err=1)


    Hello ,


    I am new to this linux-forum. I am porting linux-2.6.28 kernel in our customized 8640 board.Our board has 2GB ddr and 256 MB flash. Bootloader is fine.

    when i load uimage & ramdisk to the board it shows one error in ramdisk,as shown below,

    /*************************************************/
    RAMDISK: Compressed image found at block 0

    invalid compressed format (err=1)

    EXT2-fs warning: checktime reached, running e2fsck is recommended

    VFS: Mounted root (ext2 filesystem)

    /*************************************************/


    I tried with different ramdisk, but still problem remains same.

    I couldn figure out why i am getting this error.

    Can anyone suggest solution to solve this problem.


    regards,

    Akilan

  2. #2
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    Hello and welcome!

    Have you tried loading an uncompressed kernel? How is the kernel image compressed? On a Linux host that has a copy of the uimage kernel, try this:

    Code:
    file ./vmlinuz-2.6.28
    substitute the name of your kernel file, obviously. It is likely bzip2 or gzip, but could be something else. Once, you know, you can uncompress it and try to load that (if your board supports the greater size, that is).

  3. #3
    Just Joined!
    Join Date
    Nov 2012
    Posts
    11
    Hi,

    Thanks for ur reply,


    I tried uncompressing kernel using this commmand,

    mkimage -A ppc -O linux -T kernel -C none -a 0 -e 0 -n linux-2.6.28.5 -d vmlinux.bin.gz uImage

    and loaded the image, but it got crashed.

    kernel image compressed in gzip format using this command,

    mkimage -A ppc -O linux -T kernel -C gzip -a 0 -e 0 -n linux-2.6.28.5 -d vmlinux.bin.gz uImage


    My board use DDR with 2GB capacity. When i configure the DDR to 1GB , i am able to load the same compressed kernel image along with ramdisk and dtb image without any crash or message.

    But when i configure the DDR to 2GB and try to load the same kernel and ramdisk image .i get the error message as "invalid compressed format message" .

    "invaid compressed format" means for kernel image or for ramdisk image ?

    I am trying to figure out whether problem resides in kernel or ramdisk or with ddr.

    Any help to sort this problem,


    regards,

    Akilan.
    Attached Files Attached Files

  4. $spacer_open
    $spacer_close
  5. #4
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    Quote Originally Posted by akilkumar View Post
    My board use DDR with 2GB capacity. When i configure the DDR to 1GB , i am able to load the same compressed kernel image along with ramdisk and dtb image without any crash or message.

    But when i configure the DDR to 2GB and try to load the same kernel and ramdisk image .i get the error message as "invalid compressed format message" .
    Have you tried swapping the memory sticks, and booting with the 2nd stick as the 1st stick, in a 1GB configuration (to rule out a bad stick)?

    "invaid compressed format" means for kernel image or for ramdisk image ?
    I think that is referring to the ramdisk image.

    From your attachment:

    Code:
    RAMDISK: Compressed image found at block 0
    invalid compressed format (err=1)
    VFS: Mounted root (ext2 filesystem).
    Freeing unused kernel memory: 252k init
    Warning: unable to open an initial console.
    Kernel panic - not syncing: No init found.  Try passing init= option to kernel.
    Rebooting in 180 seconds..
    so are you using the same ramdisk when you boot w/2GB memory as you are when you boot w/1GB? It is strange that adding ram would cause an error (unless the RAM was bad). can you show your kernel boot params?

  6. #5
    Just Joined!
    Join Date
    Nov 2012
    Posts
    11
    Yes,
    I am using same filesystem and kernel image to boot w/2GB memory. W/1GB memory space, this images are working fine.

    This is my boot params,

    Code:
    => pri
    bootcmd=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
    ramboot=setenv bootargs root=/dev/ram rw console=$consoledev,$baudrate $othbootargs;tftp $ramdiskaddr $ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr $ramdiskaddr $fdtaddr
    nfsboot=setenv bootargs root=/dev/nfs rw nfsroot=$serverip:$rootpath ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off console=$consoledev,$baudrate $othbootargs;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr
    bootdelay=10
    baudrate=115200
    loads_echo=1
    ethaddr=00:E0:0C:00:00:01
    eth1addr=00:E0:0C:00:01:FD
    eth2addr=00:E0:0C:00:02:FD
    eth3addr=00:E0:0C:00:03:FD
    hostname=unknown
    loadaddr=1000000
    netdev=eth0
    uboot=u-boot.bin
    tftpflash=tftpboot $loadaddr $uboot; protect off 0xfff00000 +$filesize; erase 0xfff00000 +$filesize; cp.b $loadaddr 0xfff00000 $filesize; protect on 0xfff00000 +$filesize; cmp.b $loadaddr 0xfff00000 $filesize
    consoledev=ttyS0
    ramdiskaddr=2000000
    ramdiskfile=your.ramdisk.u-boot
    fdtaddr=c00000
    en-wd=mw.b ffdf0010 0x08; echo -expect:- 08; md.b ffdf0010 1
    dis-wd=mw.b ffdf0010 0x00; echo -expect:- 00; md.b ffdf0010 1
    maxcpus=2
    othbootargs=
    fdtfile=dtb
    ethact=eTSEC1
    filesize=4E20
    fileaddr=C00000
    netmask=255.255.255.0
    bootfile=puimage
    rootpath=/home/dm816x/ppc/ppc
    serverip=172.17.1.46
    ipaddr=172.17.1.253
    gatewayip=172.17.0.3
    bootargs=console=ttyS0,115200 root=/dev/ram0 rw
    stdin=serial
    stdout=serial
    stderr=serial

  7. #6
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    Quote Originally Posted by akilkumar
    Code:
    ramdiskaddr=2000000
    I'm not sure what this does, do you have documentation for your board that would explain it?

    Does your kernel perhaps need to built to support the greater RAM?

  8. #7
    Just Joined!
    Join Date
    Nov 2012
    Posts
    11
    I'm not sure what this does, do you have documentation for your board that would explain it?
    ramdiskaddr is just a load address of filesystem. We can either use this address or some other ram address to load the filesystem. I did in both the ways but result is same.

    Does your kernel perhaps need to built to support the greater RAM?
    I dint do any memory configuration in kernel ,i guess it straight way takes the configuration from boot loader. If i need to tell kernel to use BIG Ram size , can you tell how to confgure it.

  9. #8
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    Quote Originally Posted by akilkumar View Post
    I dint do any memory configuration in kernel ,i guess it straight way takes the configuration from boot loader. If i need to tell kernel to use BIG Ram size , can you tell how to confgure it.
    you have to recompile the kernel to support more memory. I assume you have the kernel source and the .config file that was used to compile it originally, and all the build tools, etc.

    When you are in the linux configuration menu, look for that option here:

    Processor type and features --> High Memory Support --> 4GB

    This option explained by the kernel:

    CONFIG_HIGHMEM4G:
    Select this if you have a 32-bit processor and between 1 and 4
    gigabytes of physical RAM.

    I don't know if this is your problem, it's just an idea. Is there documentation for your board regarding using more than 1GB of memory?

  10. #9
    Just Joined!
    Join Date
    Nov 2012
    Posts
    11
    When you are in the linux configuration menu, look for that option here:

    Processor type and features --> High Memory Support --> 4GB
    High Memory support is enabled in Linux. But no use, still crash is happening while compressing the filesystem.

    I am facing one more issue in kernel . Kernel is able to ioremap upto 128MB and not more than that. My flash and Fpga requires 256MB memory but kernel crash if i allocate 256MB space. So i allocate 128MB memory in device tree and try to boot the kernel . It worked fine without crashing.

    I suspect some memory mapping issue in boot loader and not in linux kernel . I goggled lot regarding tis issue and got some hint from this site

    Re: Is it possible to use 2GB of DDR on MPC834x?.
    In our u-boot ,CONFIG_MAX_MEM_MAPPED is mapped to 256MB. So i guess , this may be reason for kernel crash.

    But i dono what this macro CONFIG_MAX_MEM_MAPPED do.
    I dont have idea.

    Plz suggest me whether this is valid point .


    Is there documentation for your board regarding using more than 1GB of memory?
    Our is customized board, so no documentation for this board. It will developed oly at final stage.

  11. #10
    Trusted Penguin
    Join Date
    May 2011
    Posts
    4,353
    Are you aware of this patch? (was first google hit for CONFIG_MAX_MEM_MAPPED)

Page 1 of 2 1 2 LastLast

Posting Permissions

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