Kernel loading & paged memory init

From: Girard-Reydet Vincent (girardre_at_inrialpes.fr)
Date: 07/30/03


Date: Wed, 30 Jul 2003 09:56:02 +0200

Hi everyone,

Hope this is the right place to post, else please excuse me and tell me
the right place.

I'm working on an OS for the ia32 architecture, and have problems with
the kernel booting. I'm using Grub, and my kernel is Multiboot
compliant. The kernel is linked at 0xC0000000, but must be loaded at
0x00100000 in order to perform paged memory initialization.

It seems that Linux has achieved this goal, because in arch/i386/head.S,
the kernel is seen as beeing loaded at 0x00100000. But I don't
understand how. Is the kernel linked as a raw binary in wrapper that
init s the memory model ? Is this done in another way ? I'd prefer not
to have to link the kernel as a raw binary, because I need access to
some variables set up by the initialization process.

Could someone explain me in details how the Linux kernel is loaded, and
how it does achieve with a correct paged memory initialisation ?

Many thanks in advance.

Vincent Girard-REydet



Relevant Pages

  • 2.6.25-rc1 panics on boot
    ... unable to handle kernel NULL pointer dereference at 0000010c ... # Automatically generated make config: ... # Linux kernel version: 2.6.25-rc1 ... # PCI IDE chipsets support ...
    (Linux-Kernel)
  • Re: 2.6.16 serious consequences / GPL_EXPORT_SYMBOL / USB drivers of major vendor excluded
    ... Only the kernel offers low latency and timeline processing ... using usbfs directly, no kernel driver needed. ... That seems _very_ large for a Linux kernel driver. ... release your code under this same license. ...
    (Linux-Kernel)
  • OT: Linux Kernel: coupling and maintainability
    ... *Coupling and the Maintainability of the Linux Kernel ... Maintainability of the Linux Kernel* ...
    (comp.os.vms)
  • Re: 2.6.26-rc1-$sha1: RIP __d_lookup+0x8c/0x160
    ... I presume that this version of the kernel has the fixes from this thread ... # Linux kernel version: 2.6.26-rc1-afa26be86b65a7183ceac29bdf1f51d6fc6932f0 ... # SCSI support type ... # Input Device Drivers ...
    (Linux-Kernel)
  • Re: RT patch acceptance
    ... > If you gonna make usefull deterministic real-time in userspace you got to ... > change stuff in kernel space and implement stuff like priority ... this is why the RTAI project has an experimental branch called ... Linux kernel providing regular services and a specialized co-scheduler ...
    (Linux-Kernel)