-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
108 lines (83 loc) · 3.47 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Content
1) FYI
2) Historical details
3) Technical details
4) Dependencies
5) Build
6) Disclaimer
7) FAQ
8) Contact
9) Links
***FYI***
fsDigger is the abbreviation form of 'Filesystem Digger'.
***Historical details***
Initially, this was built to fix a corrupted microSD card I owned.
More specifically meant to correct the filesystem information in
the FAT filesystem. The existing 'dosfstools' package did not solve
the problem I was facing and seems to be limited to repairing of
just the boot sector.
Hence, I decided to come up with this program as my first
open source software available publicly via GitHub. This works out
well as part of a career portfolio at the same time contributing
to the community. During the coding phrase the usage of the program
turns out it possibly can be used more generically on a wider
context rather than just the FAT filesystem.
***Technical details***
The code logic is formed in a way which tries to discover filesystem
information by comparing 2 blocks of data in an image, thus the
naming of this program. The software is coded with performance
optimization into consideration also keeping in mind the design
for ease of maintanability and scalability. See build for more info.
***Dependencies***
Program make use of the package 'coreutils', more specifically the
tool 'dd' which it privides in its build. Make sure to download
the package and place the contents into the coreutils folder of
fsDigger top most folder. There are a few other libraries required
too which should be available on most Linux system since they
belong to the core, essential package. See build for more info.
***Build***
I am still learning how to properly utilise the build tools
so this section will likely get an update in the future.
The build procees is made as automated as possbile to what
knowledge I have currently.
Coreutils has its own build instructions so I will leave it outside
of this section. Return to fsDigger root directory after building
of the coreutils package. Run either of the following codes:
1)
## Get a fresh coreutils from GitHub and auto build
# COREUTILS_TAG=v9.0 ./build.sh
OR
2)
## use existing coreutils build.
# COREUTILS_DIR=coreutils_v9.0 ./build.sh
OR
3)
## same as number 2 but diff directory.
# COREUTILS_DIR=coreutils ./build.sh
Build should complete w/o problem.
Note that 'dd' will be compiled as a modified cource code
by the script. Build has been done successfully on Linux/Debian
distrubution buster suite.
***Disclaimer***
There is no certainty that this software will repair a corrupted
media device. However, there is no harm in using it since the device
is already in an unusable state. Moreover, the software has
a backup option to save the existing bad data to an image file
before trying to make any changes to that particular data in the
device. So, a restore (not implemented yet) can be done if the
modification did not solve a corrupted issue. Naturally, an
encrypted media device will surely be unfixable by this software.
***FAQ***
None at the moment
***Contact***
Email: [email protected]
***License***
Software package comes with a license described in ./LICENSE file.
***Links***
GitHub Pages (none currently):
https = https://simonSilverse.github.io/fsDigger
Source code:
https https://github.com/simonSilverse/fsDigger.git
ssh ssh://[email protected]:simonSilverse/fsDigger.git
cli #gh repo clone simonSilverse/fsDigger
cli #tag="v1.1.1"; git clone --branch $tag https://github.com/simonSilverse/fsDigger.git "coreutils_$tag"