Skip to content

Lab 02

Compare
Choose a tag to compare
@JingWangTW JingWangTW released this 17 Apr 02:58
· 1 commit to master since this release

NCTU OSDI Lab 2: Bootloader

Description: Lab 2

Lab 2 Demo Release

Required

  • Get the hardware’s information by mailbox and print them, you should at least print board revision and VC Core base address.
  • Implement bootloader can load kernel image by UART.

Elective

  • Get or set UART clock by mailbox and replace mini UART by PL011 UART.
  • Set framebuffer by mailbox to show a splash image, show the result by qemu.
  • User can specify the kernel image’s loading address.

Questions

  • In x86 machine, how the above 4 steps are implemented? Roughly describe it.
    1. GPU executes the first stage bootloader from ROM on the SoC.
    2. The first stage bootloader recognizes the FAT16/32 file system and loads the second stage bootloader bootcode.bin from SD card to L2 cache.
    3. bootcode.bin initializes SDRAM and loads start.elf
    4. start.elf initializes GPU’s firmware and reads config.txt, cmdline.txt and kernel8.img to start OS.
  • Calculate how long will it take for loading a 10MB kernel image by UART if baud rate is 115200.