All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.6.0-Test5 booting problems on Itanium-1!
@ 2003-10-09 10:19 Ameya Mitragotri
  2003-10-09 15:32 ` Jesse Barnes
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Ameya Mitragotri @ 2003-10-09 10:19 UTC (permalink / raw)
  To: linux-ia64

Hello, 
I am facing a strange problem trying to get 2.6.0-test5 booted on an 
Itanium-1 machine (its a beta processor). 

1) in my .config i have 
CONFIG_ITANIUM=y 
CONFIG_IA64_DIG=y 
CONFIG_IA64_PAGE_SIZE_16KB=y 

2) I compiled and made a vmlinux image. I copied the image to the
/boot/efi directory
and provided a softlink to the image in the /boot directory. 

now on a reboot, i get the 'booting linux-2.6.0-test5' message. Nothing
happens after this. Can anyone suggest any ways to resolve this? 

I also tried to boot using a gzipped image (vmlinux.gz) but i get an
error "min_addr not page aligned" 

Any suggestions will be really helpful. 

Thanks
ameya

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.0-Test5 booting problems on Itanium-1!
  2003-10-09 10:19 2.6.0-Test5 booting problems on Itanium-1! Ameya Mitragotri
@ 2003-10-09 15:32 ` Jesse Barnes
  2003-10-13  5:36 ` Ameya Mitragotri
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Jesse Barnes @ 2003-10-09 15:32 UTC (permalink / raw)
  To: linux-ia64

On Thu, Oct 09, 2003 at 03:37:44PM +0530, Ameya Mitragotri wrote:
> Hello, 
> I am facing a strange problem trying to get 2.6.0-test5 booted on an 
> Itanium-1 machine (its a beta processor). 
> 
> 1) in my .config i have 
> CONFIG_ITANIUM=y 
> CONFIG_IA64_DIG=y 
> CONFIG_IA64_PAGE_SIZE_16KB=y 
> 
> 2) I compiled and made a vmlinux image. I copied the image to the
> /boot/efi directory
> and provided a softlink to the image in the /boot directory. 
> 
> now on a reboot, i get the 'booting linux-2.6.0-test5' message. Nothing
> happens after this. Can anyone suggest any ways to resolve this? 
> 
> I also tried to boot using a gzipped image (vmlinux.gz) but i get an
> error "min_addr not page aligned" 
> 
> Any suggestions will be really helpful. 

I booted -test5 on my Big Sur box and used it for awhile, so I'm pretty
sure it works.  Did you forget to turn on VGA console maybe?  You could
also try turning on CONFIG_EARLY_PRINTK in the 'Kernel Hacking' submenu
to see if that gets you any useful output.

Jesse

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: 2.6.0-Test5 booting problems on Itanium-1!
  2003-10-09 10:19 2.6.0-Test5 booting problems on Itanium-1! Ameya Mitragotri
  2003-10-09 15:32 ` Jesse Barnes
@ 2003-10-13  5:36 ` Ameya Mitragotri
  2003-10-13 16:33 ` Luck, Tony
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Ameya Mitragotri @ 2003-10-13  5:36 UTC (permalink / raw)
  To: linux-ia64

> On Thu, Oct 09, 2003 at 03:37:44PM +0530, Ameya Mitragotri wrote:
> > 
> > I also tried to boot using a gzipped image (vmlinux.gz) but 
> i get an 
> > error "min_addr not page aligned"
> > 
> > Any suggestions will be really helpful.
> 
> I booted -test5 on my Big Sur box and used it for awhile, so 
> I'm pretty sure it works.  Did you forget to turn on VGA 
> console maybe?  You could also try turning on 
> CONFIG_EARLY_PRINTK in the 'Kernel Hacking' submenu to see if 
> that gets you any useful output.

1) The VGA console options are all ok.
2) I tried to compile with CONFIG_EARLY_PRINTK and
CONFIG_IA64_EARY_PRINTK.
   There were a lot of compilation problems and it dint get through.

I also tried the following:

AFAIK _start is the entry point to the IA64 kernel.
I found that the kernel vmlinux-2.4.0-0.99.11smp *which_boots* without
problems has a _start address = e000000000520000. This is also stored in
the 
Elf header of the file as Entry Point Address. (I used readelf to
confirm)

While the kernel which *I_am_trying_to_boot* vmlinux-2.6.0-test5 has
a _start address = a000000100010000. And the elf header shows Entry
Point Address
as 0x4010000. This means that this kernel will not load properly as the
boot loader
reads the elf file header and jumps to the Start Address (??).

My guess is that I'm missing some compiler / configuration options. Has
any body
faced this problem before? Any pointers will be really helpful.

Thanks
ameya  

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: 2.6.0-Test5 booting problems on Itanium-1!
  2003-10-09 10:19 2.6.0-Test5 booting problems on Itanium-1! Ameya Mitragotri
  2003-10-09 15:32 ` Jesse Barnes
  2003-10-13  5:36 ` Ameya Mitragotri
