Diego Santa Cruz wrote: >> -----Original Message----- >> From: fedora-list-bounces@xxxxxxxxxx [mailto:fedora-list- >> bounces@xxxxxxxxxx] On Behalf Of Mikkel L. Ellertson >> Sent: Wednesday, December 06, 2006 5:43 PM >> To: For users of Fedora >> Subject: Re: initrd not loaded with > 4 GB and PAE kernel >> >> Diego Santa Cruz wrote: >>> Hello, >>> >>> I have installed the FC6 kernel 2.6.18-1.2849.fc6PAE on a machine > with 4 >>> GB of memory (of which the upper 2 GB are mapped by the BIOS above > the 4 >>> GB barrier). >>> >>> The kernel is not booting since it does not find the initrd and thus >>> panics (cannot find init). >>> >>> Passing the mem=4096M option to the kernel solves the problem, but >>> limits the actual memory to 2 GB only. >>> >>> The BIOS-provided physical RAM map is: >>> BIOS-e820: 0000000000000000 - 000000000009ec00 (usable) >>> BIOS-e820: 000000000009ec00 - 00000000000a0000 (reserved) >>> BIOS-e820: 00000000000e4000 - 0000000000100000 (reserved) >>> BIOS-e820: 0000000000100000 - 000000007ffa0000 (usable) >>> BIOS-e820: 000000007ffa0000 - 000000007ffae000 (ACPI data) >>> BIOS-e820: 000000007ffae000 - 000000007ffe0000 (ACPI NVS) >>> BIOS-e820: 000000007ffe0000 - 0000000080000000 (reserved) >>> BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) >>> BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved) >>> BIOS-e820: 0000000100000000 - 0000000180000000 (usable) >>> > [snip.] >> It sounds like your BIOS is not passing the correct memory map to >> the kernel. You may need to look at the memmap boot options. This >> will let you pass the correct memory map to the kernel. >> >> You can also try the noapic and/or the nolapic options, and see if >> they help. >> > > Thanks for the tips, but no success yet. The apic related options did > not improve the situation. About the memmap option I do not know how > should I build one. Any tips? The BIOS actually has a remapping option: > without remapping only 3 GB are made available, but everything is below > 4 GB, with remapping the 2 to 4 GB zone is reserved and the upper 2 GB > are made available between 4 and 6. At least that is what the doc says. > > Anyhow, I got a serial console set up and now I can see that the initrd > is loaded as an initramfs without complaints. > > The /dev/console and /init files are found on the initramfs, but the > detected binary handler for init is binfmt-0000 (for which it attempts > to load a module). I guess it should be the script handler, so I suspect > that the contents of the /init file are somehow corrupted somewhere > (zeroes are read as the magic number instead of #!). Any ideas on what > might be going wrong? > > I even tried to execute /bin/nash directly (using rdinit=/bin/nash) just > to see if nash started, but that failed too. > > Many thanks, > > Diego > > I don't think your problem is in the initrd. If it was, then using mem=4096M would not let the system boot. It sounds more like at least part of the initrd is being loaded into nonexistent memory. Looking at kernel-parameters.txt from the kernel documentation, it looks like you use memmap=exactmap and then using memmap=nn[KMG]@ss[KMG], memmap=nn[KMG]#ss[KMG] and memmap=nn[KMG]$ss[KMG] statements to specify the map. You may be able to just get away with a memmap=nn[KMG]$ss[KMG] statement to tell it not to use the area between the end of the first 2G chunk, and the start of the second 2G chunk. Mikkel -- Do not meddle in the affairs of dragons, for thou art crunchy and taste good with Ketchup!