mirror of
https://gitlab.com/bztsrc/bootboot.git
synced 2023-02-13 20:54:32 -05:00
FS0:/BOOTBOOT/LOADER moved to FS0:/BOOTBOOT.BIN
This commit is contained in:
parent
a2653f0000
commit
03bd9bd82b
9 changed files with 20 additions and 32 deletions
11
OLVASSEL.md
11
OLVASSEL.md
|
@ -320,6 +320,7 @@ Telepítés
|
|||
---------
|
||||
|
||||
Az [images](https://gitlab.com/bztsrc/bootboot/tree/binaries/images) mappában találsz teszt képfájlokat.
|
||||
Az alábbi lépéseket elvégzi helyetted az [mkbootimg](https://gitlab.com/bztsrc/bootboot/tree/master/mkbootimg) lemezképkészítő.
|
||||
|
||||
1. Hozz létre egy initrd-t benne a kerneleddel. Példák:
|
||||
|
||||
|
@ -347,12 +348,6 @@ elmehetsz egészen 16M-ig).
|
|||
|
||||
3. másold be a BOOTBOOT betöltőt a boot partícióra.
|
||||
|
||||
3.1. *UEFI lemez*: másold a __bootboot.efi__-t az **_FS0:\EFI\BOOT\BOOTX64.EFI_**-be.
|
||||
|
||||
3.2. *BIOS lemez*: másold a __bootboot.bin__-t az **_FS0:\BOOTBOOT\LOADER_**-be.
|
||||
|
||||
3.3. *Raspberry Pi 3+*: másold a __bootboot.img__-t az **_FS0:\KERNEL8.IMG_**-be.
|
||||
|
||||
**FONTOS**: olvasd el a kérdéses implementáció README.md-jét is.
|
||||
|
||||
Hibakeresés
|
||||
|
@ -365,10 +360,10 @@ BOOTBOOT-PANIC: LBA support not found
|
|||
Nagyon régi hardver. A BIOSod nem támogatja az LBA-t. Ezt az üzenetet az első betöltő szektor (boot.bin) írja ki.
|
||||
|
||||
```
|
||||
BOOTBOOT-PANIC: FS0:\BOOTBOOT\LOADER not found
|
||||
BOOTBOOT-PANIC: FS0:\BOOTBOOT.BIN not found
|
||||
```
|
||||
|
||||
A fő betöltő (bootboot.bin) nem található a lemezen, vagy az induló szektorcíme nincs jól rögzítve az indítószektor 32 bites
|
||||
A fő betöltő nem található a lemezen, vagy az induló szektorcíme nincs jól rögzítve az indítószektor 32 bites
|
||||
[0x1B0] címén (lásd [mkboot](https://gitlab.com/bztsrc/bootboot/blob/master/x86_64-bios/mkboot.c)). Mivel a betöltő szektor
|
||||
támogatja a RAID tükröket, több meghajtóról is meg fogja próbálni betölteni a betöltőt. Ezt az üzenetet az első betöltő szektor
|
||||
(boot.bin) írja ki.
|
||||
|
|
11
README.md
11
README.md
|
@ -321,6 +321,7 @@ Installation
|
|||
------------
|
||||
|
||||
In the [images](https://gitlab.com/bztsrc/bootboot/tree/binaries/images) directory you can find test disk images.
|
||||
The [mkbootimg](https://gitlab.com/bztsrc/bootboot/tree/master/mkbootimg) image creator tool will make the steps below for you.
|
||||
|
||||
1. make an initrd with your kernel in it. Example:
|
||||
|
||||
|
@ -348,12 +349,6 @@ You can also create an Option ROM out of INITRD (on BIOS there's not much space
|
|||
|
||||
3. copy the BOOTBOOT loader on the boot partition.
|
||||
|
||||
3.1. *UEFI disk*: copy __bootboot.efi__ to **_FS0:\EFI\BOOT\BOOTX64.EFI_**.
|
||||
|
||||
3.2. *BIOS disk*: copy __bootboot.bin__ to **_FS0:\BOOTBOOT\LOADER_**.
|
||||
|
||||
3.3. *Raspberry Pi 3+*: copy __bootboot.img__ to **_FS0:\KERNEL8.IMG_**.
|
||||
|
||||
**IMPORTANT**: see the relevant port's README.md for more details.
|
||||
|
||||
Troubleshooting
|
||||
|
@ -366,10 +361,10 @@ BOOTBOOT-PANIC: LBA support not found
|
|||
Really old hardware. Your BIOS does not support LBA. This message is generated by 1st stage loader (boot.bin).
|
||||
|
||||
```
|
||||
BOOTBOOT-PANIC: FS0:\BOOTBOOT\LOADER not found
|
||||
BOOTBOOT-PANIC: FS0:\BOOTBOOT.BIN not found
|
||||
```
|
||||
|
||||
The loader (bootboot.bin) is not on the disk or it's starting LBA address is not recorded in the boot sector at dword [0x1B0]
|
||||
The loader is not on the disk or it's starting LBA address is not recorded in the boot sector at dword [0x1B0]
|
||||
(see [mkboot](https://gitlab.com/bztsrc/bootboot/blob/master/x86_64-bios/mkboot.c)). As the boot sector supports RAID mirror,
|
||||
it will try to load the loader from other drives as well. This message is generated by 1st stage loader (boot.bin).
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
BIN
dist/boot.bin
vendored
BIN
dist/boot.bin
vendored
Binary file not shown.
|
@ -163,17 +163,9 @@ void esp_makepart()
|
|||
for(i = 0; i < NUMARCH && initrd_arch[i]; i++)
|
||||
boot |= (1 << (initrd_arch[i] - 1));
|
||||
|
||||
/* add loader's directory */
|
||||
/* add loader's directory with config and initrds */
|
||||
ptr = esp_mkdir(rootdir, "BOOTBOOT", 0); rootdir += 32;
|
||||
if(boot & (1 << 1)) {
|
||||
/*** x86 PC (BIOS) ***/
|
||||
/* start address has to be saved in PMBR too */
|
||||
esp_bbs = ((data + nextcluster * bpc)-esp) / 512;
|
||||
memcpy(esp + 0x1B0, &esp_bbs, 4);
|
||||
ptr = esp_addfile(ptr, "LOADER", binary_bootboot_bin, sizeof(binary_bootboot_bin));
|
||||
}
|
||||
ptr = esp_addfile(ptr, "CONFIG", (unsigned char*)config, strlen(config));
|
||||
/* add INITRDs */
|
||||
if(!initrd_arch[1]) {
|
||||
ptr = esp_addfile(ptr, initrdnames[0], initrd_buf[0], initrd_size[0]);
|
||||
} else {
|
||||
|
@ -181,6 +173,7 @@ void esp_makepart()
|
|||
ptr = esp_addfile(ptr, initrdnames[(int)initrd_arch[i]], initrd_buf[i], initrd_size[i]);
|
||||
}
|
||||
}
|
||||
/* add loader code */
|
||||
if(boot & (1 << 6)) {
|
||||
/* additional platform */
|
||||
}
|
||||
|
@ -201,6 +194,11 @@ void esp_makepart()
|
|||
bbp_end = (((data + nextcluster * bpc)-esp) / 512) - 1;
|
||||
}
|
||||
if(boot & (1 << 1)) {
|
||||
/*** x86 PC (BIOS) ***/
|
||||
/* start address has to be saved in PMBR too */
|
||||
esp_bbs = ((data + nextcluster * bpc)-esp) / 512;
|
||||
memcpy(esp + 0x1B0, &esp_bbs, 4);
|
||||
rootdir = esp_addfile(rootdir, "BOOTBOOT.BIN", binary_bootboot_bin, sizeof(binary_bootboot_bin));
|
||||
/*** x86 PC (UEFI) ***/
|
||||
ptr = esp_mkdir(rootdir, "EFI", 0); rootdir += 32;
|
||||
ptr = esp_mkdir(ptr, "BOOT", lastcluster);
|
||||
|
|
|
@ -17,8 +17,8 @@ fut minden processzormagon.
|
|||
Telepítés
|
||||
---------
|
||||
|
||||
1. *BIOS lemez / cdrom*: másold be a __bootboot.bin__-t az **_FS0:\BOOTBOOT\LOADER_**-be. Rakhatod az INITRD partíciódra de akár
|
||||
a partíciós területen kívülre is (lásd `dd conv=notrunc oseek=x`). Végezetül telepítsd a __boot.bin__-t az
|
||||
1. *BIOS lemez / cdrom*: másold be a __bootboot.bin__-t az **_FS0:\BOOTBOOT.BIN_**-be. Rakhatod az INITRD partíciódra de akár
|
||||
a partíciós területen kívülre is (lásd `dd conv=notrunc seek=x`). Végezetül telepítsd a __boot.bin__-t az
|
||||
El Torito Boot katalógusába "no emulation" módban, vagy a Master Boot Record-ba (illetve Volume Boot Record-ba ha
|
||||
boot menedzsert használsz), a bootboot.bin első szektorának LBA címét lemetve 32 biten a 0x1B0 címre. A [mkboot](https://gitlab.com/bztsrc/bootboot/blob/master/x86_64-bios/mkboot.c)
|
||||
szerszám ezt megteszi neked.
|
||||
|
@ -31,7 +31,7 @@ a szokásos helyen. Példa:
|
|||
|
||||
```
|
||||
menuentry "MyKernel" {
|
||||
multiboot /bootboot/loader # bootboot.bin
|
||||
multiboot /bootboot.bin # a betöltő
|
||||
module /bootboot/initrd # első modul az initrd (opcionális)
|
||||
module /bootboot/config # második modul a konfigurációs fájl (opcionális)
|
||||
boot
|
||||
|
|
|
@ -17,8 +17,8 @@ IRQs masked. GDT unspecified, but valid, IDT unset. SSE, SMP enabled. Code is ru
|
|||
Installation
|
||||
------------
|
||||
|
||||
1. *BIOS disk / cdrom*: copy __bootboot.bin__ to **_FS0:\BOOTBOOT\LOADER_**. You can place it inside your INITRD partition
|
||||
or outside of partition area as well (with `dd conv=notrunc oseek=x`). Finally install __boot.bin__ in the
|
||||
1. *BIOS disk / cdrom*: copy __bootboot.bin__ to **_FS0:\BOOTBOOT.BIN_**. You can place it inside your INITRD partition
|
||||
or outside of partition area as well (with `dd conv=notrunc seek=x`). Finally install __boot.bin__ in the
|
||||
El Torito Boot catalog with "no emulation" or in Master Boot Record (or in Volume Boot Record if you have a boot manager),
|
||||
saving bootboot.bin's first sector's LBA number in a dword at 0x1B0. The [mkboot](https://gitlab.com/bztsrc/bootboot/blob/master/x86_64-bios/mkboot.c)
|
||||
utility will do that for you.
|
||||
|
@ -30,7 +30,7 @@ the initrd and the environment file as modules (in this order). If no modules gi
|
|||
|
||||
```
|
||||
menuentry "MyKernel" {
|
||||
multiboot /bootboot/loader # bootboot.bin
|
||||
multiboot /bootboot.bin # the loader
|
||||
module /bootboot/initrd # first module is the initrd (optional)
|
||||
module /bootboot/config # second module is the environment file (optional)
|
||||
boot
|
||||
|
|
|
@ -210,7 +210,7 @@ printfunc:
|
|||
|
||||
panic: db "BOOTBOOT-PANIC: ",0
|
||||
lbanotf: db "LBA support",0
|
||||
stage2notf: db "FS0:\BOOTBOOT\LOADER",0
|
||||
stage2notf: db "FS0:\BOOTBOOT.BIN",0
|
||||
found: db " not found",0
|
||||
cnt: db 0
|
||||
drive: db 0
|
||||
|
|
Loading…
Reference in a new issue