# 2008 macbook - 8GB RAM installed but 4GB available

## safeness

Hello,

I'm running a full 64-bit system with 8GB physical RAM installed but only 4GB are usable.  I looked around in the kernel menuconfig (via genkernel) but didn't see anything about HIMEM limits or anything like that.  

In MacOS all 8GB are usable but I just can't find anything about enabling the last 4GB in Gentoo.  

Any ideas?

Thanks in advance!

----------

## Tatsh

Did you possibly set a maximum memory limit in the kernel configuration?

----------

## safeness

That's the confusing thing, I went through all the options in menuconfig and didn't see an option for that anywhere.  

Here's my uname info:

```

captain@genbook ~ $ uname -a

Linux genbook 4.1.5-gentoo #1 SMP Mon Aug 17 19:11:24 PDT 2015 x86_64 Intel(R) Core(TM)2 Duo CPU T8300 @ 2.40GHz GenuineIntel GNU/Linux

```

Here's a snippet from emerge --info:

```
captain@genbook ~ $ emerge --info

Portage 2.2.20.1 (python 2.7.10-final-0, default/linux/amd64/13.0/desktop/gnome/systemd, gcc-4.8.5, glibc-2.21-r1, 4.1.5-gentoo x86_64)

=================================================================

System uname: Linux-4.1.5-gentoo-x86_64-Intel-R-_Core-TM-2_Duo_CPU_T8300_@_2.40GHz-with-gentoo-2.2

KiB Mem:     4039508 total,    482944 free
```

I'm using gentoo-sources-4.1.5 and genkernel 3.4.49.2 if that helps. Is there any other info that could be helpful?

Thanks!

----------

## Tatsh

There are a few possibilities:

- Actual memory limit in Boot Camp (I assume you are using BIOS emulation on your Mac). I suggest updating Boot Camp on your Mac to the latest version possible just in case (really you should update your OS X version to the latest possible for this).

- You have a mem= boot flag in GRUB/LILO/etc

- You have a memory limit set in the kernel configuration

What I have seen is that the graphics card will reserve memory from the main RAM, in particular the Intel ones. But maybe on older models where there isn't a hybrid GPU setup all GPUs will reserve memory. But I have extreme doubts the video card will take 4 GiB for itself.

You should post your kernel configuration, and your boot log, /var/log/dmesg. In the first few seconds of the log you will see how the memory is discovered. Mine:

```

[    0.000000] e820: BIOS-provided physical RAM map:

[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009d7ff] usable

[    0.000000] BIOS-e820: [mem 0x000000000009d800-0x000000000009ffff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved

[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cd945fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000cd946000-0x00000000cd996fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000cd997000-0x00000000cd99ffff] ACPI data

[    0.000000] BIOS-e820: [mem 0x00000000cd9a0000-0x00000000cd9a0fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000cd9a1000-0x00000000cdad8fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000cdad9000-0x00000000cdae9fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000cdaea000-0x00000000cdafefff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000cdaff000-0x00000000cdb00fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000cdb01000-0x00000000cdb09fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000cdb0a000-0x00000000cdb0ffff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000cdb10000-0x00000000cdb71fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000cdb72000-0x00000000cdd74fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000cdd75000-0x00000000cdefffff] usable

[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fec10000-0x00000000fec10fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fec20000-0x00000000fec20fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed00fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fed61000-0x00000000fed70fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fed80000-0x00000000fed8ffff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fef00000-0x00000000ffffffff] reserved

[    0.000000] BIOS-e820: [mem 0x0000000100001000-0x000000042effffff] usable

```

Note: last time I had Linux on a Mac was with a 2013 MacBook Pro with 16 GiB of RAM. All 16 GiB of RAM were seen. The Nvidia card had its own dedicated VRAM.

----------

## safeness

Here's my dmesg:

```
genbook ~ # dmesg

[    0.000000] Initializing cgroup subsys cpuset

[    0.000000] Initializing cgroup subsys cpu

[    0.000000] Initializing cgroup subsys cpuacct

[    0.000000] Linux version 4.1.5-gentoo (root@genbook) (gcc version 4.8.5 (Gentoo 4.8.5 p1.0, pie-0.6.1) ) #1 SMP Mon Aug 17 19:11:24 PDT 2015

[    0.000000] Command line: BOOT_IMAGE=/kernel-genkernel-x86_64-4.1.5-gentoo root=UUID=815f95a9-e6ae-4c44-844e-3f177d4a0c2e ro init=/usr/lib/systemd/systemd

[    0.000000] KERNEL supported cpus:

[    0.000000]   Intel GenuineIntel

[    0.000000]   AMD AuthenticAMD

[    0.000000]   Centaur CentaurHauls

[    0.000000] e820: BIOS-provided physical RAM map:

[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008efff] usable

[    0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000008ffff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x0000000000090000-0x000000000009ffff] usable

[    0.000000] BIOS-e820: [mem 0x00000000000a0000-0x00000000000bffff] reserved

[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bd80bfff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bd80c000-0x00000000bd811fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bd812000-0x00000000bd823fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bd824000-0x00000000bd825fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bd826000-0x00000000bd857fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bd858000-0x00000000bd858fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000bd859000-0x00000000bd9affff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bd9b0000-0x00000000bd9b0fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000bd9b1000-0x00000000bdc8dfff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdc8e000-0x00000000bdc8efff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000bdc8f000-0x00000000bdcf6fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdcf7000-0x00000000bdcf7fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000bdcf8000-0x00000000bdd00fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd01000-0x00000000bdd01fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000bdd02000-0x00000000bdd05fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bdd06000-0x00000000bdd06fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd07000-0x00000000bdd08fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bdd09000-0x00000000bdd0afff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd0b000-0x00000000bdd0efff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bdd0f000-0x00000000bdd0ffff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd10000-0x00000000bdd10fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bdd11000-0x00000000bdd15fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd16000-0x00000000bdd19fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bdd1a000-0x00000000bdd25fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd26000-0x00000000bdd26fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000bdd27000-0x00000000bdd27fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd28000-0x00000000bdd29fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000bdd2a000-0x00000000bdd30fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdd31000-0x00000000bdf31fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000bdf32000-0x00000000bdfe4fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bdfe5000-0x00000000bdfe6fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000bdfe7000-0x00000000be03afff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be03b000-0x00000000be04cfff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000be04d000-0x00000000be04ffff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be050000-0x00000000be052fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be053000-0x00000000be053fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be054000-0x00000000be05dfff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be05e000-0x00000000be05efff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000be05f000-0x00000000be062fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be063000-0x00000000be073fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000be074000-0x00000000be076fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be077000-0x00000000be08cfff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be08d000-0x00000000be08efff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be08f000-0x00000000be08ffff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be090000-0x00000000be090fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000be091000-0x00000000be091fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be092000-0x00000000be092fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be093000-0x00000000be4bcfff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be4bd000-0x00000000be4befff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000be4bf000-0x00000000be4c5fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be4c6000-0x00000000be4c8fff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be4c9000-0x00000000be4cdfff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be4ce000-0x00000000be4cffff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be4d0000-0x00000000be50afff] usable

[    0.000000] BIOS-e820: [mem 0x00000000be50b000-0x00000000be50bfff] type 20

[    0.000000] BIOS-e820: [mem 0x00000000be50c000-0x00000000beaa5fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000beaa6000-0x00000000beaa6fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000beaa7000-0x00000000bee9dfff] usable

[    0.000000] BIOS-e820: [mem 0x00000000bee9e000-0x00000000bee9efff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000bee9f000-0x00000000beec2fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000beec3000-0x00000000beec4fff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000beec5000-0x00000000beec7fff] ACPI data

[    0.000000] BIOS-e820: [mem 0x00000000beec8000-0x00000000beecafff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000beecb000-0x00000000beecbfff] ACPI data

[    0.000000] BIOS-e820: [mem 0x00000000beecc000-0x00000000beedefff] ACPI NVS

[    0.000000] BIOS-e820: [mem 0x00000000beedf000-0x00000000beeeefff] ACPI data

[    0.000000] BIOS-e820: [mem 0x00000000beeef000-0x00000000beef8fff] usable

[    0.000000] BIOS-e820: [mem 0x00000000beef9000-0x00000000bfffffff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000f00f8000-0x00000000f00f8fff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved

[    0.000000] BIOS-e820: [mem 0x00000000fffa0000-0x00000000fffcffff] reserved

[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000013fffffff] usable

[    0.000000] NX (Execute Disable) protection: active

[    0.000000] efi: EFI v1.10 by Apple

[    0.000000] efi:  ACPI=0xbeeee000  ACPI 2.0=0xbeeee014  SMBIOS=0xbeec4000 

[    0.000000] SMBIOS 2.4 present.

[    0.000000] DMI: Apple Inc. MacBook4,1/Mac-F22788A9, BIOS     MB41.88Z.00C1.B00.0802091535 02/09/08

[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved

[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable

[    0.000000] AGP: No AGP bridge found

[    0.000000] e820: last_pfn = 0x140000 max_arch_pfn = 0x400000000

[    0.000000] MTRR default type: uncachable

[    0.000000] MTRR fixed ranges enabled:

[    0.000000]   00000-9FFFF write-back

[    0.000000]   A0000-BFFFF uncachable

[    0.000000]   C0000-CFFFF write-protect

[    0.000000]   D0000-DFFFF uncachable

[    0.000000]   E0000-FFFFF write-protect

[    0.000000] MTRR variable ranges enabled:

[    0.000000]   0 base 0FFE00000 mask FFFE00000 write-protect

[    0.000000]   1 base 000000000 mask F80000000 write-back

[    0.000000]   2 base 080000000 mask FC0000000 write-back

[    0.000000]   3 base 100000000 mask FC0000000 write-back

[    0.000000]   4 base 0BF000000 mask FFF000000 uncachable

[    0.000000]   5 base 0BEF00000 mask FFFF00000 uncachable

[    0.000000]   6 disabled

[    0.000000]   7 disabled

```