@ 2003-10-13 16:33 ` Luck, Tony
  2003-10-13 17:30 ` Stephane Eranian
  2003-10-15 11:47 ` Ameya Mitragotri
  4 siblings, 0 replies; 6+ messages in thread
From: Luck, Tony @ 2003-10-13 16:33 UTC (permalink / raw)
  To: linux-ia64

> AFAIK _start is the entry point to the IA64 kernel.
> I found that the kernel vmlinux-2.4.0-0.99.11smp *which_boots* without
> problems has a _start address = e000000000520000. This is 
> also stored in
> the 
> Elf header of the file as Entry Point Address. (I used readelf to
> confirm)
> 
> While the kernel which *I_am_trying_to_boot* vmlinux-2.6.0-test5 has
> a _start address = a000000100010000. And the elf header shows Entry
> Point Address
> as 0x4010000. This means that this kernel will not load 
> properly as the
> boot loader
> reads the elf file header and jumps to the Start Address (??).

The virtual mapping scheme for the kernel changed between 2.4 and 2.[56].
In 2.4 the kernel required that it be loaded at physical address just
above 64MB, and it used the 1:1 mapping of region 7 (virtual address physical address + 0xE000000000000000).  This scheme didn't support
systems that have no physical memory at 64MB (specifically SGI, but I'm
sure that others will build ccNUMA systems where the address of the
memory is a function of the node number).  So in 2.5.60(approx) a change
was made to allow the kernel to be loaded at any (suitably aligned)
physical address, and the early code at _start would map it to the
expected virtual address (which was moved to region 5 so as not to disturb
the simplicity of the region 7 mapping).

So the entry point you see in the Elf header of the 2.6 kernel is the
*physical* address (which would be overridden by the bootloader if the
kernel was loaded at some other address). The address of _start in the
symbol table is the virtual address.

There were some changes to the elilo bootloader too, but they happened
long, long before the kernel change was accepted (but if you are clinging
to a 2+ year old copy of elilo, it may be time to upgrade).

-Tony

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: 2.6.0-Test5 booting problems on Itanium-1!
  2003-10-09 10:19 2.6.0-Test5 booting problems on Itanium-1! Ameya Mitragotri
                   ` (2 preceding siblings ...)
  2003-10-13 16:33 ` Luck, Tony
@ 2003-10-13 17:30 ` Stephane Eranian
  2003-10-15 11:47 ` Ameya Mitragotri
  4 siblings, 0 replies; 6+ messages in thread
From: Stephane Eranian @ 2003-10-13 17:30 UTC (permalink / raw)
  To: linux-ia64

Hi,

As Tony pointed out, elilo was changed a very long time ago, to ONLY
use the *physical address* (paddr) found in the ELF header of the kernel.

Elilo loads the kernel at the indicated address, if possible. Eventually
it jumps to this address. Elilo and EFI in general execute in 
physical address mode during boot time. The beginning of the actual kernel 
execution happens in *physical mode*, the code in _start (head.S) switches 
the kernel to virtual mode. This way, we have no dependency between the 
bootloader and the kernel w.r.t. virtual mappings.

-- 
-Stephane

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: 2.6.0-Test5 booting problems on Itanium-1!
  2003-10-09 10:19 2.6.0-Test5 booting problems on Itanium-1! Ameya Mitragotri
                   ` (3 preceding siblings ...)
  2003-10-13 17:30 ` Stephane Eranian
@ 2003-10-15 11:47 ` Ameya Mitragotri
  4 siblings, 0 replies; 6+ messages in thread
From: Ameya Mitragotri @ 2003-10-15 11:47 UTC (permalink / raw)
  To: linux-ia64

> As Tony pointed out, elilo was changed a very long time ago,
> to ONLY use the *physical address* (paddr) found in the ELF 
> header of the kernel.
> 
> Elilo loads the kernel at the indicated address, if possible.
> Eventually it jumps to this address. Elilo and EFI in general 
> execute in 
> physical address mode during boot time. The beginning of the 
> actual kernel 
> execution happens in *physical mode*, the code in _start 
> (head.S) switches 
> the kernel to virtual mode. This way, we have no dependency 
> between the 
> bootloader and the kernel w.r.t. virtual mappings.

Thanks! As Tony pointed out, I did an upgrade of the elilo.

1) Installed gnu-efi-3.0-2 and elilo-3.3a-2.
2) Managed to get the 2.6.0-Test5 kernel booting started.
3) Faced panic issues coz of the qla1280 driver. Used Jes
   Sorensen's patch for the qla1280 SCSI driver.

http://www.ussg.iu.edu/hypermail/linux/kernel/0309.2/0331.html

The booting was finally successful.

Thanks
Ameya

   

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2003-10-15 11:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-10-09 10:19 2.6.0-Test5 booting problems on Itanium-1! Ameya Mitragotri
2003-10-09 15:32 ` Jesse Barnes
2003-10-13  5:36 ` Ameya Mitragotri
2003-10-13 16:33 ` Luck, Tony
2003-10-13 17:30 ` Stephane Eranian
2003-10-15 11:47 ` Ameya Mitragotri

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.