How to boot powerPC linux-2.6.10 from diifferent address other than 0x0000

2 messages, 2 authors, 2006-08-28 · open the first message on its own page

How to boot powerPC linux-2.6.10 from diifferent address other than 0x0000

From: Reddy Suneel-ASR125 <hidden>
Date: 2006-08-25 12:45:50

Hi,
    We are working on MPC 8540, Linux kernel version is 2.6.10 from
Montavista. The bootloader used in Uboot and currently it loads the
uImage at physical memory address 0x0 and transfers control to it. We
want to load the kernel at a different address say 0x8000 and for this
we made the following changes.
 
1) Altered the Makefile to linked the kernel at virtual address
0xc0008000 ( the default was 0xc000:0000)
2) Modified Uboot to load kernel at 0x8000 instead of 0x0
The kernel space still starts from 0xc000:0000

 
When we transferred control to the kernel (loaded at 0x8000) we found
that the execution proceeds only till the mapping and invalidation on
TLBs. We do not know where the control goes after this as the further
instructions does not seems to get executed. Currently we do not have
the provision to connect a debugger and hence we are unable to make out
what is happening.
 
Can some one give us any clue as to what we might have done wrong? This
is our first experience on PowerPC.
 
 
Thanks&regards
Suneel

Re: How to boot powerPC linux-2.6.10 from diifferent address other than 0x0000

From: Reeve Yang <hidden>
Date: 2006-08-28 23:37:20

You need to do two things:
- mem remap your boot sector memory block to virtual address 0xc0008000
- using uboot commond "go xxx" to boot it from 0xc0008000, or define env
variable "bootcmd", and run "boot".


On 8/25/06, Reddy Suneel-ASR125 [off-list ref] wrote:
  Hi,
    We are working on MPC 8540, Linux kernel version is 2.6.10 from
Montavista. The bootloader used in Uboot and currently it loads the uImage
at physical memory address 0x0 and transfers control to it. We want to load
the kernel at a different address say 0x8000 and for this we made the
following changes.

1) Altered the Makefile to linked the kernel at virtual address 0xc0008000
( the default was 0xc000:0000)
2) Modified Uboot to load kernel at 0x8000 instead of 0x0

The kernel space still starts from 0xc000:0000

When we transferred control to the kernel (loaded at 0x8000) we found that
the execution proceeds only till the mapping and invalidation on TLBs. We do
not know where the control goes after this as the further instructions does
not seems to get executed. Currently we do not have the provision to connect
a debugger and hence we are unable to make out what is happening.

Can some one give us any clue as to what we might have done wrong? This is
our first experience on PowerPC.


Thanks&regards
Suneel

_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help