Here's my grub config:

```

#

# DO NOT EDIT THIS FILE

#

# It is automatically generated by grub2-mkconfig using templates

# from /etc/grub.d and settings from /etc/default/grub

#

### BEGIN /etc/grub.d/00_header ###

if [ -s $prefix/grubenv ]; then

  load_env

fi

if [ "${next_entry}" ] ; then

   set default="${next_entry}"

   set next_entry=

   save_env next_entry

   set boot_once=true

else

   set default="0"

fi

if [ x"${feature_menuentry_id}" = xy ]; then

  menuentry_id_option="--id"

else

  menuentry_id_option=""

fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then

  set saved_entry="${prev_saved_entry}"

  save_env saved_entry

  set prev_saved_entry=

  save_env prev_saved_entry

  set boot_once=true

fi

function savedefault {

  if [ -z "${boot_once}" ]; then

    saved_entry="${chosen}"

    save_env saved_entry

  fi

}

function load_video {

  if [ x$feature_all_video_module = xy ]; then

    insmod all_video

  else

    insmod efi_gop

    insmod efi_uga

    insmod ieee1275_fb

    insmod vbe

    insmod vga

    insmod video_bochs

    insmod video_cirrus

  fi

}

if [ x$feature_default_font_path = xy ] ; then

   font=unicode

else

insmod part_gpt

insmod ext2

set root='hd0,gpt5'

if [ x$feature_platform_search_hint = xy ]; then

  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt5 --hint-efi=hd0,gpt5 --hint-baremetal=ahci0,gpt5  815f95a9-e6ae-4c44-844e-3f177d4a0c2e

else

  search --no-floppy --fs-uuid --set=root 815f95a9-e6ae-4c44-844e-3f177d4a0c2e

fi

    font="/usr/share/grub/unicode.pf2"

fi

if loadfont $font ; then

  set gfxmode=auto

  load_video

  insmod gfxterm

  set locale_dir=$prefix/locale

  set lang=en_US

  insmod gettext

fi

terminal_output gfxterm

insmod part_gpt

insmod ext2

set root='hd0,gpt4'

if [ x$feature_platform_search_hint = xy ]; then

  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  5dd84caa-bca1-46a0-863a-8a0d8990563c

else

  search --no-floppy --fs-uuid --set=root 5dd84caa-bca1-46a0-863a-8a0d8990563c

fi

insmod gfxmenu

loadfont ($root)/grub/themes/starfield/dejavu_10.pf2

loadfont ($root)/grub/themes/starfield/dejavu_12.pf2

loadfont ($root)/grub/themes/starfield/dejavu_14.pf2

loadfont ($root)/grub/themes/starfield/dejavu_16.pf2

loadfont ($root)/grub/themes/starfield/dejavu_bold_14.pf2

insmod png

set theme=($root)/grub/themes/starfield/theme.txt

export theme

if [ x$feature_timeout_style = xy ] ; then

  set timeout_style=menu

  set timeout=5

# Fallback normal timeout code in case the timeout_style feature is

# unavailable.

else

  set timeout=5

fi

### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###

menuentry 'Gentoo GNU/Linux' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-815f95a9-e6ae-4c44-844e-3f177d4a0c2e' {

   load_video

   if [ "x$grub_platform" = xefi ]; then

      set gfxpayload=keep

   fi

   insmod gzio

   insmod part_gpt

   insmod ext2

   set root='hd0,gpt4'

   if [ x$feature_platform_search_hint = xy ]; then

     search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  5dd84caa-bca1-46a0-863a-8a0d8990563c

   else

     search --no-floppy --fs-uuid --set=root 5dd84caa-bca1-46a0-863a-8a0d8990563c

   fi

   echo   'Loading Linux x86_64-4.1.5-gentoo ...'

   linux   /kernel-genkernel-x86_64-4.1.5-gentoo root=UUID=815f95a9-e6ae-4c44-844e-3f177d4a0c2e ro init=/usr/lib/systemd/systemd 

   echo   'Loading initial ramdisk ...'

   initrd   /initramfs-genkernel-x86_64-4.1.5-gentoo

}

submenu 'Advanced options for Gentoo GNU/Linux' $menuentry_id_option 'gnulinux-advanced-815f95a9-e6ae-4c44-844e-3f177d4a0c2e' {

   menuentry 'Gentoo GNU/Linux, with Linux x86_64-4.1.5-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.1.5-gentoo-advanced-815f95a9-e6ae-4c44-844e-3f177d4a0c2e' {

      load_video

      if [ "x$grub_platform" = xefi ]; then

         set gfxpayload=keep

      fi

      insmod gzio

      insmod part_gpt

      insmod ext2

      set root='hd0,gpt4'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  5dd84caa-bca1-46a0-863a-8a0d8990563c

      else

        search --no-floppy --fs-uuid --set=root 5dd84caa-bca1-46a0-863a-8a0d8990563c

      fi

      echo   'Loading Linux x86_64-4.1.5-gentoo ...'

      linux   /kernel-genkernel-x86_64-4.1.5-gentoo root=UUID=815f95a9-e6ae-4c44-844e-3f177d4a0c2e ro init=/usr/lib/systemd/systemd 

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-genkernel-x86_64-4.1.5-gentoo

   }

   menuentry 'Gentoo GNU/Linux, with Linux x86_64-4.1.5-gentoo (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.1.5-gentoo-recovery-815f95a9-e6ae-4c44-844e-3f177d4a0c2e' {

      load_video

      if [ "x$grub_platform" = xefi ]; then

         set gfxpayload=keep

      fi

      insmod gzio

      insmod part_gpt

      insmod ext2

      set root='hd0,gpt4'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  5dd84caa-bca1-46a0-863a-8a0d8990563c

      else

        search --no-floppy --fs-uuid --set=root 5dd84caa-bca1-46a0-863a-8a0d8990563c

      fi

      echo   'Loading Linux x86_64-4.1.5-gentoo ...'

      linux   /kernel-genkernel-x86_64-4.1.5-gentoo root=UUID=815f95a9-e6ae-4c44-844e-3f177d4a0c2e ro single init=/usr/lib/systemd/systemd

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-genkernel-x86_64-4.1.5-gentoo

   }

   menuentry 'Gentoo GNU/Linux, with Linux x86_64-4.0.5-gentoo' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.0.5-gentoo-advanced-815f95a9-e6ae-4c44-844e-3f177d4a0c2e' {

      load_video

      if [ "x$grub_platform" = xefi ]; then

         set gfxpayload=keep

      fi

      insmod gzio

      insmod part_gpt

      insmod ext2

      set root='hd0,gpt4'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  5dd84caa-bca1-46a0-863a-8a0d8990563c

      else

        search --no-floppy --fs-uuid --set=root 5dd84caa-bca1-46a0-863a-8a0d8990563c

      fi

      echo   'Loading Linux x86_64-4.0.5-gentoo ...'

      linux   /kernel-genkernel-x86_64-4.0.5-gentoo root=UUID=815f95a9-e6ae-4c44-844e-3f177d4a0c2e ro init=/usr/lib/systemd/systemd 

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-genkernel-x86_64-4.0.5-gentoo

   }

   menuentry 'Gentoo GNU/Linux, with Linux x86_64-4.0.5-gentoo (recovery mode)' --class gentoo --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-x86_64-4.0.5-gentoo-recovery-815f95a9-e6ae-4c44-844e-3f177d4a0c2e' {

      load_video

      if [ "x$grub_platform" = xefi ]; then

         set gfxpayload=keep

      fi

      insmod gzio

      insmod part_gpt

      insmod ext2

      set root='hd0,gpt4'

      if [ x$feature_platform_search_hint = xy ]; then

        search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt4 --hint-efi=hd0,gpt4 --hint-baremetal=ahci0,gpt4  5dd84caa-bca1-46a0-863a-8a0d8990563c

      else

        search --no-floppy --fs-uuid --set=root 5dd84caa-bca1-46a0-863a-8a0d8990563c

      fi

      echo   'Loading Linux x86_64-4.0.5-gentoo ...'

      linux   /kernel-genkernel-x86_64-4.0.5-gentoo root=UUID=815f95a9-e6ae-4c44-844e-3f177d4a0c2e ro single init=/usr/lib/systemd/systemd

      echo   'Loading initial ramdisk ...'

      initrd   /initramfs-genkernel-x86_64-4.0.5-gentoo

   }

}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###

### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###

# This file provides an easy way to add custom menu entries.  Simply type the

# menu entries you want to add after this comment.  Be careful not to change

# the 'exec tail' line above.

### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###

if [ -f  ${config_directory}/custom.cfg ]; then

  source ${config_directory}/custom.cfg

elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then

  source $prefix/custom.cfg;

fi

### END /etc/grub.d/42_custom ###
```

