Create a user-space utility that formats block devices with FAT32. Writes all required on-disk structures sequentially: - Boot sector (BPB) with BIOS Parameter Block at sector 0 - FSInfo sector at sector 1 with free cluster count/hint - Backup boot sector at sector 6, backup FSInfo at sector 7 - Two FAT tables with entries 0-2 initialized (media marker, EOC markers, root directory cluster EOC) - Root directory cluster with volume label entry Geometry calculation: - Sectors per cluster chosen based on volume size (1-32) - FAT size computed using Microsoft's formula - Supports volumes from 128 sectors (~64K) upward Usage: mkfs.fat32 hdd1mbr1 14336 [LABEL] The total sector count is required since there is no stat() syscall yet. Users can find it via 'diskpart <dev> list'. Also checked off diskpart in README (committed previously).
54 lines
2.6 KiB
Plaintext
54 lines
2.6 KiB
Plaintext
[ 3%] Building user-mode applications
|
|
Building app: cat
|
|
Built: /workspaces/claude-os/build/apps_bin/cat (310 bytes)
|
|
Building app: diskpart
|
|
/usr/bin/ld: warning: /workspaces/claude-os/build/apps_bin/diskpart.elf has a LOAD segment with RWX permissions
|
|
Built: /workspaces/claude-os/build/apps_bin/diskpart (8406 bytes)
|
|
Building app: env-test
|
|
/usr/bin/ld: warning: /workspaces/claude-os/build/apps_bin/env-test.elf has a LOAD segment with RWX permissions
|
|
Built: /workspaces/claude-os/build/apps_bin/env-test (389 bytes)
|
|
Building app: fork-test
|
|
Built: /workspaces/claude-os/build/apps_bin/fork-test (132 bytes)
|
|
Building app: hello-world
|
|
Built: /workspaces/claude-os/build/apps_bin/hello-world (49 bytes)
|
|
Building app: ls
|
|
Built: /workspaces/claude-os/build/apps_bin/ls (250 bytes)
|
|
Building app: mkfs.fat32
|
|
/workspaces/claude-os/apps/mkfs.fat32/mkfs.fat32.c:56:13: warning: unused function 'print_hex' [-Wunused-function]
|
|
56 | static void print_hex(uint32_t val) {
|
|
| ^~~~~~~~~
|
|
1 warning generated.
|
|
/usr/bin/ld: warning: /workspaces/claude-os/build/apps_bin/mkfs.fat32.elf has a LOAD segment with RWX permissions
|
|
Built: /workspaces/claude-os/build/apps_bin/mkfs.fat32 (5121 bytes)
|
|
Building app: mount
|
|
Built: /workspaces/claude-os/build/apps_bin/mount (992 bytes)
|
|
Building app: sh
|
|
/workspaces/claude-os/apps/sh/sh.c:167:17: warning: unused variable 'type' [-Wunused-variable]
|
|
167 | int32_t type = readdir(resolved, 0, name);
|
|
| ^~~~
|
|
1 warning generated.
|
|
Built: /workspaces/claude-os/build/apps_bin/sh (3428 bytes)
|
|
[ 3%] Built target apps
|
|
[ 6%] Generating CPIO initial ramdisk
|
|
Generated initrd: 20288 bytes
|
|
[ 6%] Built target initrd
|
|
[ 96%] Built target kernel
|
|
[100%] Generating bootable ISO image
|
|
xorriso 1.5.6 : RockRidge filesystem manipulator, libburnia project.
|
|
|
|
Drive current: -outdev 'stdio:/workspaces/claude-os/release/claude-os.iso'
|
|
Media current: stdio file, overwriteable
|
|
Media status : is blank
|
|
Media summary: 0 sessions, 0 data blocks, 0 data, 126g free
|
|
Added to ISO image: directory '/'='/tmp/grub.bEiDnH'
|
|
xorriso : UPDATE : 581 files added in 1 seconds
|
|
Added to ISO image: directory '/'='/workspaces/claude-os/build/isodir'
|
|
xorriso : UPDATE : 586 files added in 1 seconds
|
|
xorriso : NOTE : Copying to System Area: 512 bytes from file '/usr/lib/grub/i386-pc/boot_hybrid.img'
|
|
xorriso : UPDATE : Thank you for being patient. Working since 0 seconds.
|
|
ISO image produced: 5924 sectors
|
|
Written to medium : 5924 sectors at LBA 0
|
|
Writing to 'stdio:/workspaces/claude-os/release/claude-os.iso' completed successfully.
|
|
|
|
[100%] Built target iso
|