Macbook PRO installer freeze

Ok, then I can report that it didn't work for me. There were no long port-probe timeouts, but it didn't find the disks either. So I reverted back to the first patch and did a successful install (I packaged up an installer image here).

If you want me to try something else, let me know. I can also upload boot -v output and/or pciconf -clv output. But meanwhile it might not be a bad idea to push your first patch out?
 
Hiya All,

New user (both forum and FreeBSD here).

My server has been running FreeBSD happily since last week, however my Macbook doesn't :S I suspect it's the same problem described in this thread. However, I do not know how to include the diff/patch as described above in an image (I will look that up and try it out myself).

I just want to know if people already tried this and if it works or not? The MacBook I'm using is Mo #A1181.

PS, both PC-BSD and FreeBSD (8.2 and 9.0 devel) "crap up" on loading (phun intended).
 
de0u,

Thank you, but I already tried that step by step, but somehow I cannot see the USB device, it will only show the CD and Disk0. (I tried 2 different USB sticks and 1 USB-HDD).

I suspect this is because of my MacBook version? Anyway, I think my only solution would be to burn the kernel with the patch to the installer DVD.
 
YaNightmare said:
Thank you, but I already tried that step by step, but somehow I cannot see the USB device, it will only show the CD and Disk0. (I tried 2 different USB sticks and 1 USB-HDD).

I suspect this is because of my MacBook version?

That does not seem like the first thing to suspect. USB controllers are very similar, even across platforms (i.e., the USB host controller in an ARM netbook is probably EHCI/OHCI, just like MacBook USB controllers). If you're not seeing actual complaints about USB controllers, I would tend to think they're working.

Anyway, I think my only solution would be to burn the kernel with the patch to the installer DVD.

While I was working on this I came across directions for doing that. It's noticeably more complicated than other options. If you have some other machine running FreeBSD on your network, you could unpack my disk image and export it via NFS--that would probably be easier than messing with creating CD's, though I guess we could pursue that if nothing else worked.

Can you say in detail where my instructions broke down for you? Maybe provide a transcript of what you tried and what happened?
 
de0u said:
That does not seem like the first thing to suspect. USB controllers are very similar, even across platforms (i.e., the USB host controller in an ARM netbook is probably EHCI/OHCI, just like MacBook USB controllers). If you're not seeing actual complaints about USB controllers, I would tend to think they're working.

I agree, I do not see any USB errors of any kind.

While I was working on this I came across directions for doing that. It's noticeably more complicated than other options. If you have some other machine running FreeBSD on your network, you could unpack my disk image and export it via NFS--that would probably be easier than messing with creating CD's, though I guess we could pursue that if nothing else worked.

Can you say in detail where my instructions broke down for you? Maybe provide a transcript of what you tried and what happened?

