Bootloader Apa yang Digunakan pada Chromebook?

12

Saya menginstal ChrUbuntu pada Chromebook Acer C7 , dan saya dapat melakukan boot ganda Ubuntu 12.04 dan ChromeOS dan untuk mengontrol OS mana yang dimuat secara default. Saya mencoba mengedit /etc/default/grubfile dan update-grubberhasil menjalankan tetapi tidak melihat efek. Saya mencoba untuk mengaktifkan layar memuat sistem "dmesg" gaya verbose bukannya layar splash yang tenang (selama boot Ubuntu). Saya menduga bahwa GRUB bukan bootloader pada mesin atau berfungsi sebagai bootloader sekunder yang cukup terlambat hanya pada partisi Linux. Saya menyadari bahwa Chromebook adalah sistem yang cukup tertutup yang dikontrol ketat oleh Google, tetapi karena ini adalah Linux, orang mungkin tahu jawabannya.

Saya tidak perlu boot verbose style "dmesg" dengan cukup buruk; tetapi menjadi penasaran dengan bootloading pada sistem ini.

PS Hanya untuk memperjelas, saya mencoba untuk mengaktifkan layar memuat verbose pada boot Ubuntu pada mesin.

Haziz
sumber
3
"Karena Chromebook menggunakan BIOS khusus dan bootloader yang berbeda dari yang digunakan pada laptop Windows standar, Anda tidak dapat menggunakannya untuk mem-boot sembarang sistem operasi. Di sinilah ChrUbuntu masuk — ini adalah versi Ubuntu 12.04 LTS yang dimodifikasi untuk bekerja dengan perangkat keras Chrome OS. " ( lihat di sini )
sr

Jawaban:

6

ChromeOS menggunakan U-Boot:

"Chromium OS pada dasarnya adalah distribusi GNU / Linux yang dirancang khusus. Kami ingin sesedikit mungkin modifikasi pada kernel upstream, idealnya tidak ada. Tetapi seperti halnya dengan sistem GNU / Linux lainnya, proses boot pra-kernel tidak dapat dihindari bergantung pada pada perangkat keras, BIOS, dan bootloader. "

Meskipun ChromeOS memiliki cara boot yang dirancang sendiri:

"Perangkat Google Chrome OS (x86 / x86_64 / arm) memiliki BIOS khusus yang menggunakan metode boot lain untuk memastikan bahwa pengguna hanya menjalankan bit yang dimaksudkan. Alih-alih bootloader dan kernel yang terpisah, ada satu gumpalan biner yang terkandung dalam partisi GPT sendiri. Gumpalan itu ditandatangani secara kriptografis dan tanda tangan diverifikasi sebelum di-boot. "

Informasi lebih lanjut tentang: http://www.chromium.org/chromium-os/chromiumos-design-docs/disk-format

pengguna56801
sumber
1
CoreBoot adalah norma firmware untuk Chromebook - "BIOS" secara teknis tidak akurat, tetapi saya mendapatkan intinya.
mikeserv
@ mikeserv yang dikutip dari Chromium docs. juga, tidak perlu mengomentari setiap jawaban yang mengatakan itu benar - upvote sederhana sudah cukup.
strugee
Nah, Anda tidak dapat menghentikan seorang pria dengan sebuah misi, Anda tahu ...
mikeserv
1

Ini bisa sangat membingungkan, terutama dalam retrospeksi karena Lenovo N22 (reks) saya dengan chrx / Gallium berperilaku seperti yang Anda harapkan: Grub mengambil alih boot ketika firmware menyerahkan kendali ke OS. Tetapi ini tidak berlaku untuk proses boot Chrome OS di mana kernel mengambil alih secara langsung, lihat gambar dan informasi tentang berbagai metode yang saya posting di sini . Saya belum melihat lebih dalam ke detail (dan saya mungkin tidak akan pernah), tapi saya kira karena menggunakan kernel Chrome OS untuk boot Ubuntu (tidak ada bootloader yang terlibat antara firmware dan kernel) kernel diperintahkan untuk mem-boot sistem file root lain daripada Chrome OS yang dulu.

Penulis ChrUbuntu memposting yang berikut pada 15 Oktober 2013:

Sejak saya memulai ChrUbuntu pada bulan Desember 2010, selalu diperlukan untuk menggunakan kernel Chrome OS Linux dengan Ubuntu untuk menyelesaikan beberapa masalah kompatibilitas dengan arsitektur Chromebook. Itu diubah dengan Chromebook Pixel dan Chromebook berbasis Haswell yang lebih baru seperti Acer C720 dan HP Chromebook 14. Masing-masing model ini mendukung booting dari mode BIOS PC yang lebih tradisional yang membuatnya mudah untuk menggunakan kernel stock Ubuntu pada mereka.

Saya tidak tahu semua perinciannya, saya hanya menguji Chromebook berbasis ARM jauh sebelum saya mendapatkan N22 tahun ini, interpretasi saya adalah bahwa ini adalah segalanya berdasarkan slippy papan dasar dan kemudian atau platform2 mereka seperti yang tercantum dalam sumber repositori.

LiveWireBT
sumber
-1

Tidak 100% yakin tetapi bootloader ada di dalam BIOS. Kernel dimuat dari partisi secara langsung, misalnya tidak ada sistem file. Ini adalah alasan Anda membutuhkan GPT daripada tabel Partisi DOS normal.

Nick
sumber
1
ini sangat salah. silakan membaca apa itu bootloader, apa BIOS itu, dan apa perbedaan yang tepat antara GPT dan MBR.
strugee
1
Terima kasih atas -1. Bootloader chromebook memiliki 3 bagian. Satu di read-only BIOS, satu di read-write BIOS dan satu di partisi EFI. Terakhir (partisi EFI) mungkin tidak ada. Dalam hal ini bagian dari read-write BIOS akan mem-boot partisi "chromebook kernel" pertama yang ditandai sebagai "baik". Bootloader adalah fork dari "uboot"
Nick
1
juga, karena Anda baru di Stack Exchange, saya harus menyebutkan bahwa downvote bukanlah serangan pribadi, itu hanya berarti bahwa siapa pun yang downvoted menganggap posting itu secara faktual salah (dan suara tidak mengatakan apa-apa tentang posting Anda yang lain atau Anda sebagai seseorang). juga, maaf karena tidak sopan dalam komentar saya sebelumnya.
strugee
1
@ Strugee Kebanyakan Chromebook sebenarnya adalah CoreBoot - bukan UEFI atau BIOS. pengguna #### di atas benar tentang u-boot - ini adalah muatan CoreBoot di Chromebook. Nick memiliki beberapa terminologi yang salah - tetapi ada banyak masalah dalam firmware yang tidak Anda lihat di tempat lain - misalnya, reset ke default pabrik adalah operasi firmware.
mikeserv
1
Situasinya lebih kompleks, ada beberapa iterasi platform dan ada komponen yang berbeda yang terlibat pada saat itu. Saya tidak bisa mengatakan saya akan melakukan yang lebih baik pada saat itu. Saya baru saja mengirim jawaban baru, di sini juga ada tautan ke ikhtisar apa yang telah digunakan sejauh ini pada perangkat ini: chromium.org/chromium-os/…
LiveWireBT