Here's my kernel config:

http://pastebin.com/eG1gvkJnLast edited by safeness on Sat Aug 22, 2015 11:42 pm; edited 3 times in total

----------

## safeness

Oh, I should note that I'm not using bootcamp to dual boot I'm just using refind + grub2.  The latest MacOS I can update to is 10.7 as well. Here's another bit from dmesg that seemed relevant:

```
[    0.000000] Reserving Intel graphics stolen memory at 0xbf000000-0xbfffffff
```

----------

## Tatsh

The range the kernel is seeing is only about 5.36 GiB and some memory is definitely taken by your GPU (however you gave only one line which indicates 16 MiB was taken, but I would imagine more was taken, perhaps ~1.36 GiB). I have seen reports of people seeing half the memory in Boot Camp (or otherwise known as BIOS emulation) on Windows. You could try booting a true EFI kernel (either with EFI-based GRUB or EFI stub) with rEFInd and see if that gets the full amount of memory. Right now you are using BIOS emulation with a hybrid disk.

Otherwise, not sure what is causing this.

----------

## safeness

Here's the full output of dmesg if that helps.  I tried to trim it down before but might have done too much.

http://pastebin.com/92J77Qfz

Oh, also I have EFI enabled in GRUB and in the kernel.  

USE flags for grub2:

