From 602301e004f0171b388cfa1b705e4a1d0969872b Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Thu, 29 Nov 2018 10:07:35 +0100 Subject: some fixes in the A1211 article --- content/blog/archlinux-macbook-a1211.md | 46 ++++++++++++++++++++++----------- 1 file changed, 31 insertions(+), 15 deletions(-) diff --git a/content/blog/archlinux-macbook-a1211.md b/content/blog/archlinux-macbook-a1211.md index b244cfc..7da40cf 100644 --- a/content/blog/archlinux-macbook-a1211.md +++ b/content/blog/archlinux-macbook-a1211.md @@ -21,7 +21,8 @@ Here the specifications: * OSX 10.6.8 * ATI Radeon X1600 256 MB RAM, 1440x900, 32 bit -I didn't try any Sierra OS X hacks on old hardware and besides, +I didn't try any Sierra OS X hacks (or installing a Capitan, rumours are, +it works even on such an old laptop) on old hardware and besides, Archlinux is a better choice for a developer on a Mac. Although there are still MacPorts for OS X 10.6.x (no Brew though), it can be quite painful to get something compiled on a Mac OS that old. @@ -50,10 +51,10 @@ dd if=archlinux-2018.09.01-x86_64.dmg of=/dev/disk2 bs=1m I used [ReFIT for MAC](http://refit.sourceforge.net/) to improve the somewhat limited EFI environment of an early Mac (don't get me wrong, it's pretty impressive that such an old machine already had EFI, but nowadays this -EFI shows it's age). +EFI shows its age). The firmware is a 32-bit EFI without a proper command line mode, -causing trouble all along. I didn't take ReFind, as I didn't expect the +causing trouble all along. I didn't take ReFind as I didn't expect the 32-bit EFI to be currently supported, especially as I see Tianocore failing to build with more modern 32-bit binutils and gcc. @@ -67,11 +68,11 @@ EFI environemnt with systemd-boot. I didn't want to boot into legacy mode to make the VGA BIOS visible, so I got a nice problem during KMS switching during early boot: the graphical output just froze. The irony here is that modern Linux and Xorg -don't care at all about the old VGA/VESA BIOS, but for KMS, where the kernel -has to rely on 16-bit firmware functions in the video BIOS to program -the video chip for graphics mode. +don't care at all about the old VGA/VESA BIOS, but they do so for KMS, +where the kernel has to rely on 16-bit firmware functions in the video +BIOS to program the video chip for graphics mode. -So, all I got was the following kernel and Xorg error messages: +All I got was the following kernel and Xorg error messages: ``` [2.052705] [drm] initializing kernel modesetting (RV530 0x1002:0x71C5 0x106B:0x0080 0x00). @@ -112,17 +113,17 @@ boot. The next problem was that the radeon module in the Linux kernel doesn't know about this firmware. There is a patch in https://bugs.freedesktop.org/show_bug.cgi?id=26891 -for older kernels, but it translates easily to last kernel. All -it does is load the *vbios.bin* file from the right place, when all the other -options failed. +for older kernels, but it translates easily to the latest kernel. All +it does is to load the *vbios.bin* file from the right place, when all the other +options fail. My version of the module is [here](/text/blog/archlinux-macbook-a1211/radeon_bios.c), check -out function *radeon_read_bios_from_firmware* and the calling code calling that function. +out function *radeon_read_bios_from_firmware* and the code calling that function. Now, Archlinux needs the Radeon driver for KMS as early as possible, so I thought it's a nice idea to put it into the init-RAM-disk: -So, I added to */etc/mkinitcpio.conf*: +So, I added to */etc/mkinitcpio.conf* and rebuilt the ram disks: ``` MODULES=(radeon) @@ -143,7 +144,7 @@ xrandr --output LVDS --brightness 1 (it did work later though to set the brightness between 0.0 and 1.0) The trick is to tell the radeon module to handle the LCD backlight, not -one of the funny Apple brightness modules. In */etc/modprobe.d/radeon.conf* put: +one of the Apple brightness modules. In */etc/modprobe.d/radeon.conf* put: ``` options radeon backlight=1 @@ -155,7 +156,7 @@ across reboots and suspends. ### Function keys or special keys -If you don't need the special volumes, brightness keys but instead the old +If you don't need the special keys for controlling the volume and brightness but instead the old Fxx function keys, add the following to */etc/modprobe.d/hid_apple.conf*: ``` @@ -211,7 +212,8 @@ also lm_sensors had no problems to get its data. ### Power consumption -cpupower seems to work fine. +cpupower seems to work fine. Just make sure the 'p4-clockmod' module is loaded +at boot. Note: I didn't try powertop or other tweaks. I got some worriesome ticking noises of the hard disk after a suspend and my battery is not that powerful @@ -266,6 +268,20 @@ I need most often. I might add some Ctrl, Meta modifiers to get 2, 3 mouse button clicks later. +## Philosophical Outro + +In a world where companies try hard to get people into their ecosystem (what they +can do with the products they bought and own, what they can repair or let repair, what kind +of operating system and software they are supposed to use), I think, it's the +duty of any tech professional to invest some time to give old hardware some +usage back (hence I'm also working on the Archlinux32 project). Also throwing +away barely used machines, just because a company wants to earn billions, is an +ecological disaster. Remember, companies have been invented to make money, don't +get fooled by "we are there to make the world a better place" or any other marketing bs. +As the company which should not be named is quite good at this kind of business, I +expect all major vendors to follow soon. So that's why I keep a park of old machines +around and I'm not buying new machines since 10 years (I do buy old ones from Ebay though). + ## References * https://everymac.com/systems/apple/macbook_pro/specs/macbook-pro-core-2-duo-2.33-15-specs.html : -- cgit v1.2.3-54-g00ecf