GNU/Linux >> Belajar Linux >  >> Linux

Mengapa MLO diperlukan pada langkah boot?

Dari eLinux.org:

http://elinux.org/Panda_How_to_MLO_%26_u-boot

Bootloader tahap pertama berjalan langsung di papan dari power-up. Saya tidak tahu nama bootloader ini (Dari wiki resmi TI, namanya Boot Rom). Bootloader ini menginisialisasi sejumlah kecil CPU dan perangkat keras papan, lalu mengakses partisi pertama kartu SD (yang harus dalam format FAT), dan memuat file bernama "MLO", dan menjalankannya. "MLO" adalah bootloader tahap kedua.

Bootloader tahap kedua tampaknya bisa menjadi salah satu dari X-loader atau SPL. Bootloader ini rupanya juga hanya membaca partisi pertama kartu SD, dan memuat file bernama "u-boot.bin", dan menjalankannya. "u-boot.bin" adalah bootloader tahap ketiga.

Bootloader tahap ketiga adalah U-boot, yang merupakan bootloader populer untuk banyak papan dan produk tertanam yang berbeda. Bootloader ini memiliki banyak fitur berbeda, termasuk shell interaktif, variabel, kemampuan untuk mengakses kartu SD dan menampilkan isinya, dll. Apa yang terjadi selanjutnya bergantung pada versi U-boot yang Anda miliki untuk papan Panda, dan cara konfigurasinya. Dalam konfigurasi yang sangat sederhana, U-Boot akan mencari file "uImage" di root partisi pertama kartu SD (yang, sekali lagi, harus diformat sebagai partisi FAT), dan menjalankannya. Ini adalah kernel Linux. U-Boot melewatkan argumen baris perintah kernel. Bergantung pada bagaimana kernel dikonfigurasi, kernel dapat menerima baris perintah dari U-Boot, atau menggunakan baris perintah yang telah dikompilasi ke dalamnya saat dibuat.

Ini adalah "Panda Board", belum tentu berlaku untuk Linux secara umum.

Namun, kebanyakan semua sistem memiliki semacam boot "multi-tahap" seperti di atas. Misalnya, mem-boot PC yang menjalankan Windows, Anda melihat:

  1. Pengaktifan BIOS
  2. Sektor boot dimuat dari disk atau USB; atau catatan boot PXE dibaca dari jaringan
  3. Kernel windows dimulai (hal-hal yang Anda lihat sebelum/selama "layar pembuka")
  4. Akhirnya, "Windows" dimulai dengan sendirinya

Jadi itu bukan "tidak efisien", atau tidak biasa.

PS:Tautan ini juga memiliki deskripsi yang bagus tentang urutan pemuatan boot:

  • http://omappedia.org/wiki/Bootloader_Project

PPS:"MLO" adalah singkatan dari "Mmc LOader"


Saat board muncul, Memory Management Unit (MMU) masih perlu diatur sebelum CPU dapat mulai menggunakan SDRAM. SoC memiliki 56KB SRAM yang dapat digunakan pada saat itu, tetapi terlalu kecil untuk dijalankan oleh u-boot. Langkah ekstra adalah kode yang dijalankan dari SRAM akan dimuat dan memulai u-boot.


Linux
  1. mengapa jam C () mengembalikan 0

  2. Mengubah ukuran partisi boot

  3. Mengapa partisi boot ext2 100MB direkomendasikan untuk linux?

  1. Mengapa Cd Bukan Program?

  2. Mengapa Volume Lvm Terenkripsi (Perangkat luks) Tidak Dapat Dipasang Saat Booting?

  3. Mengapa opsi case-insensitive di ext4 diperlukan?

  1. Df Vs. Du:Mengapa Begitu Banyak Perbedaan??

  2. Ubuntu – Mengapa Docker Container Tidak Mulai Saat Booting W/ Skrip Pemula Di Ubuntu 12.04?

  3. Di Partisi Manakah Bootloader Dipasang?