```
genbook ~ # emerge -pv grub

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R    ] sys-boot/grub-2.02_beta2-r7:2::gentoo  USE="fonts multislot nls sdl themes truetype -debug -device-mapper -doc -efiemu -libzfs -mount -static {-test}" GRUB_PLATFORMS="efi-32 efi-64 multiboot pc -coreboot -emu -ieee1275 -loongson -qemu -qemu-mips -uboot -xen" 15 KiB

Total: 1 package (1 reinstall), Size of downloads: 15 KiB

```

I think everything in the config regarding that is ok.  But if it isn't, don't hesitate to let me know.  :Smile: 

----------

## Tatsh

If you're certain you are getting > 4 GiB on OS X, then you are going above the supported limit.

http://www.everymac.com/actual-maximum-mac-ram/actual-maximum-macbook-ram-capacity.html

That does not mean anything inherently bad, but it could be that Apple enforces the limit in Boot Camp and/or they do not expect people to use 64-bit operating systems in Boot Camp. This would explain the limit.

On a Mac: https://discussions.apple.com/thread/4046267?start=0&tstart=0 and http://www.rodsbooks.com/gdisk/repairing.html

I would still try a EFI (non-hybrid partition scheme) boot. You need to undo the hybrid partition (which will effectively delete it), and install Gentoo on a newly partition on the GPT partition. Since you would be booting Gentoo in MBR mode to install it, you cannot use the Gentoo disc. You need to use something like Ubuntu or some other OS that officially supports EFI booting fully. If you boot with the Ubuntu USB or CD in, and hold C while booting, you should get 2 or 3 options: OS X, Ubuntu, and rEFInd. Pick Ubuntu with 'Try out' option or similar and proceed with an install. Also in Ubuntu you can run Gparted and create the new partition(s) for Gentoo (and you must ignore warnings about not having an MBR). Once you are ready to install GRUB2, you need to ensure you are running with the correct options and not installing a MBR-based GRUB.

