MacBook 1,1 to Libreboot in software way

61 respostas [Última entrada]
tomlukeywood
Desconectado
Joined: 12/05/2014

if your wifi card wont with libre software work you can just get a external one:
https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-usb-adapter-gnu-linux-tpe-n150usb

lilos
Desconectado
Joined: 09/04/2015

sha256sum macbook\ efi.arj
6fc5d813e945f4fa2d5cf6ae97ce95ced578ab02aa6182e63b83de39b45ee324 macbook efi.arj

vita_cell
Desconectado
Joined: 07/19/2015

But it won´t run for me when I click on it. Does nothing.

lilos
Desconectado
Joined: 09/04/2015

What firmware version you have ? Also what version is your OSX ?

To force install do

sudo bless -mount / -firmware /System/Library/CoreServices/Firmware\ Updates/EFIUpdaterApp.efi -payload /System/Library/CoreServices/Firmware\ Updates/LOCKED_MB11_0061_03B.fd -options "-x efi-apple-payload0-data" --verbose

Make shure you have "LOCKED_MB11_0061_03B.fd" and "EFIUpdaterApp.efi" in /System/Library/CoreServices/Firmware\ Updates/

Also you can copy manualy from:

MacBook EFI Firmware Update.app/Contents/Resources

vita_cell
Desconectado
Joined: 07/19/2015

Macbook 1,1:
OSX: 10.6.8 and 10.6.3
boot ROM: M11.0061.B03
SMC: 1.4f12

I had problems with bloatwared 10.6.8 installation.

With clean install of OSX(10.6.3), it runs.

When I run in Terminal your command, this is the output:

MacBook-de-Mother-Fuhrer:~ motherfuhrer$ sudo bless -mount / -firmware /System/Library/CoreServices/Firmware\ Updates/EFIUpdaterApp.efi -payload /System/Library/CoreServices/Firmware\ Updates/LOCKED_MB11_0061_03B.fd -options "-x efi-apple-payload0-data" --verbose
Password:
EFI found at IODeviceTree:/efi
GPT detected
No auxiliary booter partition required
System partition found
Returning booter information dictionary:
{type = mutable dict, count = 3,
entries =>
0 : {contents = "System Partitions"} = {type = immutable, count = 1, values = (
0 : {contents = "disk0s1"}
)}
1 : {contents = "Auxiliary Partitions"} = {type = immutable, count = 0, values = ()}
2 : {contents = "Data Partitions"} = {type = immutable, count = 1, values = (
0 : {contents = "disk0s2"}
)}
}

Substituting ESP disk0s1
Mounting at /Volumes/bless.zh8L
Executing "/sbin/mount"
Returned 0
Creating /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE if needed
Deleting previous contents of /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE
Deleting /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE/EFIUpdaterApp.efi (33888 bytes)
Deleting /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE/LOCKED_MB11_0061_03B.fd (2097152 bytes)
Opened dest at /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi for writing
preallocation not supported on this filesystem for /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi

Type/creator set to / for /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi
/Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi created successfully
Relative path of /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//EFIUpdaterApp.efi is \EFI\APPLE\FIRMWARE\EFIUpdaterApp.efi
IOMedia disk0s1 has UUID 3A7AB392-B844-4514-AC2B-B504D57F1E3A
Opened dest at /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//LOCKED_MB11_0061_03B.fd for writing
preallocation not supported on this filesystem for /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//LOCKED_MB11_0061_03B.fd

Type/creator set to / for /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//LOCKED_MB11_0061_03B.fd
/Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//LOCKED_MB11_0061_03B.fd created successfully
Relative path of /Volumes/bless.zh8L//EFI/APPLE/FIRMWARE//LOCKED_MB11_0061_03B.fd is \EFI\APPLE\FIRMWARE\LOCKED_MB11_0061_03B.fd
IOMedia disk0s1 has UUID 3A7AB392-B844-4514-AC2B-B504D57F1E3A
Setting EFI NVRAM:
{type = mutable dict, count = 2,
entries =>
0 : {contents = "efi-boot-next"} = {contents = "BLLastBSDNamedisk0s1IOMatchIOPropertyMatchUUID3A7AB392-B844-4514-AC2B-B504D57F1E3AIOProviderClassIOMediaPath\EFI\APPLE\FIRMWARE\EFIUpdaterApp.efiIOEFIDevicePathTypeMediaFilePathIOEFIBootOption-x efi-apple-payload0-data"}
1 : {contents = "efi-apple-payload0"} = {contents = "BLLastBSDNamedisk0s1IOMatchIOPropertyMatchUUID3A7AB392-B844-4514-AC2B-B504D57F1E3AIOProviderClassIOMediaPath\EFI\APPLE\FIRMWARE\LOCKED_MB11_0061_03B.fdIOEFIDevicePathTypeMediaFilePath"}
}

Executing "/sbin/umount"
Returned 0

----------------------------------------------------------------------------------------------

After that I close terminal. Switched off the laptop, powered on with releasing the power button on loud beep. So, I can see the progress bar, but at this moment it restarts itself. I tryed 2 times.

My Firmware folder is:

/System/Library/CoreServices/Firmware Updates

lilos
Desconectado
Joined: 09/04/2015

It seems that you have last version of firmware boot rom 1.1

My version was 1.0 and i was able to update. I need to remove protection for reflashing with same firmware cos it seems that APPLE did`t allow to flash 2 times same version of firmware.

So for now this will work if you only have macbook 1,1 with bootrom ver 1,0.

vita_cell
Desconectado
Joined: 07/19/2015

So, can you remove this protection/limitation?

What program/programs(hex editor) did you used for modify it?

What files did you edited?

bookbookbook
Desconectado
Joined: 10/29/2015

After some investigation I found the change lilos has made (use for example ghex or hexdump):

In the EFIUpdaterApp.efi the only change was:

00007360 00 00 20 00 44 76 00 10 25 c8 1c d5 00 00 20 00

to

00007360 00 00 20 00 44 76 00 10 e5 82 c1 15 00 00 20 00

The other change was that LOCKED_MB11_0061_03B.fd was replaced by the renamed libreboot binary (already mentioned previously by lilos)

If you are keen to try to remove the limitation of flashing the same version, resources I have found that may help are:

http://forum.macbidouille.com (French)

specifically: http://forum.macbidouille.com/index.php?showtopic=367110&st=0&gopid=3983866&#entry3983866

http://forum.netkas.org (English)

The original update is available here: https://support.apple.com/downloads/DL207/en_US/MacBookFirmwareUpdate1.1.dmg

Good luck!

vita_cell
Desconectado
Joined: 07/19/2015

Thank you!! I will try it.

Which file I must to edit, with what program can I edit the binary firmware?

lilos
Desconectado
Joined: 09/04/2015

EFIUpdaterApp.efi checks if version is 1,1 or 1,0

Changes what i make was 2 or 3 checks of CRC checksum not one.

Also i did not download update from site.I push autoupdate in control panel apple firmware is download then he ask me to reboot i cancel it then copy from apple update files firmware update tool and remove firmware checks.But my firmware version was 1.0.

So the only think that is left is to be removed current firmware version check.This can be done by hex editing EFIUpdaterApp.efi and searching for string that check what is your current version.

And this string must be changed to firmware 1,1 string so result will be
maching and EFIUpdaterApp.efi will flash libreboot

I alredy flashed my macbook1,1 (works very well ~ 1-2m after flashing)
and can`t test this.

pizzaiolo
Desconectado
Joined: 03/12/2015

Please make sure to patch the libreboot documentation to include this :)