Post by wolfgang kernI'm still busy with manual creation of UEFI-GPT conform environment.
my idea is to make the first partition FAT32, but as small as possible.
because M$-FAT are defined by number of clusters rather then else my
only choice will be to set cluster-size to one sector
[65525 sectors] I need only 512 MB for my OS boot section, what a waste.
are there other ways to shorten a FAT32 w/o breaking too many rules ?
perhaps by write the first 8 bytes of the FAT ?
__
wolfgang
This is a skeleton of my Fat32 Floppy Disk, (543 sector FAT32 file
system) for 1.44 MB floppy disk.
The trick I used was to mark the minimum FAT32 volume of 66602 outside
the 1.44 Mb as lost (0x0FFFFFF7) in the file allocation table.
[code]
VOLUME_LENGTH = 66602 ; minimum FAT32 volume = 32.5 MB
RESERVED_SECTORS = 21
BYTES_PER_SECTOR = 512
SECTORS_PER_CLUSTER = 1
PARTITION_OFFSET = 0
LABEL equ " " ; 11 characters maximum
BYTES_PER_CLUSTER = BYTES_PER_SECTOR*SECTORS_PER_CLUSTER
SECTORS_PER_FAT=((VOLUME_LENGTH-RESERVED_SECTORS)+(128*SECTORS_PER_CLUSTER-1))/(128*SECTORS_PER_CLUSTER)
START_OF_DATA = RESERVED_SECTORS+SECTORS_PER_FAT
org 0x7C00
boot_sector:
times 510-($-boot_sector) db 0
dw 0xAA55
fsi:
db "RRaA"
times 480 db 0
db "rrAa"
; number of free clusters
dd VOLUME_LENGTH-RESERVED_SECTORS-SECTORS_PER_FAT
dd 4 ; number of the next free cluster
times 12 db 0
dd 0xAA550000
times 7*512 db 0
upcase_table:
times 12*512 db 0
file_allocation_table:
dd 0xFFFFFFF8, 0xFFFFFFFF, 0x0FFFFFFF
times 2880-RESERVED_SECTORS-SECTORS_PER_FAT-1 dd 0
; mark sectors outside 1.44MB as lost
times VOLUME_LENGTH-2880 dd 0x0FFFFFF7
times SECTORS_PER_FAT*BYTES_PER_SECTOR-($-file_allocation_table) db 0
root: ; start of data
db LABEL
db 8 ; volume label
db 0
db HUNDREDTHS
dw (HOURS SHL 11) + (MINUTES SHL 5 )+ SECONDS SHR 2
dw ((YEARS - 1980) SHL 9) + (MONTHS SHL 5) + DAYS
times 14 db 0
times 512-($-root) db 0 ; pre-allocate 1 root directory sector
; extend to fill 1.44 Mb image
times (2880-RESERVED_SECTORS-SECTORS_PER_FAT-1)*512 db 0xF6
[/code]
--
Mike Gonta
look and see - many look but few see
https://mikegonta.com