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