Skip to content
/ EXT2 Public

Implementation of EXT2 Filesystem for Systems Programming

License

Notifications You must be signed in to change notification settings

dcheatha/EXT2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EXT2

This project is able to mount an EXT2 disk image file and perform some common filesystem operations.

Compiling on Debian

apt install build-essential libext2fs-dev
make && make run

Overview of a few commands

Help

Lists all commands. All commands are fully functional.

gid=0 uid=0> help
shell: ls mkdir rmdir create link unlink mkfs cat cp help cd disk inode blockbitmap inodebitmap rawblock pwd

Cat

Draws a file to screen. This works correctly with single, double, and triple indirect blocks.

INode

Shows infomation about an INode.

gid=0 uid=0> inode 1
      Size:       1024
    Blocks:          2
     Links:          7
Block[  0]:         33
Block[  1]:          0
Block[  2]:          0
Block[  3]:          0
Block[  4]:          0
Block[  5]:          0
Block[  6]:          0
Block[  7]:          0
Block[  8]:          0
Block[  9]:          0
Block[ 10]:          0
Block[ 11]:          0
Block[ 12]:          0
Block[ 13]:          0
Block[ 14]:          0
      Mode: drwxr-xr-x

INode Bitmap

Shows which INodes are used.

gid=0 uid=0> inodebitmap
      0        8        16       24       32       40       48       56
    0 ▆▇▆▇▆▇▆▇ ▆▇▆▇▆▇▆▇ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
   64 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  128 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂

Block Bitmap

Shows which blocks are used at a glance.

gid=0 uid=0> blockbitmap
      0        8        16       24       32       40       48       56
    0 ▆▇▆▇▆▇▆▇ ▆▇▆▇▆▇▆▇ ▆▇▆▇▆▇▆▇ ▆▇▆▇▆▇▆▇ ▆▇▆▇▁▂▁▂ ▁▂▁▂▆
   64 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  128 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  192 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  256 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  320 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  384 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  448 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  512 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  576 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  640 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  704 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  768 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  832 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  896 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
  960 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
 1024 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
 1088 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
 1152 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
 1216 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
 1280 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
 1344 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂
 1408 ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▂ ▁▂▁▂▁▂▁▇ ▆▇▆▇▆▇▆▇

Raw Block

Loads a block, then draws out its raw values in base 10.

gid=0 uid=0> rawblock 1

   0:        184        1440          72        1402         170           1           0           0
   8:       8192        8192         184  1587135586  1587135586      -65535      126803           1
  16: 1587135586           0           0           1           0          11         128          56
  24:          2           3   917695292  1011666672   587505342  1266331585           0           0
  32:          0           0  1953393967           0           0           0           0           0
  40:          0           0           0           0           0           0           0           0
  48:          0           0           0      327680           0           0           0           0
  56:          0           0           0  -838617390  1498404596  -719719248   566481809           1
  64:         12           0  1587135586           0           0           0           0           0
  72:          0           0           0           0           0           0           0           0
  80:          0           0           0           0           0           0           0           0
  88:          1           0           0           0           0           0          11           0
  96:          0           0           0           0           0           0           0           0
 104:          0           0           0           0           0           0           0           0
 112:          0           0           0           0           0           0           0           0
 120:          0           0           0           0           0           0           0           0
 128:          0           0           0           0           0           0           0           0
 136:          0           0           0           0           0           0           0           0
 144:          0           0           0           0           0           0           0           0
 152:          0           0           0           0           0           0           0           0
 160:          0           0           0           0           0           0           0           0
 168:          0           0           0           0           0           0           0           0
 176:          0           0           0           0           0           0           0           0
 184:          0           0           0           0           0           0           0           0
 192:          0           0           0           0           0           0           0           0
 200:          0           0           0           0           0           0           0           0
 208:          0           0           0           0           0           0           0           0
 216:          0           0           0           0           0           0           0           0
 224:          0           0           0           0           0           0           0           0
 232:          0           0           0           0           0           0           0           0
 240:          0           0           0           0           0           0           0           0
 248:          0           0           0           0           0           0           0           0

About

Implementation of EXT2 Filesystem for Systems Programming

Resources

License

Stars

Watchers

Forks