Multi-OS on P1022RDK Failing

Arshad, Farrukh Farrukh_Arshad at mentor.com
Thu Dec 8 17:35:20 EST 2011


Thanks Scott. 

Fixing cpu 1 release address solved my problem. Also thanks for the CONFIG_LOWMEM_SIZE suggestions.

Regards,
Farrukh Arshad

-----Original Message-----
From: Scott Wood [mailto:scottwood at freescale.com] 
Sent: Thursday, December 08, 2011 2:24 AM
To: Arshad, Farrukh
Cc: Linuxppc-dev at lists.ozlabs.org
Subject: Re: Multi-OS on P1022RDK Failing

On 12/07/2011 08:57 AM, Arshad, Farrukh wrote:
> Core 0 kernel
> 
> CONFIG_LOWMEM_SIZE = 0x10000000
> 
> CONFIG_PHYSICAL_START = 0x00000000
> 
>  
> 
> Core 1 kernel
> 
> CONFIG_LOWMEM_SIZE = 0x10000000
> 
> CONFIG_PHYSICAL_START = 0x10000000

Why are you messing with CONFIG_LOWMEM_SIZE?  That adjusts the lowmem/highmem split, not the total amount of memory that this instance of Linux will use (though you may get that behavior as a side effect if highmem is disabled).  U-boot should set the memory node in the device tree based on the bootm_low/bootm_size environment variables.

> # Boot from NFS
> 
> setenv core0nfsbootargs root=/dev/nfs nfsroot=$serverip:/$core0rootfs 
> ip=<dev_ip>::<nfs_server_ip>:::eth0:off rw debug 
> console=$consoledev0,$baudrate maxcpus=1
> 
> setenv core1nfsbootargs root=/dev/nfs nfsroot=$serverip:/$core1rootfs 
> ip=<dev_ip_2>::<nfs_server_ip>:::eth0:off rw debug 
> console=$consoledev0,$baudrate maxcpus=1

maxcpus should be unnecessary -- there will only be one cpu in the device tree for each partition.

> My problem is Core 0 kernel is booting successfully but Core 1 kernel 
> hangs after uncompressing kernel image, and after that I don't see 
> anything on the console.
> 
>  
> 
> Any thoughts on what I am missing or doing incorrect?

The "cpu 1 release" command should be using the address of the decompressed kernel (should be $bootm_low), not where the uImage was loaded.

Also, the two serial ports you're using share an interrupt -- this shouldn't stop kernel message output, but it's going to be a problem for userspace usage of the port.  You should remove the interrupts property from the serial node in both partitions, so Linux will poll instead.

-Scott



More information about the Linuxppc-dev mailing list