New Filesystem p1: Making The Disk Image | 32 Bit OS Dev (in C)
Overview of new disk image and file system, and a program to write the new disk image.
In which it takes 2.5 hours to make a few structs and write one (1) file.
OS Dev playlist:
https://www.youtube.com/playlist?list=PLT7NbkyNWaqajsw8Xh7SP9KJwjfpP8TNX
Source code for this video (includes changes in next video for initial booting):
https://git.sr.ht/~queso_fuego/amateur_os_video_sources/tree/master/item/44_filesys_disk_img_boot
Git Repos (these may not be updated until the file system is mostly done, as it will be broken
until reaching feature parity for saving/loading files, renaming, etc.):
Sourcehut: https://git.sr.ht/~queso_fuego/quesos
Github mirror: https://github.com/queso-fuego/amateuros
Join the Community Discord: https://discord.gg/yKm4T89QFn
Misc. links:
https://en.wikipedia.org/wiki/File_system
https://en.wikipedia.org/wiki/Ext2
https://en.wikipedia.org/wiki/Ext4
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Designated-Inits.html#Designated-Inits
https://linux.die.net/man/1/dc (also look into FORTH, it's fun!)
Contact:
email: fuegoqueso@gmail.com
twitter: @Queso_Fuego
twitch: https://www.twitch.tv/queso_fuego
Notes:
- There might be too many data bits/blocks currently, since I did not subtract the number of inodes/inode bits to calculate the number of data bits, in the superblock. This is fixed on the next video.
Next video:
- Changing the boot process to work for this new disk image/file system
- Let me know if there's anything specific you'd like to see!
Outline:
0:00 Overview of new file system
10:13 makefile change since last video
11:07 Start coding, fs.h
37:03 make_disk.c
45:18 boot block
59:54 superblock
1:27:47 inode bitmap blocks
1:35:52 data bitmap blocks
1:46:06 inode blocks
1:59:10 data blocks & debugging
2:34:23 Coming up & Outro
Questions about setup/software/etc.? Check the FAQ: https://queso_fuego.srht.site/about.html
Music credits:
Downtown Glow by Ghostrifter & Devyzed
Creative Commons — Attribution-NoDerivs 3.0 Unported — CC BY-ND 3.0
Music promoted by https://www.chosic.com/free-music/all/
#osdev #filesystem #programming