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.

The Linux kernal cannot boot after I changed the mem. Why?

Other Parts Discussed in Thread: DM3730

Recently, I debug the linux in DM3730. When I changed the boot parameters, the linux kernal cannot boot.
I changed boot parameters through the serial port :
setenv mmcargs 'setenv bootargs console=${console} mpurate=${mpurate} vram=${vram},omapdss def_disp=${defaultdisplay} omapfb.mode=dvi:${dvimode} root=${mmcroot} rootfstype=${mmcrootfstype} mem=120M@0x80000000'
When i made this change, the serial port information is as follows:
OMAP3 SBC8100_PLUS # boot
mmc1 is available
reading boot.scr

** Unable to read "boot.scr" from mmc 0:1 **
reading uImage

2543960 bytes read
reading ramdisk.gz

7615273 bytes read
Booting from mmc ...
## Booting kernel from Legacy Image at 80300000 ...
   Image Name:   Linux-2.6.32
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2543896 Bytes = 2.4 MiB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
   Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux.............................................................................................................................................................. done, booting the kernel.

  • Hi Feihu,

    Could you dive more details about the issue? What is the physical volume of the RAM. Could you post the boot params which realize successful boot? What about the board is it some standard development board like Beagleboard or EVM or using some custom board?

    BR

    Tsvetolin Shulev

  • Hi Tsvetolin,

    I used the development board with 256MB DDR SDRAM and 512MB NAND Flash, which is  detailed in 

    http://www.embest-tech.com/shop/product/sbc8530-dm3730-single-board-computer.html.

    When I successfully boot  from SD card, the boot parameters are as follows:

    OMAP3 SBC8100_PLUS # printenv
    bootcmd=if mmc init; then if run loadbootscript; then run bootscript; else if run loaduimage; then if run loadramdisk; then run mmcboot; else echo faile to load ramdisk.gz; fi; else run nandboot; fi; fi; else run nandboot; fi
    bootdelay=3
    baudrate=115200
    ethaddr=aa:bb:cc:dd:ee:ff
    ipaddr=192.192.192.200
    serverip=192.192.192.90
    gatewayip=192.192.192.101
    netmask=255.255.255.0
    loadaddr=0x80300000
    rdaddr=0x81000000
    usbtty=cdc_acm
    console=ttyS2,115200n8
    vram=12M
    dvimode=640x480MR-16@60
    defaultdisplay=lcd
    mmcroot=/dev/ram0 rw ramdisk_size=65536 initrd=0x81000000,64M
    mmcrootfstype=ext2
    nandroot=ubi0:rootfs
    nandrootfstype=ubifs
    mmcargs=setenv bootargs console=${console} mpurate=${mpurate} vram=${vram} omapdss.def_disp=${defaultdisplay} omapfb.mode=dvi:${dvimode} root=${mmcroot} rootfstype=${mmcrootfstype}
    nandargs=setenv bootargs console=${console} mpurate=${mpurate} vram=${vram} omapdss.def_disp=${defaultdisplay} omapfb.mode=dvi:${dvimode} ubi.mtd=4 root=${nandroot} rootfstype=${nandrootfstype} init=/init androidboot.console=ttyS2
    loadbootscript=fatload mmc 0 ${loadaddr} boot.scr
    bootscript=echo Running bootscript from mmc ...; source ${loadaddr}
    loaduimage=fatload mmc 0 ${loadaddr} uImage
    loadramdisk=fatload mmc 0 ${rdaddr} ramdisk.gz
    mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${loadaddr}
    nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} 280000 400000; bootm ${loadaddr}
    updatesys=nand erase;mmc init; fatload mmc 0 80300000 x-load.bin.ift_for_NAND;nandecc hw;nand write.i 80300000 0 ${filesize}; fatload mmc 0 80300000 flash-uboot.bin;nandecc sw;nand write.i 80300000 80000 ${filesize}; fatload mmc 0 80300000 uImage;nandecc sw;nand write.i 80300000 280000 ${filesize}; fatload mmc 0 81000000 ubi.img;nandecc sw;nand write.i 81000000 680000 ${filesize};led flash all
    stdin=serial
    stdout=serial
    stderr=serial
    mpurate=1000
    dieid#=520200029e380000014e604506023029
    ethact=dm9000

    Environment size: 1925/131068 bytes

    Probably, i think  my problem should be caused by inappropriate params configuration. But what should i do next?

    BR

  • Hi Feihu,

    The issue with the stuck Linux kernel during booting after changed memory volume is due to memory overlapping. When you are setting mem=120M@0x80000000 - this means that you will using 120MB of RAM starting at address 0x80000000. I recommend you to change the starting address to 0x81000000 or higher for example.

    BR

    Tsvetolin Shulev