debian: ติดตั้ง OS X Guest ใน VirtualBox

 

มีงานที่ต้องการทดสอบการแสดงผล ของ Safari/iBooks ใน iPhone/iPad (iOS) และ Mac (OS X) จึงต้องลง OS X เพื่อทดสอบ แอปที่จะใช้ คือ iBooks, iBooks Author และ Xcode ต้องการทรัพยากรเป็น Mavericks (10.9) แต่ Mavericks ไม่มีแผ่นขาย มีขายแต่ Snow Leopard (10.6.3) จึงต้องมีขั้นตอนเยอะหน่อย

ระบบที่ใช้ทดสอบ

host: Debian 3.12-1-amd64
cpu: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
ram: 8G
VirtualBox: Official 4.3

ขั้นตอน

  • 1.ติดตั้ง Snow Leopard (10.6) เพื่อจะสามารถดาวน์โหลด Mavericks (10.9) ได้ และนำมาสร้างเป็นไฟล์ iso เพื่อติดตั้งต่อไป
  • 2.ติดตั้ง Mavericks

ต้องเตรียม

  • ซื้อแผ่น Snow Leopard (10.6) ราคา 620 บาท บวกค่าส่งอีก 300 บาท (ต้องสมัคร/ใช้บัญชี Apple ID)
  • iBoot Ivy Bridge 1.1.0 สำหรับบูตเข้า Snow Leopard (ต้องลงทะเบียน) แตกไฟล์แล้วเก็บไฟล์ iBoot-Ivy-Bridge.iso ไว้ (ถ้าบูตไม่ผ่าน ลองดาวน์โหลด iBoot ตัวอื่นดู)
  • เนื้อที่ว่างของฮาร์ดดิสก์ ประมาณ 30-60 GB

1.ติดตั้ง Snow Leopard

เอา VirtualBox สร้าง Virtual Machine ใหม่ดังนี้

Name: osx
Type: Max OS X
Version: Mac OS X (64 bit)
Memory size: 2048
Hard drive: virtual hard drive 30.00GB VDI (VirtualBox Disk Image) (ค่าปริยาย 20G ไม่พอ)
Storage on physical hard drive: Dynamically allocated

ตั้งค่าอื่น

System: Motherboard: ยกเลิก Enable EFI (special OSes only)

Display: Video: Enable 3D Acceleration

Storage: Controller: SATA -> Empty เปลี่ยน Attributes: Choose a virtual CD/DVD disk file:
    เปลี่ยนเป็น iBoot-Ivy-Bridge.iso ที่เตรียมไว้

ส่วนที่เหลือ ใช้ค่าปริยายทั้งหมด

เสร็จแล้วก็บูตเข้า iBoot ต่อด้วย Snow Leopard เพื่อติดตั้ง

ตอนบูตเข้า iBoot ให้ใส่แผ่น Snow Leopard ในซีดีรอม แล้วเปลี่ยน Devices เป็น Host Drive ATAPI แล้วกด F5 เพื่อรีเฟรช แล้วจึงบูตติดตึ้ง Snow Leopard

Devices -> CD/DVD devices -> Host Drive ATAPI (sr0)
กด F5
บูตด้วย Mac OS X Install DVD

ติดตั้งตามปกติ ระหว่างติดตั้งต้องมีการสร้างพาร์ติชั่นด้วย

Utilities -> Disk Utility
เลือก 32.21 GB VBOX HARDISK -> Partition -> + ->
    Name: osx
    Apply

ติดตั้งต่อจนเสร็จ

บูตเข้าระบบโดยต้องกลับไปใช้ iBoot-Ivy-Bridge อีกครั้ง แล้วเลือกเข้า osx ที่ติดตั้งเสร็จแล้ว
ถ้าบูตไม่ขึ้น ให้ลองปิดและบูตใหม่

หลังติดตั้งเสร็จเรียบร้อย ให้อัปเดตระบบ เพื่อให้มี App Store

Apple -> Software Update

อัปเดตเสร็จ รีบูตใหม่ ระบบจะกลายเป็น 10.6.8 และมี App Store เรียบร้อย

ดาวน์โหลด Mavericks ผ่าน AppStore ขนาดประมาณ 5.3GB (5GiB)
เมื่อเสร็จ ไฟล์ที่ได้จะอยู่ที่ /Applications/Install OS X Mavericks.app

แปลงเป็น iso เพื่อจะนำไปติดตั้งในขั้นตอนต่อไป
เข้า Terminal

Applications -> Utilities -> Terminal

แล้วพิมพ์คำสั่งดังนี้

# Mount the installer image
hdiutil attach /Applications/Install\ OS\ X\ Mavericks.app/Contents/SharedSupport/InstallESD.dmg -noverify -nobrowse -mountpoint /Volumes/install_app

# Convert the boot image to a sparse bundle
hdiutil convert /Volumes/install_app/BaseSystem.dmg -format UDSP -o /tmp/Mavericks

