How this small Soc boots without BIOS
- When you push Power button there is nothing in memory to be done, so something must be done from scratch
- System BIOS (Basic input output system) do all things need to start a system
- Contains the first instruction that turns the computer on.
- The three basic functions of BIOS are:
- Boots the computer
- Validates PC configuration
- Interface between PC hardware and their software
- Interface that connects CPU with all I/O devices
- All CPU interaction with I/O devices are through BIOS
- In addition to the system BIOS, there are BIOSs to control the peripheral devices that have been added to the computer
- For example, most video cards, hard disks, and SCSI adapters have a BIOS that controls parts of their interaction with the processor and other motherboard components.
Booting the computer:
- The process of starting a computer up is called boot process
- The boot process is done under the guidance of BIOS
- BIOS is in charge of all actions taking place behind the scene
- Boot process is a complex process
- Varies between manufacturers but contains these steps
- Verifies configuration
- Checks the hardware
- Load the software
BIOS (basic input/output system) is non-volatile firmware used to perform hardware initialization during the booting process (power-on startup), and to provide runtime services for operating systems and programs. It also manages data flow between the computer’s operating system and attached devices such as the hard disk, video adapter, keyboard, mouse and printer.
- The firmware is closed-source proprietary code programmed into the SoC (System on a Chip) processor, which cannot be modified.
- Upon power-up the firmware will initiate a bootloader on the SD card
- After this point everything else comes from the SD card.
- First stage bootloader – This is used to mount the FAT32 boot partition on the SD card so that the second stage boot loader can be accessed. It is programmed into the SoC itself during manufacture of the RPi and cannot be reprogrammed by a user.
- Second stage bootloader (bootcode.bin) – This is used to retrieve the GPU firmware from the SD card, program the firmware, then start the GPU.
- GPU firmware (start.elf) – Once loaded, this allows the GPU to start up the CPU. An additional file, fixup.dat, is used to configure the SDRAM partition between the GPU and the CPU. At this point, the CPU is release from reset and execution is transferred over.
- User code – This can be one of any number of binaries. By default, it is the Linux kernel (usually named kernel.img), but it can also be another bootloader (e.g. U-Boot), or a bare-bones application.
Also Read: DCL Statements In DBMS
Configuring booting sequence and hardware:
raspi-config is the Raspberry Pi configuration tool written and maintained by Alex Bradbury. It targets Raspbian.
The sudo is required because you will be changing files that you do not own as the pi user.
You should see a blue screen with options in a grey box in the centre, like so:
In main menu select 3 Boot Options
In main menu select 5 Interfacing Options