"K64" adalah apa yang mengacu Apple sebagai versi 64-bit kernel yang dimulai dengan Snow Leopard. Sebagai pengguna akhir, Anda benar-benar tidak perlu khawatir tentang bitness dari kernel. Jika komputer Apple tidak booting ke K64 secara default, Anda tidak perlu itu-kecuali, tentu saja, Anda tahu bahwa Anda membutuhkannya. (Katakanlah, karena Anda seorang pengembang kernel atau tingkat sistem lain pengembang dan ingin menguji sesuatu terhadap kernel 64-bit.) Secara khusus, kernel 32-bit, yang merupakan default di kebanyakan berbasis x86 yang ada komputer Apple , menjalankan aplikasi 64-bit baik-baik saja. Oleh karena itu, selama Anda memiliki 64-bit processor, Anda instalasi Macan Tutul Salju adalah 64-bit dari khas sudut pandang pengguna akhir.
Cara mudah untuk mengetahui apakah Anda menjalankan kernel K64 menggunakan perintah uname-program baris. The "x86_64" dalam kutipan di bawah ini berarti bahwa kita menjalankan kernel 64-bit. Jika output menunjukkan "i386" bukan, itu berarti 32-bit kernel.
$ Uname-a
Darwin ... root: xnu-1456.1.25 ~ 1/RELEASE_X86_64 x86_64
Jika Anda keberatan menggunakan command-line program (Apakah Anda benar-benar peduli tentang kernel K64 dalam hal ini?), Anda bisa bukan profiler Sistem meluncurkan aplikasi, baik secara langsung, atau dengan mengklik "Info lebih lanjut ..." dalam "Tentang ini Mac "panel. Dalam System Profiler, Anda dapat klik pada "Perangkat Lunak" bagian di sidebar. Akan ada sesuatu tentang keberadaan atau ketiadaan Kernel 64-bit dan Extensions. Anda juga dapat meluncurkan aplikasi Activity Monitor dan mencari kernel_task. The "Kind" kolom akan mengatakan jika tugas kernel (dan akibatnya kernel) adalah 64-bit.
Seperti disinggung sebelumnya, sebuah 64-bit diperlukan untuk menjalankan kernel K64. Untuk boot ke K64, Anda dapat melakukan salah satu dari beberapa hal:
* Tekan tombol 6 dan 4 tombol secara bersamaan di kekuasaan-tepat waktu. Ini menunjukkan kepada EFI boot loader (boot.efi) yang ingin Anda boot kernel 64-bit.
* Set boot-args variabel firmware, misalnya, melalui baris perintah NVRAM program. Untuk boot K64, spesifik baris perintah akan:
$ Sudo NVRAM boot-args = "arch = x86_64"
* Edit / Library / Preferences / SystemConfiguration / com.apple.Boot.plist dan tambahkan arch = x86_64 dengan nilai Flags Kernel kunci. Secara default, nilai ini adalah string kosong.
$ Cat / Library / Preferences / SystemConfiguration / com.apple.Boot.plist
...
...
Cara lain adalah dengan menggunakan argumen-setkernelbootarchitecture dari systemsetup (8) baris perintah program.
Selain itu, Anda dapat memberitahu kernel untuk boot verbosely jika Anda tertarik untuk menangkap 64-bit boot awal. Perhatikan bahwa salah satu pesan kernel awal adalah "64 bit mode diaktifkan". Ini tidak berarti K64-itu berarti kernel telah mengenali prosesor menjadi 64-bit dan akan menggunakan 64-bit tertentu fitur. Dalam kasus K64 boot, pesan yang harus dicari adalah "Kernel adalah LP64".
Walaupun tidak begitu cepat.
Sayangnya, 64-bit processor saja tidak cukup. Keluar dari kotak, tidak akan boot.efi boot K64 bahkan jika Anda memiliki 64-bit processor dan permintaan secara eksplisit K64 jika paling tidak salah satu dari berikut benar.
1. Mesin memiliki 32-bit EFI.
2. Model mesin dilarang boot K64 melalui daftar hardcoded dalam boot loader. (A sepintas tampak menunjukkan bahwa daftar termasuk "non-Pro" mesin.)
Kedua "keterbatasan" secara teknis buatan, meskipun derajat yang berbeda.
Keterbatasan pertama sebenarnya memiliki manfaat dan tidak dibilang semua yang artifisial. Meskipun 32-bit EFI bisa meluncurkan 64-bit kernel, kernel, ketika berlari, tidak akan dapat menggunakan layanan firmware. Secara khusus, Anda tidak akan NVRAM. Untuk pengembang kernel hanya ingin menjalankan kernel 64-bit untuk pengujian dan debugging, ini mungkin tidak menjadi masalah, tetapi itu dapat dimengerti mengapa pembatasan pada tempatnya.
Keterbatasan kedua menjengkelkan. Sebagai seorang pengembang, jika Anda sengaja ingin boot ke K64 untuk menguji sesuatu, Anda tidak dapat mesin-mesin tertentu walaupun mereka secara teknis sangat mampu. Aku berlari ke unibody ini pada MacBook, yang memiliki 64-bit EFI tetapi bukan merupakan "Pro" mesin. Juga, itu ironis bahwa Anda bisa, pada kenyataannya, Macan Tutul Salju boot ke K64 pada komputer yang sama ketika Anda menjalankannya sebagai sistem operasi tamu pada mesin virtual.
Jika Anda benar-benar perlu boot ke K64 pada mesin tersebut dengan 64-bit EFI, Anda dapat-di-risiko Anda sendiri "memperbaiki" hal-hal dalam boot.efi dengan mengatur bit yang sesuai di daftar hardcoded model. Untuk memastikan bahwa kita sedang berbicara tentang multiarchitecture sama versi boot.efi, bandingkan SHA-1 checksum dari file tersebut.
$ Shasum boot.efi
2fb9fc10e5b4bb06f62c38b01bd9836a433897f8 boot.efi
Lalu, mengubah 1 byte pada model yang sesuai posisi spesifik dalam tabel berikut yang sesuai nilai baru. Alih-alih Timpa boot.efi asli, kita akan menyalin yang asli ke file baru, misalnya, boot-k64.efi, lalu edit terakhir.
Model (dengan 64-bit EFI) Byte Posisi dalam boot.efi Lama Nilai Nilai Baru
Mac mini 0x266D8 0x00 0x04
MacBook 0x266E8 0x00 0x04
MacBook Air 0x266F8 0x00 0x04
iMac 0x26718 0x08 0x0c
Untuk kasus spesifik MacBook, yang merupakan satu-satunya aku benar-benar mencoba, yang sebelum dan sesudah byte akan terlihat seperti berikut:
0x266E0:
38 47 01 00 00 00 00 00 00 00 00 00 00 00 00 00
0x266E0:
38 47 01 00 00 00 00 00 04 00 00 00 00 00 00 00
Kami akan menempatkan k64.efi boot-file di suatu tempat di root volume-/System/Library/CoreServices / baik-baik saja. Kemudian, kita perlu me-reset volume memberkati bootability melalui program baris perintah. Opsional, kita juga dapat mengatur kepemilikan dan user tidak berubah bendera di file ke "benar" nilai-nilai.
$ Sudo cp boot-k64.efi / System / Library / CoreServices /
$ Cd / System / Library / CoreServices /
$ Sudo chown root: wheel boot-k64.efi
$ Sudo chflags uchg boot-k64.efi
Sudo bless - folder / System / Library / CoreServices \
- file / System/Library/CoreServices/boot-k64.efi
Anda mungkin berbeda, tergantung pada apakah instalasi Anda memiliki versi 64-bit dari semua driver yang diperlukan untuk model mesin khusus Anda. Karena saya belum mencoba lain "dikecualikan" selain mesin 64-bit MacBook, saya tidak tahu tentang model-model lain. (Ketidaktersediaan atau ketidakstabilan tertentu driver 64-bit bisa menjadi alasan yang masuk akal untuk model ini untuk dikecualikan dalam tempat pertama.)
Jika Anda membuat sistem anda unbootable, Anda cukup menjalankan memberkati lagi untuk mengembalikan volume bootability seperti sebelum. Artinya, Anda dapat memberitahu memberkati untuk menggunakan boot.efi asli. Tentu saja, untuk melakukan itu, Anda harus baik boot dari volume yang berbeda (disc menginstal sebuah sistem akan baik-baik saja), atau dapat mengakses dan menulis ke unbootable volume suara dari komputer lain.
Sudo bless - folder / Volumes / BrokenMac / System / Library / CoreServices \
- file / Volumes / BrokenMac / System / Library / CoreServices / boot.efi
info detail : osxbook.com
Friday, September 11, 2009
Apakah Mesin Anda Bagus Cukup untuk Snow Leopard K64 ?
Labels:
Apple,
Snow Leopard
Subscribe to:
Post Comments (Atom)
0 comments:
Post a Comment