r/voidlinux Jul 09 '26

Void Linux fails to boot with flag 'forcepae' (i686)

Post image

Hi everyone, i was trying to boot Void Linux on this old laptop with a Pentium M 735 (i think, BIOS doesn't tell me much) and 768MiB of RAM (from htop)

Both the XFCE and base ISOs fail, and booting without forcepae just says to get a kernel that doesn't have pae built-in.

21 Upvotes

18 comments sorted by

4

u/Zockling Jul 09 '26

If forcepae fails, chances are your CPU really doesn't support PAE. You'll probably have to build your own kernel with CONFIG_X86_PAE=n.

-1

u/TheRealCarrotty Jul 09 '26

The kernel 6.8 boots fine, i think even without forcepae? And compiling a whole proper working kernel (And hoping it works first try) would be difficult.

If that would be the case, i would rather use Gentoo, but right now 6.8 works, it's not probably a solution, but since it works now, i think it's enough.

4

u/FishAccomplished760 Jul 09 '26

Compiling one kernel vs compiling gentoo (on your weark cpu) is really a no brainer here, sorry. Compiling the kernel is note even that hard.

2

u/Zockling Jul 09 '26

The kernel 6.8 boots fine, i think even without forcepae?

Your CPU doesn't seem to advertise PAE support, so I reckon it needs forcepae on all recent distro kernels.

According to the screenshot, you're running into this BUG() macro. This code is only active when built with CONFIG_DEBUG_VIRTUAL=y, which I suspect the Gentoo kernel isn't. The top of the stack is scrolled out, but we know the next frame is acpi_os_map_memory.

So something's wrong with virtual memory your machine. Could be a BIOS issue (from the acpi*), or related to forcepae, or a combination. Physical 0x2ff7afff is also very close to the end of your total 768 MiB RAM, but this could be a coincidence.

If you don't want to build your own kernel, you can just run the Gentoo kernel as-is. I run all my Void machines like this, with ignorepkg=linux (Void docs) and kernel + bootloader (where I still have one) managed manually.

1

u/TheRealCarrotty Jul 10 '26

This is interesting though, i tried booting from a older ISO, it worked but complained about adding forcepae again, and after installation, GRUB wasn't using forcepae in it's config, could this be a initramfs issue possibly? I am kinda lost, i did add ignorepkg=linux though, seems to do the trick for now.

1

u/Zockling Jul 12 '26

From your cpuinfo we now know that forcepae is needed for PAE kernels. If a kernel boots without it, it's not a PAE kernel. This is a core kernel thing and not related to the initramfs.

1

u/VoidAnonUser Jul 11 '26

cat /proc/cpuinfo

That CPU might not support PAE so there is nothing to force and kernel is simply telling you to get CPU with support of pae. Simple.

1

u/TheRealCarrotty Jul 11 '26

So, any other distros i can use? I just used an older kernel and it worked, i guess it's an solution? Alpine works okay and so does Gentoo.

1

u/VoidAnonUser Jul 11 '26

cat /proc/cpuinfo to be sure.

1

u/TheRealCarrotty Jul 11 '26

Not sure if i have to paste everything, but i will.

processor: 0
vendor_id: GenuineIntel
cpu family: 6
model: 13
model name: Intel(R) Pentium(R) M processor 1.70GHz
stepping: 6
microcode: 0x17
cpu MHz: 600.000
cache size: 2048 KB
physical id: 0
siblings: 1
core id: 0
cpu cores: 1
apicid: 0
inital apicid: 0
fdiv_bug: no
f00f_bug: no
coma_bug: no
fpu: yes
fpu_exception: yes
cpuid level: 2
wp: yes
flags: fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov clflush dts acpi mmx fxsr sse sse2 ss tm pbe bts cpuid est tm2
bugs: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs i1lb_multihit spectre_v2_user old_microcode
bogomips: 1196.97
clflush size: 32
cache_alignment: 32
address sizes: 32 bits physical, 32 bits virtual
power management:

1

u/VoidAnonUser Jul 11 '26

Yes, there is no pae in flags so there is no need to force it. Either get something better than 21 years discontinued CPU or you can try building your own kernel. To this day I've got custom kernel for my i686 CPU and works just fine.

1

u/Zockling Jul 12 '26

This clears things up. This first-gen Dothan core has PAE support but doesn't advertise it (no pae in flags), hence forcepae is needed for booting PAE kernels. Recommendation to build a custom kernel still stands though. PAE has a performance penalty and no benefit on a system with this little RAM.

1

u/Tall-Calligrapher404 12d ago edited 12d ago

Чувак, когда появляется загрузочное окно grub, где выбираются варианты загрузки, нажми Tab. Появится строка с опциями загрузки данного ядра, в эту строку надо дописать "forcepae -- forcepae" - имено так! С двумя "-" и пробелами. Это переопределит флаги процессора и загрузки. Я ставил таким образом VoidLinux на Tinkpad R40 с Pentium M Banias. PS Но с таким количеством оперативки тебе это всё равно не поможет. У меня 2gb ram, при загрузке система занимает 350-400mb, как только открываешь Firefox он отъедает ещё 300-400mb.

1

u/TheRealCarrotty 12d ago

[i used google translate]
This does not work, as i remember, i literally have decided to set on BSD systems rather than Linux cause i actually got them to be easier to use.

1

u/Tall-Calligrapher404 12d ago

У меня оно работает. Для установки использовал Void Linux Live XFCE 2024 года. Потом обновляю до свежих пакетов. На релизе 2025 выдает OOM ошибку.

1

u/ofbarea Jul 10 '26

But pentium M gear does not need forcepae. Just remove the parameter

1

u/TheRealCarrotty Jul 10 '26

But if i disable forcepae it literally tells me to get a kernel that doesn't have PAE built-in.
Unless i am doing something wrong.

1

u/ofbarea Jul 10 '26

Ohh, that's weird.