Example:

```
grub2-install --target=x86_64-efi --efi-directory=/boot/efi --boot-directory=/boot
```

If this were to fail for any reason, this more than likely means you are not correctly booted into EFI mode in Linux.

Lastly, a few more links:

https://wilkiecat.wordpress.com/2012/02/03/bless-system-in-mac-os-x-if-your-partition-wont-boot/

http://glandium.org/blog/?p=2830

I have done it before, but it was not totally successful so I gave up. Hopefully your luck will be better. See below (holding C while booting):

http://i.imgur.com/dG5ndm6.jpg

----------

## safeness

That's curious about the hybrid partition scheme. I wasn't aware of anything like that.  Here's what I have:

```
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors

Units: sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disklabel type: gpt

Disk identifier: A0E686BA-232C-4BEB-AC03-B35E5D492858

Device         Start        End   Sectors   Size Type

/dev/sda1         40     409639    409600   200M EFI System

/dev/sda2     409640  976972135 976562496 465.7G Apple HFS/HFS+

/dev/sda3  976973824  985362431   8388608     4G Linux swap

/dev/sda4  985362432  985886719    524288   256M Linux filesystem

/dev/sda5  985886720 1953525134 967638415 461.4G Linux filesystem

```

The grub2-install command worked without a hitch though. 

I'll have to check out those links later, looks like some good reading.

Thanks!

----------

## Tatsh

From that layout it seems you do not have a hybrid MBR. You should be able to create an EFI entry for your EFI-based GRUB2 or your own Linux EFI stub kernel if you decide to do that. Without enabling FileVault this is relatively easy. And if you want to use rEFInd then all you need to do is add a stanza to the configuration with the correct path to the binary.

----------

## Tatsh

As for the original issue, it looks like it is not what I suspected: Boot Camp. You do not appear to be using any part of Boot Camp although your dmesg output is kind of weird to me. Not sure what the issue is here. Reading the ranges from the 'BIOS' output lines is not exactly correct. This is not always going to be the amount of memory you actually have.

Do you boot raw or do you use an initrd? If you use an initrd then there would be a slight difference in dmesg logs, and it would be better to get that log instead of the post-switch one.

----------

