mirror of
https://gitlab.com/bztsrc/bootboot.git
synced 2023-02-13 20:54:32 -05:00
Fixed FAT parsing on RPi
This commit is contained in:
parent
bf82d5c686
commit
cb2d2eb76b
8 changed files with 12 additions and 12 deletions
|
@ -5,7 +5,7 @@ Előre lefordított binárisok mellékelve, egyből használhatók.
|
|||
|
||||
1. *x86_64-efi* a preferált indítási mód x86_64-en.
|
||||
Szabvány GNU eszköztár plusz néhány fájl a gnuefi-ből (mellékelve).
|
||||
[bootboot.efi](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.efi) (101k), [bootboot.rom](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.rom) (101k)
|
||||
[bootboot.efi](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.efi) (103k), [bootboot.rom](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.rom) (103k)
|
||||
|
||||
2. *x86_64-bios* BIOS, Multiboot (GRUB), El Torito (CDROM), bővítő ROM és Linux boot kompatíbilis, RÉGI betöltő.
|
||||
Ha újra akarod fordítani, szükséged lesz a fasm-ra (nincs mellékelve).
|
||||
|
|
|
@ -5,7 +5,7 @@ I provide pre-compiled images ready for use.
|
|||
|
||||
1. *x86_64-efi* the preferred way of booting on x86_64 architecture.
|
||||
Standard GNU toolchain and a few files from gnuefi (included).
|
||||
[bootboot.efi](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.efi) (101k), [bootboot.rom](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.rom) (101k)
|
||||
[bootboot.efi](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.efi) (103k), [bootboot.rom](https://gitlab.com/bztsrc/bootboot/raw/master/dist/bootboot.rom) (103k)
|
||||
|
||||
2. *x86_64-bios* BIOS, Multiboot (GRUB), El Torito (CDROM), Expansion ROM and Linux boot compatible, OBSOLETE loader.
|
||||
If you want to recompile this, you'll need fasm (not included).
|
||||
|
|
|
@ -1363,7 +1363,7 @@ diskerr:
|
|||
}
|
||||
s3=bpb->spc*512;
|
||||
// load fat table
|
||||
r=sd_readblock(part->start+1,(unsigned char*)&_end+512,(bpb->spf16?bpb->spf16:bpb->spf32)+bpb->rsc);
|
||||
r=sd_readblock(part->start+bpb->rsc,(unsigned char*)&_end+512,(bpb->spf16?bpb->spf16:bpb->spf32));
|
||||
if(r==0) goto diskerr;
|
||||
pe=(uint8_t*)&_end+512+r;
|
||||
// load root directory
|
||||
|
@ -1377,12 +1377,12 @@ diskerr:
|
|||
// locate environment and initrd
|
||||
while(dir->name[0]!=0) {
|
||||
if(!memcmp(dir->name,"CONFIG ",11)) {
|
||||
s=dir->size<PAGESIZE?dir->size:PAGESIZE; // round up to cluster size
|
||||
s=dir->size<PAGESIZE?dir->size:PAGESIZE;
|
||||
cclu=dir->cl+(dir->ch<<16);
|
||||
ptr=(void*)&__environment;
|
||||
while(s>0) {
|
||||
s2=s>s3?s3:s;
|
||||
r=sd_readblock(part->start+(cclu-2)*bpb->spc+data_sec,ptr,s2<512?1:(s2+511)/512);
|
||||
r=sd_readblock(part->start+(cclu-2)*bpb->spc+data_sec,ptr,bpb->spc);
|
||||
cclu=bpb->spf16>0?fat16[cclu]:fat32[cclu];
|
||||
ptr+=s2;
|
||||
s-=s2;
|
||||
|
@ -1412,7 +1412,7 @@ diskerr:
|
|||
s=initrd.size;
|
||||
while(s>0) {
|
||||
s2=s>s3?s3:s;
|
||||
r=sd_readblock(part->start+(clu-2)*bpb->spc+data_sec,ptr,s2<512?1:(s2+511)/512);
|
||||
r=sd_readblock(part->start+(clu-2)*bpb->spc+data_sec,ptr,bpb->spc);
|
||||
clu=bpb->spf16>0?fat16[clu]:fat32[clu];
|
||||
ptr+=s2;
|
||||
s-=s2;
|
||||
|
@ -1420,7 +1420,7 @@ diskerr:
|
|||
}
|
||||
} else {
|
||||
// initrd is on the entire partition
|
||||
r=sd_readblock(part->start,(unsigned char*)&_end+512,part->end-part->start);
|
||||
r=sd_readblock(part->start,(unsigned char*)&_end+512,part->end-part->start+1);
|
||||
if(r==0) goto diskerr;
|
||||
initrd.ptr=(uint8_t*)&_end;
|
||||
initrd.size=r;
|
||||
|
|
BIN
dist/bootboot.efi
vendored
BIN
dist/bootboot.efi
vendored
Binary file not shown.
BIN
dist/bootboot.img
vendored
BIN
dist/bootboot.img
vendored
Binary file not shown.
BIN
dist/bootboot.rom
vendored
BIN
dist/bootboot.rom
vendored
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -5,9 +5,9 @@ extern unsigned char binary_boot_bin[512];
|
|||
#define sizeof_bootboot_bin 13312
|
||||
extern unsigned char binary_bootboot_bin[9284];
|
||||
#define sizeof_bootboot_efi 103614
|
||||
extern unsigned char binary_bootboot_efi[46349];
|
||||
#define sizeof_bootboot_img 35384
|
||||
extern unsigned char binary_bootboot_img[20069];
|
||||
extern unsigned char binary_bootboot_efi[46348];
|
||||
#define sizeof_bootboot_img 35344
|
||||
extern unsigned char binary_bootboot_img[20050];
|
||||
#define sizeof_bootboot_rv64 8192
|
||||
extern unsigned char binary_bootboot_rv64[31];
|
||||
#define sizeof_LICENCE_broadcom 1594
|
||||
|
|
Loading…
Reference in a new issue