# kernel won't boot with 4gb or 64gb highmem options [Solved]

## zxiiro

When I set the 4gb or 64gb highmem in the kernel and boot it, it always pauses at

```
letting udev process events
```

EDIT: I'm using gentoo-sources-2.6.17 and udev 096-r1Last edited by zxiiro on Tue Aug 15, 2006 1:55 am; edited 1 time in total

----------

## NeddySeagoon

zxiiro,

... and what hardware?   with how much RAM?  ... 32 bit or 64 bit kernel  ?

----------

## zxiiro

 *NeddySeagoon wrote:*   

> zxiiro,
> 
> ... and what hardware?   with how much RAM?  ... 32 bit or 64 bit kernel  ?

 

32bit kernel

p4c800e dlx

p4 3.2c

4gb of ram

radeon 9800xt

I booted it with an ubuntu 6.06 livecd and it detected and ran everything fine.

----------

## NeddySeagoon

zxiiro,

The kernel will not boot with the 64Gb himem option. That invokes PME support and you doint have suffcient memory for for that.

It needs over 4Gb. The 4Gb himem option should be OK though, however you won't get to see all 4Gb at the same time, since 4Gb is the full 32 bit address space and some addresses are used for other things.

To get started, pass the kernel the mem= option.  mem=2048M   would be 2Gb, I'm not sure if the G suffix can be used.

This will allow you to search for where it breaks.

----------

## zxiiro

Alright it seems it works if I specify an amount of ram just under how much the bios detects.

----------

## Ast0r

 *NeddySeagoon wrote:*   

> zxiiro,
> 
> The kernel will not boot with the 64Gb himem option. That invokes PME support and you doint have suffcient memory for for that.
> 
> It needs over 4Gb. The 4Gb himem option should be OK though, however you won't get to see all 4Gb at the same time, since 4Gb is the full 32 bit address space and some addresses are used for other things.
> ...

 

I'm sorry to resurrect an old thread, but I thought it would be better than starting my own. I have a machine running a 32-bit (CHOST=i686-pc-linux-gnu) Gentoo installation (single Xeon Irwindale at 3.0ghz) that currently has 4GB of memory and everything works fine. I want to add another identical Xeon to the machine and another 4GB of memory, but I'm unsure of what kernel changes need to be made. Can I just enable 64GB memory support and then boot the kernel with that option enabled once I add the additional processor and RAM? Since the other 4GB will be addressed by the other processor (I think), do I have to switch to 64-bit?

I *really* do not want to switch to a 64-bit environment unless I absolutely have to. Any takers?

----------

## NeddySeagoon

Ast0r,

Theres no harm in breathing life into ould threads.

Is your system ans SMP system or a NUMA system.

SMP=Symmetical Multi Processing 

NUMA = Non Uniform Memory Architecture

In SMP there is a single memory pool and all the CPUs arbitrate for access.

In NUMA ech CPU has its own local memory and some high speed communications between the two.

Whatever, keep your old single CPU kernel (in case your new one breaks) and make a new kernel to suite your new setup.

If you are SMP, you want the 64Gb high memory option

If your are NUMA, you want the NUMA options in the kernel set up.

----------

## Ast0r

 *NeddySeagoon wrote:*   

> Is your system ans SMP system or a NUMA system.
> 
> SMP=Symmetical Multi Processing 
> 
> NUMA = Non Uniform Memory Architecture
> ...

 I guess I don't know which one my system is. It's got a dual-socket 604 motherboard for Intel Xeon processors.

I know that right now I have SMP support compiled in the kernel and my Xeon (which has hyperthreading) shows up as 2 logical CPUs. I was under the impression that for the Xeon motherboards like mine, each CPU has it's own memory (right now the machine has 4x1GB in the first 4 memory slots ... the ones that correspond to CPU0) but I've never had a system with 2 physical CPUs, thus my lack of knowledge on the subject.

Here is a link to the motherboard: http://supermicro.com/products/system/2U/6024/SYS-6024H-T.cfm

Can you tell from looking at that whether it's SMP or NUMA?

----------

## NeddySeagoon

Ast0r,

This page suggests  that its an SMP system,

since the block diagram shows a single bus frm the two CPUs connectied together, to the chip set and memory pool.

This suggests a two stage upgrade path. Install the additional CPU and reboot. Providing you have made kernel SMP support cover enogh processors, it should just work and you should see 4 logical CPUs.

When that works, add the memory and turn on 64Gb hi memory - in a new additional kernel.

You want a get out of jail free card if the new kernel will not boot.

To keep otherwise identical kernels completly seperate - do the following.

Make a copy of your latest working kernel tree under a new top level name.

```
cp -r  linux-2.6.17-gentoo-r8 linux-2.6.17-gentoo-64G-r8
```

In the Makefile for the new kernel, at teh very top, you will find 

```
VERSION = 2

PATCHLEVEL = 6

SUBLEVEL = 17

EXTRAVERSION = -gentoo-r8

NAME=Crazed Snow-Weasel
```

Change the EXTRAVERSION

```
EXTRAVERSION = -64G-gentoo-r8
```

and do 

```
make clean
```

 in the new tree.

The kernel made from this tree will now identify itself and all its modules as linux-2.6.17-gentoo-64G-r8.

So you can keep two entirely seperate kernel installs. The modules will be in their own direcory under /lib/modules.

----------

## Ast0r

Excellent. That's what I was hoping was the case.

I'll do what you recommend about the new kernel source directory and the upgrade process. Thanks!

----------

