Proxmox 5.0 Beta1 & Mac Mini Late 2006

geos_one

Renowned Member
Aug 28, 2014
28
0
66
Here a short Howto

1. Create a new install disk with only one boot sector

Code:
xorriso -as mkisofs -o proxmox_5.0_beta1_eltorito_bios_only.iso -r -V "PVE" --protective-msdos-label -c boot/boot.cat -b boot/grub/i386-pc/eltorito.img -no-emul-boot -boot-load-size 4 -boot-info-
table -follow-links /mnt/usb

/mnt/usb is whehre you loopback mounted the original Beta1 cd.
The result is a 600MB big iso you can write on a CD for booting on the mac mini. (the orginal iso has some parts compressed with zisofs, no compression on the recreated iso)

now you can install it by pressing "C" on your keyboard.
in the install when you are aksled where to install i suggest that you reduce the size of the created lvm pve VolumeGroup by 1GB (you will need it for a later step) and do a ext4 install.

after the install you will have an unbootable system because pve installs the 64bit efi grub on the system.

now we have to move the lvm partion to the end of the disk by the 1gb you spared at install, and delete the grub partiton and the efi partiton at the beginning. and create a new 100MB Fat32 as the first partiton and the rest space between 1st and 3th as a new ext2 partiton. (i made this step by taking out the disk from the mac mini and attached it via usb adapter to my linux desktop and used gparted for the step; you could also make it with a modiferd systemrescuecd more or less the same procedure just one bootsector on the disk to work around the apple bios bug in the early macs)
now change the partion layout from msdos to gpt (just start gdisk gptdisk) on start it will convert the msdos partiton layout to GPT. also in gdisk you have to change the type from the first partiton from "Windows Fat32" to "EFI" (just the type not the filesystem)

next you mount the proxmox root filesystem to temporary place (lvm should have found the volumes)

Code:
mount /dev/pve/root /mnt/prox

then move boot to a save place and create a new boot mount point and mount your new created boot partion into prox
also mount the Efi boot partion into the efi subfolder

Code:
mv /mnt/prox/boot /mnt/prox/realboot
mkdir /mnt/prox/boot
mount /dev/sd?2 /mnt/prox/boot
mount /dev/sd?1 /mnt/prox/boot/efi

sd?x replace the ? with the correct disk name

next sync your real boot back to the new boot partion

Code:
rsync -avr /mnt/prox/realboot/* /mnt/prox/boot

now its time to correct the grub install to the 32bit version (the bios on the mac mini is 32bit and so only can load 32bit efi but grub can laod 64bit kernel)

first chroot mount all needed mounts for the chroot.

Code:
cd /mnt/prox
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
chroot /mnt/prox /bin/bash

now that you are in the chroot we need to remov the old grub install and install the new

Code:
apt-get remove grub-efi-amd64
apt-get install grub-efi-ia32
grub-install --target=i386-efi /dev/sd?2
update-grub[/FONT]

now if everything went without problems we need to move the grub.efi to the default name that is expected by the mac efi bios

Code:
cp /boot/efi/EFI/proxmox/grub.efi /boot/efi/EFI/BOOT/BOOTIA32.EFI

after unmounting all the mounts you can reinstall the disk and it will boot proxmox 4.0 without problem on the updated mac mini late 2006

now you also have to add the new 2 partitions to the /etc/fstab file (my example based on UUID get it via blkid )

Code:
UUID=5f262f69-35f6-44b1-900d-f5afb069d614 /boot                   ext2    defaults        1 2
UUID=70E9-C598          /boot/efi               vfat    umask=0077,shortname=winnt 0 0

and then mount the missin partions via mount -a

now you can update your proxmox install with the new kernel in the proxmox repo ...

only one problem still exists a kernel bug with the sky ethernet driver.

Code:
[183574.411102] : hw csum failure
[/FONT][/COLOR][FONT=monospace][COLOR=#18B218][183574.411667] [/COLOR][COLOR=#B26818]CPU[/COLOR][COLOR=#000000][B]: 0 PID: 0 Comm: swapper/0 Tainted: P           O    4.2.1-1-pve #1[/B][/COLOR]
[COLOR=#18B218][183574.411670] [/COLOR][COLOR=#B26818]Hardware name[/COLOR][COLOR=#000000][B]: Apple Inc. Macmini2,1/Mac-F4208EC8, BIOS     MM21.88Z.009A.B00.0706281359 06/28/07[/B][/COLOR]
[COLOR=#18B218][183574.411673] [/COLOR][COLOR=#000000][B] ffff8800b827f401 ffff8800bc4039b8 ffffffff817c9063 0000000000040400[/B][/COLOR]
[COLOR=#18B218][183574.411679] [/COLOR][COLOR=#000000][B] ffff88003626e000 ffff8800bc4039d8 ffffffff816b35c2 ffffffff816a1fa0[/B][/COLOR]
[COLOR=#18B218][183574.411683] [/COLOR][COLOR=#000000][B] ffff8800b827f400 ffff8800bc403a18 ffffffff816aa128 ffff8800bc403a38[/B][/COLOR]
[COLOR=#18B218][183574.411687] [/COLOR][COLOR=#000000][B]Call Trace:[/B][/COLOR]
[COLOR=#18B218][183574.411690] [/COLOR][COLOR=#000000][B] <IRQ>  [<ffffffff817c9063>] dump_stack+0x45/0x57[/B][/COLOR]
[COLOR=#18B218][183574.411709] [/COLOR][COLOR=#000000][B] [<ffffffff816b35c2>] netdev_rx_csum_fault+0x42/0x50[/B][/COLOR]
[COLOR=#18B218][183574.411713] [/COLOR][COLOR=#000000][B] [<ffffffff816a1fa0>] ? skb_push+0x40/0x40[/B][/COLOR]
[COLOR=#18B218][183574.411718] [/COLOR][COLOR=#000000][B] [<ffffffff816aa128>] __skb_checksum_complete+0xc8/0xd0[/B][/COLOR]
[COLOR=#18B218][183574.411723] [/COLOR][COLOR=#000000][B] [<ffffffff81796798>] ipv6_mc_validate_checksum+0x98/0x150[/B][/COLOR]
[COLOR=#18B218][183574.411726] [/COLOR][COLOR=#000000][B] [<ffffffff816a8a7e>] skb_checksum_trimmed+0x9e/0x190[/B][/COLOR]
[COLOR=#18B218][183574.411730] [/COLOR][COLOR=#000000][B] [<ffffffff81796961>] ipv6_mc_check_mld+0x111/0x330[/B][/COLOR]
[COLOR=#18B218][183574.411734] [/COLOR][COLOR=#000000][B] [<ffffffff817a9bd2>] br_multicast_rcv+0x82/0xbe0[/B][/COLOR]
[COLOR=#18B218][183574.411739] [/COLOR][COLOR=#000000][B] [<ffffffff810a575f>] ? sched_clock_cpu+0x7f/0xa0
[/B][/COLOR][/FONT]......

but the mac mini works even with this small error it runns 2 vms one win7 and one debian linux now for 4 days
 
Last edited:
Hi geos_user

Thanks for the time you took to document this !
The root of the message you see could be also a faulty NIC, where TCP hardware checksumming is not working

You can disable TCP hardware checks with the following command:
ethtool --offload eth0 rx off tx off
 
yes i will try but the hardware tcp checksum was also active on the 3.4 vesion and there was not the problem. so it could really be a problem wit the kernel

/etc/network/interfaces
post-up ethtool --offload eth0 rx off tx off
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!