Gladly: (PS, I'm using a MacBook 4.1 (Early 2008 model, 2.1 duo, 2x 512, 1x120GB)

  • Partitioning - All steps OK !
  • Starting BTX - OK
  • Entering Fixit - OK
  • -Type unload - OK
  • -Type lsdev - NOK
lsdev results:
CDROM - /dev/cd0
Disk - /dev/disk0 (3 partitions)

For completeness fdisk results from OS-X fdisk
Code:
Disk: /dev/disk0	geometry: 14593/255/63 [234441648 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE 1023 254  63 - 1023 254  63 [         1 -     409639] <Unknown ID>
 2: AF 1023 254  63 - 1023 254  63 [    409640 -  117187504] HFS+        
 3: 0B 1023 254  63 - 1023 254  63 [ 117860352 -  116580352] Win95 FAT-32
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused

As it doesn't find the Disk1 (USB) as stated in the guide I can't do any of the steps after the setcurrdev

Above steps have been preformed with:
FreeBSD 8.2 CD (had it lying around, wanted to exclude a faulty image)
FreeBSD 8.2 DVD
FreeBSD 9.0 DVD

I was wrong in my first post about number of USB sticks I tried:
  1. 1 USB stick 2Gb (1.86Gb), wrote your image to it with "Roadkil's Disk Image" (I'm on Windows 7 on my laptop).
  2. 1 USB-HDD 120Gb.
In both cases I wrote the image to a RAW disk, I have another USB stick, but it's only 1Gb thus it will not work with the 1Gb image

I do have a FreeBSD server running as well, so in theory I could stream the image over NFS, I'm only using SMB for filesharing on it at the moment, maybe SMB or SSH streaming is also possible, else I will have to look up how to make a NFS share (I'm fairly new to FreeBSD and im running ZFS on Root on my server which makes my learning curve a bit steep for me at the moment :))

Thank you for your time! If you need more information please let me know (pictures etc).
 
YaNightmare said:
lsdev results:
CDROM - /dev/cd0
Disk - /dev/disk0 (3 partitions)

Can you type in exactly what lsdev says? (I guess a picture would work too.)

Also, if you blindly assume disk1, set currdev, etc., can you load a kernel?

YaNightmare said:
I was wrong in my first post about number of USB sticks I tried:
  1. 1 USB stick 2Gb (1.86Gb), wrote your image to it with "Roadkil's Disk Image" (I'm on Windows 7 on my laptop).
  2. 1 USB-HDD 120Gb.
In both cases I wrote the image to a RAW disk, I have another USB stick, but it's only 1Gb thus it will not work with the 1Gb image

Just so I'm sure I understand: you wrote the disk images onto the USB devices from Windows running on the MacBook, or from some other machine running Windows? If you plug the various USB devices into the MacBook while it's running OS X, do they get detected ok? When you boot up the FreeBSD installer CD, do you see the lights on your USB devices blinking? Are the USB devices plugged directly into the MacBook, or are you using a USB hub?

Finally... call it prejudice if you will... if you have a FreeBSD machine running, why not write the disk image onto the USB devices from that machine and get Windows out of the picture?
 
de0u said:
Can you type in exactly what lsdev says? (I guess a picture would work too.)

Also, if you blindly assume disk1, set currdev, etc., can you load a kernel?

Attached a picture (clickable for large size)
:


Just so I'm sure I understand: you wrote the disk images onto the USB devices from Windows running on the MacBook, or from some other machine running Windows?

The MacBook runs only OS-X at the moment (and rEFIt for the multiboot part, I wanted to test if this changed anything on the USB boot part).
I wrote the image from my other laptop runnin Windows 7.

If you plug the various USB devices into the MacBook while it's running OS X, do they get detected ok?

Yes, but OS-X shows a popup that it cannot do anything with it (just like your guide describes).

When you boot up the FreeBSD installer CD, do you see the lights on your USB devices blinking?

Now that you mention it, no, from the part the DVD is booting until it shows the boot selection screen (where you press 6 for the shell) the light doesn't blink (not even once).

Before this (MacBook EFI & rEFIt) it blinks a couple of times and stops when the actual FreeBSD disk boot takes over.

Are the USB devices plugged directly into the MacBook, or are you using a USB hub?

Directly.

Finally... call it prejudice if you will... if you have a FreeBSD machine running, why not write the disk image onto the USB devices from that machine and get Windows out of the picture?

Did this just now (hence the late reply) I wrote the image from my FreeBSD 8.2 RELEASE-p2 server with [CMD=]dd if=FreeBSD-8.2-RC2-amd64-memstick-apple_mcp89.img of=/dev/da0 bs=64k[/CMD] (the above attached picture is also with this new image on the USB stick).

I'm sure the blinking / no access to the USB during boot might be the money shot here, however, I don't have a clue to why or how.

Just so I'm sure on the DVD I'm using, I burned the default FreeBSD 8.2 DVD (~2Gb). When the BTX loader does its job it only loads the loader.conf, /boot/kernel/kernel text, data and syms, after that it displays the boot options (enter default, no acpi etc). It does not load any additional modules.
 
jkim@ said:
Can you please try this patch once again? This should be the final patch.

http://people.freebsd.org/~jkim/apple_mcp89_3.diff

The first and third patches work (when each is applied to a fresh tree). The second doesn't.

The first one complains about finding a "non-ATA66 cable", and the third doesn't. Otherwise
they appear to work equally well.

Thanks for putting in the time to work on this, and I apologize for the delay in trying the third patch
(which seems good to go).
 
First of all, I'm sorry I didn't see and respond to your detailed answers until now.

Second, it seems as if your earlier guess, that something is going wrong with your USB
system, was correct.

Since your system is older than mine, it's not particularly likely that you need the patch
I did; also, you are having a different problem (I wasn't able to access the internal disk;
you are having trouble accessing USB devices).

So I would suggest you start by booting up the live/rescue system and reporting
where that goes bad. Is the kernel unable to find the internal disk *and* USB
devices? It is possible for the boot loader to have trouble with USB but for the
kernel drivers to work, in which case you could try to finesse your way through
with two stock installer images, one on CD/DVD to run the boot loader and
load the kernel, plus another one on a USB stick for the kernel to mount once it's
loaded.
 
de0u said:
The first and third patches work (when each is applied to a fresh tree). The second doesn't.

The first one complains about finding a "non-ATA66 cable", and the third doesn't. Otherwise
they appear to work equally well.

Thanks for putting in the time to work on this, and I apologize for the delay in trying the third patch
(which seems good to go).

Great. mav@ improved the patch and committed it as r224603:

http://svn.freebsd.org/changeset/base/224603

Unfortunately we missed 9.0-BETA1 but it will show up in BETA2 and later.
 
FreeBSD 9.0-RC2 doesn't hang and installs now, however, I'm not entirely sure how to get it working. When creating the the partitions, it seems FreeBSD is being made to work with MBR, and GUID as well as a few others. I installed with the GPT partitions, which forced a 64k freebsd-boot partition ahead of the freebsd-ufs partition. The install executes smoothly and finishes. However, on reboot, the FreeBSD partition is not available. You can still boot into the HFS partition.

Have I missed something here? Is there a better way to do this? I thought editing the partition table with fdisk() from the shell within the install program would function in the same manner it did with the FreeBSD 9.0-RC1 hack, however, with the addition of the freebsd-boot partition before the last partition, it negates the recorded information before the install.

Edit:

I solved my own problem. After reading through, Installing FreeBSD Root on ZFS using GPT, I realized that I didn't need to copy any partition information before the install.

I, this may not be the fastest or only way, booted my MacOSX install cd and deleted the bootcamp partition. Then added the freebsd-boot, freebsd-swap and freebsd-ufs partitions with the OSX gpt tool in a terminal.

[CMD="gpt"]add -b 126238760 -s 128 -t 83BD6B9D-7F41-11DC-BE0B-001560B84F0F[/CMD]
[cmd="gpt"]add -b 126238760 -s 128 -t 83BD6B9D-7F41-11DC-BE0B-001560B84F0F[/cmd]
[cmd="gpt"]add -b 130433192 -t 516E7CB6-6ECF-11D6-8FF8-00022D09712B[/cmd]

I assume you should be able to do the exact same operation from the shell during the FreeBSD install, using gpart(8)(). This is retrospective and I haven't tested it. When partitioning within the install, I chose to use the shell, ran:
[cmd="newfs"]/dev/ada0p5[/cmd]
then,
[cmd="mount"]/dev/ada0p5 /mnt[/cmd]

Next I edited the /tmp/bsdinstall_etc/fstab to point to the appropriate device
Code:
#dev        #mount    #fs    #opts   #dump/pass
/mnt        /         ufs    rw      0 0

Then exited the shell and the install proceeds automatically. When you get kicked back to the main menu after a successful install, re-enter the shell and re-mount your root device. You need to edit your /etc/fstab to reflect your actual device on mount. I had to change mine from:
Code:
[color=red]--/mnt           /    ufs    rw    0 0[/color]
[color=green]++/dev/ada0p5    /    ufs    rw    0 0[/color]

After reading this, I'm assuming that I could have just used the /dev/ada0p5 in bsdinstall_etc and could have skipped the last step.

After a reboot I realized I needed to install bootcode. The installer didn't do this for me. I previously tried:
[cmd="gpart"]bootcode -b /boot/pmbr -p /boot/gptboot -i 3 ada0[/cmd]
This didn't work for me though, so I ended up using;
[cmd="gpart"]bootcode -p /boot/gptboot -i 5 ada0[/cmd]

Which leads me to believe the freebsd-boot partition isn't needed, though I'm interested to learn how it would actually be utilized. This has allowed me dualboot with Mac OSX. I'm also using reEFIt, I'm not certain that it is required though, I'm going to uninstall and find out.
 
Back
Top