Jump to content

Installing Arch 64-bit on a 2007 Macbook with 32-bit EFI?

Go to solution Solved by 18358414,

To surmise the end of this saga:

 

Due to my messing about with Intel driver settings, there was still an XOrg config file that was stopping X from starting.  I deleted the config file and X started complaining that I need to tell it a Bus ID to use for the display output.  Upon specifying the Bus ID in an XOrg config file, X now starts perfectly fine with the correct resolution and works reasonably well for running off of a framebuffer. 

 

In summary:

-rEFIt installed via mac os to allow me to boot to other os's. 

-Arch Linux installed with 32-bit grub (automatically booted from rEFIt so I'm not sure even the 32-bit was necessary)

-Had to use Arch Linux LTS kernel due to some wierd bug with newer kernels and Core2 Duo processors (Installing Arch was actually done on another machine with the hard drive connected via USB since I couldn't boot the macbook directly -- installing arch-install-scripts allowed me to do so)

-had to set nomodeset in the boot options

-had to specify BusID in an xorg config file

 

I now have a working GUI which will suffice for what I need it to do. 

 

Thanks everyone for your suggestions ^.^

I've got a 2007 macbook with a Core2 Duo 64-bit processor and I'd like to install Arch Linux 64-bit, however it has a 32-bit EFI and I'm having difficulty getting it to boot to a live environment.  I've managed to boot a Linux Mint 32-bit ISO but for some reason, even if I download the archlinux32 project's ISO, the macbook doesn't recognize the arch boot disk as valid and just locks up.  I'm guessing because the disk is reporting 64-bit and the 32-bit efi can't comprehend it. 

 

I'm thinking if I can get it to at least BOOT to arch, I can take it from there -- grub-i386 should suffice and then it can pass off to linux 64-bit.  I just need to know HOW to get it to force 32-bit mode on the arch boot disk.  Any ideas?

 

Also, I do not have an apple boot disk so trying to do the "bless" command on the boot medium/partition to put it in BIOS-emulated mode isn't really an option.

If I have to explain every detail, I won't talk to you.  If you answer a question with what can be found through 10 seconds of googling, you've contributed nothing, as I assure you I've already considered it.

 

What a world we would be living in if I had to post several paragraphs every time I ask a question.

Link to comment
Share on other sites

Link to post
Share on other sites

Ok, so I've made some progress with this:

 

By installing arch-install-tools, I've managed to install Arch Linux on an external USB drive with a separate fat32 grub partition with 32-bit efi.  On the macbook I've installed rEFIt which is able to boot to this drive.  I am now able to get into GRUB. 

 

Problems: GRUB doesn't appear to like the disk labelling or partition types and sometimes complains about 'unknown filesystem type'.

 

More importantly: when I am able to load the kernel and start the boot process, *something* is eating up excessive CPU resources:

`INFO: rcu_preempt detected stalls on CPUs/tasks: [...] kworker blocked for more than 120 seconds [...]`

 

It would seem that something doesn't like trying to cope with this hardware.  Suggestions?

 

EDIT

Looks like there's some issues with core2 duo processors on some recent kernel updates.  Now I'm booting LTS kernel with a couple of boot options (tsc=unstable clocksource=hpet) and it boots up just fine until Arch tries to switch to gpu acceleration... then it just gets corrupted graphics output.  I'm 99% there, it's just trying to cope with the macbook integrated graphics at this point. 

 

EDIT #2

It's installed and working.  Sort of... I left rEFIt on the main EFI partition because I didn't want to risk nuking that.  I overwrote ios with Arch Linux and installed grub with EFI support and it boots smoothly now.  The only hiccup is that I cannot boot to a graphical environment because for some reason the graphics drivers don't play nice (boot fails without nomodeset in the kernel options, but that means I can't get a graphical interface)

If I have to explain every detail, I won't talk to you.  If you answer a question with what can be found through 10 seconds of googling, you've contributed nothing, as I assure you I've already considered it.

 

What a world we would be living in if I had to post several paragraphs every time I ask a question.

Link to comment
Share on other sites

Link to post
Share on other sites

GMA950 right?

Boot into text mode or switch TTYs & give us output of

 

uname -a; pci -k | grep -A5 VGA; glxinfo |grep -i opengl

Link to comment
Share on other sites

Link to post
Share on other sites

`uname -a`:
 

Linux crapbook 4.14.69-1-lts #1 SMP Mon Sep 10 16:59:09 CEST 2018 x86_64 GNU/Linux

 

`lspci -k | grep -A5 VGA`:

 

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
        Subsystem: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller
        Kernel modules: i915
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
        Subsystem: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller
00:07.0 Performance counters: Intel Corporation Device 27a3 (rev 03)

 

`glxinfo | grep -i opengl`:

 

Error: unable to open display

 

glxinfo was likely to fail since the machine won't boot into a working environment unless I have the kernel option "nomodeset" -- otherwise it fails with a garbled image of the boot splash with absolutely no information having been written to the log files (and it's a hard-freeze, can't even ssh in)

 

If I have to explain every detail, I won't talk to you.  If you answer a question with what can be found through 10 seconds of googling, you've contributed nothing, as I assure you I've already considered it.

 

What a world we would be living in if I had to post several paragraphs every time I ask a question.

Link to comment
Share on other sites

Link to post
Share on other sites

Go through https://wiki.archlinux.org/index.php/Intel_graphics

 

If you still have hardfreezes, it wouldn't hurt to rule out cstate issues with the 

intel_idle.max_cstate=0 idle=poll

kernel flags

 

If none of that works, I guess you could try

sudo hwinfo --framebuffer | grep Mode

to see your modes and pass them directly to the kernel with vga=

Link to comment
Share on other sites

Link to post
Share on other sites

I've attempted the steps on the wiki, however those have failed to help. 

 

I tried setting early KMS which just makes it crash sooner, this isn't an XOrg issue because the issue was present even before XOrg was installed (nonetheless, I tried some options in the config file). 

 

intel_idle.max_cstate=0 idle=poll didn't alleviate the problem. 

 

If I did hwinfo and pass the modes directly to the kernel, wouldn't that still result in no graphical user interface? (The screen is actually displaying at the correct resolution, it's just that I can't start a GUI)

 

Anyway, the 2007 Macbook continues to crash whenever I remove the 'nomodeset' line.

If I have to explain every detail, I won't talk to you.  If you answer a question with what can be found through 10 seconds of googling, you've contributed nothing, as I assure you I've already considered it.

 

What a world we would be living in if I had to post several paragraphs every time I ask a question.

Link to comment
Share on other sites

Link to post
Share on other sites

If you use nomodeset but don't disable i915.modeset you should still be able to start X; unless that causes it to crash of course.

 

Otherwise, it's a bit like shooting in the dark if we don't know what causes the crash. Try changing "quiet splash" to "splash" in your kernel parameters to see if it gived you any more information.

Don't ask to ask, just ask... please 🤨

sudo chmod -R 000 /*

Link to comment
Share on other sites

Link to post
Share on other sites

The i915 modeset does the same as kernel modeset.  It just bugs out the second it tries modesetting.  I don't need it for much though, any way I can just force a framebuffered gui?

If I have to explain every detail, I won't talk to you.  If you answer a question with what can be found through 10 seconds of googling, you've contributed nothing, as I assure you I've already considered it.

 

What a world we would be living in if I had to post several paragraphs every time I ask a question.

Link to comment
Share on other sites

Link to post
Share on other sites

To surmise the end of this saga:

 

Due to my messing about with Intel driver settings, there was still an XOrg config file that was stopping X from starting.  I deleted the config file and X started complaining that I need to tell it a Bus ID to use for the display output.  Upon specifying the Bus ID in an XOrg config file, X now starts perfectly fine with the correct resolution and works reasonably well for running off of a framebuffer. 

 

In summary:

-rEFIt installed via mac os to allow me to boot to other os's. 

-Arch Linux installed with 32-bit grub (automatically booted from rEFIt so I'm not sure even the 32-bit was necessary)

-Had to use Arch Linux LTS kernel due to some wierd bug with newer kernels and Core2 Duo processors (Installing Arch was actually done on another machine with the hard drive connected via USB since I couldn't boot the macbook directly -- installing arch-install-scripts allowed me to do so)

-had to set nomodeset in the boot options

-had to specify BusID in an xorg config file

 

I now have a working GUI which will suffice for what I need it to do. 

 

Thanks everyone for your suggestions ^.^

If I have to explain every detail, I won't talk to you.  If you answer a question with what can be found through 10 seconds of googling, you've contributed nothing, as I assure you I've already considered it.

 

What a world we would be living in if I had to post several paragraphs every time I ask a question.

Link to comment
Share on other sites

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×