# Increase the sparse bundle capacity to accommodate the packages
hdiutil resize -size 8g /tmp/Mavericks.sparseimage

# Mount the sparse bundle for package addition
hdiutil attach /tmp/Mavericks.sparseimage -noverify -nobrowse -mountpoint /Volumes/install_build

# Remove Package link and replace with actual files
rm /Volumes/install_build/System/Installation/Packages
cp -rp /Volumes/install_app/Packages /Volumes/install_build/System/Installation/

# Unmount the installer image
hdiutil detach /Volumes/install_app

# Unmount the sparse bundle
hdiutil detach /Volumes/install_build

# Resize the partition in the sparse bundle to remove any free space
hdiutil resize -size `hdiutil resize -limits /tmp/Mavericks.sparseimage | tail -n 1 | awk '{ print $1 }'`b /tmp/Mavericks.sparseimage

# Convert the sparse bundle to ISO/CD master
hdiutil convert /tmp/Mavericks.sparseimage -format UDTO -o /tmp/Mavericks

# Remove the sparse bundle
rm /tmp/Mavericks.sparseimage

# Rename the ISO and move it to the desktop
mv /tmp/Mavericks.cdr ~/Desktop/Mavericks.iso

คัดลอก Mavericks.iso บน Desktop มาสู่เครื่องจริง (อาจผ่าน usb หรือเน็ตเวิร์ค - ผมใช้ผ่านเน็ตเวิร์ค) เพื่อจะนำไปติดตั้งในขั้นตอนต่อไป

ปิดเครื่อง

จบขั้นแรก

หากต้องการทดสอบ Snow Leopard ต่อไปก็สามารถเก็บ Virtual Machine "osx" นี้ไว้ได้ แต่หากไม่ต้องการใช้แล้วก็ลบทิ้งได้เลย

ที่มา

2.ติดตั้ง Mavericks

เอา VirtualBox สร้าง Virtual Machine ใหม่ดังนี้

Name: osx64
Type: Max OS X
Version: Mac OS X (64 bit)
Memory size: 2048
Hard drive: virtual hard drive 30.00GB VDI (VirtualBox Disk Image) (ถ้าต้องใช้งานจริงจัง ควรเป็น 40G ขึ้นไป)
Storage on physical hard drive: Dynamically allocated

คราวนี้ไม่ต้องใช้ iBoot แล้ว โดยจะใช้ Mavericks.iso ที่ได้จากขั้นตอนก่อนหน้ามาทำเป็น virtual CD/DVD disk file
สำหรับบูตเพื่อติดตั้ง และไม่ต้องยกเลิก EFI แล้ว

ตั้งค่าอื่น

System: Processor: 2 CPU

Display: Video:
    Video Memory: 32 MB (ใช้ค่าอื่นแล้วเปิด System Information ไม่ได้)
    Enable 3D Acceleration

Storage: Controller: SATA -> Empty เปลี่ยน Attributes: Choose a virtual CD/DVD disk file:
    เปลี่ยนเป็น Mavericks.iso ที่เตรียมไว้

ก่อนจะบูต ให้บอก VirtualBox ว่าจะติดตั้งเป็น 64 บิต และเลือกหน้าจอเป็นขนาด 1440x900
เข้า Terminal ของลินุกซ์ แล้วพิมพ์ดังนี้

VM=osx64
N=4    #N can be one of 0,1,2,3,4,5 referring to the 640x480, 800x600, 1024x768, 1280x1024, 1440x900, 1920x1200 screen resolution respectively (5 may not worked).

VBoxManage modifyvm "$VM" --firmware efi64
VBoxManage setextradata "$VM" VBoxInternal2/EfiGopMode $N
VBoxManage setextradata "$VM" VBoxInternal2/SmcDeviceKey "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"

แล้วก็เริ่มสตาร์ท osx64 เพื่อติดต้้งได้เลย บูตครั้งแรกอาจนานหน่อยและมีรายงานความผิดพลาดเยอะ แต่ไม่ต้องสนใจ

วิธีติดตั้งเหมือนเดิม คือต้องพาร์ติชั่นก่อน แล้วติดตั้งต่อจนจบ

ตอนบูตครั้งแรก อย่าลืมเปลี่ยน virtual CD/DVD จาก Mavericks กลับเป็น Host Drive ATAPI (sr0)

จบแล้ว

ที่มา

รายงานผล

  • Snow Leopard: เปิด About this Mac ไม่ได้
  • Mavericks: การรันไม่ค่อยลื่นเท่าไหร่ แต่ก็พอใช้งาน test/debug Safari/iBooks ตามจุดประสงค์หลักได้
  • ใช้ปุ่ม Alt ขวามือ แทนปุ่ม Command ใน Mac
  • Mouse wheel หมุนกลับทางกับของลินุกซ์/วินโดวส์
 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.