This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Problem with IPNC: Booting from Flash Using NFS File System

I tried to boot my IPNC using NFS like described in the IPNC_User_Guide_rel2.0.0.doc point 2.3.3.2 but i only get following error msg:

DM355 IPNC # boot

Loading from NAND 32MiB 3,3V 8-bit, offset 0x400000

** Bad Magic Number 0xffffffff **
## Booting image at 80700000 ...
Bad Magic Number

checking bootsettings says me:

DM355 IPNC # printenv
bootdelay=3
baudrate=115200
bootfile="uImage"
ethaddr=00:01:02:03:04:05
filesize=7e977a
fileaddr=82000000
ipaddr=10.2.1.5
serverip=10.2.1.50
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.2.0 (Apr 21 2008 - 18:41:45) IPNC-U-1.0.2
bootcmd=nboot 0x80700000 0 0x400000;bootm
nfshost=150.100.7.240
rootpath=/home/praktikant/workdir/filesys
bootargs=console=ttyS1,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=150.1c

Environment size: 645/16380 bytes

My shared NFS works fine when using DM355EVM and the IPNC works fine when booting with default boot settings. Using "Search Community" says that Bad Magic Number mean that i have a corrupt Linux kernel, but souldn't I have the same error when using other boot method?

 

 

  • Josef Kohler said:
    Using "Search Community" says that Bad Magic Number mean that i have a corrupt Linux kernel, but souldn't I have the same error when using other boot method?

    Bad Magic Number does mean that U-Boot has found a 'corrupted kernel' however this could mean a few things:

    1. You actually have a corrupt kernel, meaning the image is there but it is somehow damaged.
    2. Your kernel never actually loaded, meaning U-Boot is trying to boot a non existent kernel.
    3. Your U-Boot is looking for the kernel in the wrong place, similar to 2, U-boot is trying to boot a kernel that does not exist at the location specified.

    The first being a problem with the build or mishandling of the uImage file, this is relatively rare, the second and third are more common, where the problem is either with how the kernel was loaded/burned to the board or with the U-Boot arguments.

    I have not used the DM355 IPNC myself so I am not sure exactly how they are telling you to boot it, if you could post the arguments you have that do work that can be compared to the arguments that do not, that may lead to some idea of the problem. The bootcmd you have looks reasonable to me so my first suspicion is the the uImage file is not properly burned to the flash somehow.

  • DM355 IPNC # printenv                                                       
    bootdelay=3                                                                 
    baudrate=115200                                      
    bootfile="uImage"                                    
    ethaddr=00:01:02:03:04:05                            
    filesize=7e977a                                      
    fileaddr=82000000                                    
    ipaddr=10.2.1.5                                      
    serverip=10.2.1.50
    bootcmd=nand read 0x82000000 0x500000 0xa00000;nboot 0x80700000 0 0x200000;bootm 0x80700000
    bootargs=mem=80M console=ttyS1,115200n8 root=/dev/ram0 rw initrd=0x82000000,10M1stdin=serial                                                                   
    stdout=serial                                                                  
    stderr=serial                                                                  
    ver=U-Boot 1.2.0 (Apr 21 2008 - 18:41:45) IPNC-U-1.0.2                         
                                                                                   
    Environment size: 529/16380 bytes

     

    these are default boot arguments

  • The bootcmd value is what determines where your kernel is coming from, in this case if you want to boot the kernel from flash but use NFS for the filesystem you could probably leave bootcmd alone as it is working and just modify your bootargs so that it mounts the NFS server instead of /dev/ram0. I am not sure why you would need the 'nand read' in there, perhaps this is just something specific to the IPNC.

  • it works! thank you bernie! seems that appro's documentation ist not always the best