Questions tagged [bootloader]

Bootloader is a program that loads the operating system into the computer's memory and set it into execution. When a computer is powered-up or restarted, the basic input/output system (BIOS) performs some initial tests, and then transfers control to the Bootloader.

A computer's central processor can only execute program code found in read-only memory (ROM), random access memory (RAM). Modern operating systems and application program code and data are stored on nonvolatile data storage devices, such as hard drives, CD, DVD, flash memory cards (like an SD card), USB flash drive, and floppy disk.

When a computer is first powered on, it usually does not have an operating system in ROM or RAM. The computer must execute a relatively small program stored in ROM along with the bare minimum of data needed to access the nonvolatile devices from which the operating system programs and data are loaded into RAM.

The small program that starts this sequence of loading into RAM is known as a bootstrap loader, bootstrap or boot loader. This small boot loader program's only job is to load other data and programs which are then executed from RAM. Often, multiple-stage boot loaders are used, during which several programs of increasing complexity sequentially load one after the other in a process of chain loading.

1763 questions
0
votes
0 answers

USB bootloader error

USB bootloader doesn't work correctly in physical computer. When I use QEMU it works, but I think it's because QEMU read it as a floppy. I don't know if have to format USB in format FAT16 or FAT32, or if I have to change something in the code; or if…
AlphaWind
  • 1
  • 2
0
votes
2 answers

U-boot Standalone Application at Startup

Is it possible to include standalone applications/startup scripts in the u-boot bootup process, and what is the available hooks? So far I can see from the hello_world example how to compile a standalone application in C, but it still needs to be…
gavenant
  • 453
  • 7
  • 26
0
votes
3 answers

stm32L476RG - how to execute the bootloader from firmware

I am working on a NUCLEO-L476RG board, trying to start the bootloader from my firmware code but its not working for me. here is the code that i am trying to execute : #include "stm32l4xx.h" #include "stm32l4xx_nucleo.h" #include…
0
votes
3 answers

Vector table issue in Application and Bootloader code

I have issue with vector tables(Interrupt tables) which are in Bootloader code and could not be accessed by my Application code. Well, the main issue is that the address of ISRs is different in Bootloader and Application code. So, my application…
Punit
  • 37
  • 2
  • 6
0
votes
1 answer

Install application update without uninstalling it

So I have a parasite application installed on the phone that blocks the device from booting to bootloader and bunch of other stuff. It is also set as a device administartor thus it can't be uninstalled (deactivate administartor rights is also…
0
votes
2 answers

How ARM CPU loading bootloader?

As I know, CPU can access RAM directly. Device RAM is empty on start and CPU don't know from where to load bootloader into the RAM for executing it. Even it can do nothing because call stack should be empty too as I think. Yet how is bootloader…
Alex
  • 28
  • 1
  • 8
0
votes
1 answer

Can a FSBL load another FSBL?

I am currently exploring the bootloader world. However I asked myself if it is possible for a first stage bootloader to load and run another first stage bootloader. (lets say it lays on a FAT partition) If so what would be the preferred way? If not…
Eun
  • 4,146
  • 5
  • 30
  • 51
0
votes
1 answer

LPC1549 USB ISP fails on Linux

I'm struggling with programming NXP LPC1549 microcontroller using the built-in USB ISP bootloader. According to the user manual Chapter 34.5, the device shows up as a USB mass storage device. The old firmware can be deleted and new one should be…
olltsu
  • 33
  • 4
0
votes
2 answers

STM32F2 bootloader issue

I have write a bootloader to jump into my app. First I have try with a simple blinky-led app => I am able to jump into the app from the bootloader. Now I want to jump into my real app. The app is working well alone but when I jump into it from my…
caius
  • 3
  • 2
0
votes
2 answers

Question about the bootloader

I am following the brokenthorn operating development series to study about bootloader. In this page , these are the three line of code : bits 16 ; We are still in 16 bit Real Mode org 0x7c00 ; We are loaded by BIOS at 0x7C00 start: …
narayanpatra
  • 5,627
  • 13
  • 51
  • 60
0
votes
0 answers

Linear addressing and the GDT

I struggle to setup the GDT and to switch to protected mode. Mostly because i didn't understand linear addressing well enough. Here is my kernel code (kernel.asm): jmp main %include "gdt.inc" main: call InstallGDT cli mov eax,cr0 or eax,1 mov…
albert
  • 113
  • 1
  • 12
0
votes
0 answers

Lost while debugging INT 13h

I was debugging, through the Boot Loader from the FreeDos OS, till I got lost after the interrupt 13h instruction. I use gdb with qemu. gdb version: 7.11.1 qemu version: 2.5 FreeDos version: 1.2 I got to this point: int 13h and then I typed: si…
flexw
  • 63
  • 8
0
votes
1 answer

gcc gnu assembly kernel in real mode

i am trying to build a 16bit kernel in gcc gnu assembly while my bootloader is written in pure assembly but i have trouble printing out strings while single character are okay: Here is my bootloader.asm: org 0x7c00 bits 16 section…
albert
  • 113
  • 1
  • 12
0
votes
1 answer

kernel in c inline assembly

Hi i have once again a problem i try to write a kernel with the GNU assembly language but i have some trouble. My kernel file versuch.c look like that: void kprintf( char hello[]) { /*char* video=(char*)0xb8000; for(int…
albert
  • 113
  • 1
  • 12
0
votes
0 answers

Creating non-overlapping segments in Global Descriptor Table

In this bootloader, I'm trying to set up separate global descriptor table entries for kernel code and user code (albeit with some simplifications, see the comments). Creating disjoint segments is causing a triple fault, even though the segments have…
Vale132
  • 147
  • 8
1 2 3
99
100