1*6a54128fSAndroid Build Coastguard Worker<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> 2*6a54128fSAndroid Build Coastguard Worker 3*6a54128fSAndroid Build Coastguard Worker<Article> 4*6a54128fSAndroid Build Coastguard Worker 5*6a54128fSAndroid Build Coastguard Worker<ArticleInfo> 6*6a54128fSAndroid Build Coastguard Worker 7*6a54128fSAndroid Build Coastguard Worker<Title>EXT2ED - The Extended-2 filesystem editor - User's guide</Title> 8*6a54128fSAndroid Build Coastguard Worker<AUTHOR> 9*6a54128fSAndroid Build Coastguard Worker<FirstName>Gadi Oxman, [email protected]</FirstName> 10*6a54128fSAndroid Build Coastguard Worker</AUTHOR> 11*6a54128fSAndroid Build Coastguard Worker<PubDate>v0.1, August 3 1995</PubDate> 12*6a54128fSAndroid Build Coastguard Worker 13*6a54128fSAndroid Build Coastguard Worker<Abstract> 14*6a54128fSAndroid Build Coastguard Worker 15*6a54128fSAndroid Build Coastguard Worker<Para> 16*6a54128fSAndroid Build Coastguard WorkerThis is only the initial version of this document. It may be unclear at 17*6a54128fSAndroid Build Coastguard Workersome places. Please send me feedback with anything regarding to it. 18*6a54128fSAndroid Build Coastguard Worker</Para> 19*6a54128fSAndroid Build Coastguard Worker 20*6a54128fSAndroid Build Coastguard Worker</Abstract> 21*6a54128fSAndroid Build Coastguard Worker 22*6a54128fSAndroid Build Coastguard Worker</ArticleInfo> 23*6a54128fSAndroid Build Coastguard Worker 24*6a54128fSAndroid Build Coastguard Worker<Sect1> 25*6a54128fSAndroid Build Coastguard Worker<Title>About EXT2ED documentation</Title> 26*6a54128fSAndroid Build Coastguard Worker 27*6a54128fSAndroid Build Coastguard Worker<Para> 28*6a54128fSAndroid Build Coastguard WorkerThe EXT2ED documentation consists of three parts: 29*6a54128fSAndroid Build Coastguard Worker 30*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 31*6a54128fSAndroid Build Coastguard Worker<ListItem> 32*6a54128fSAndroid Build Coastguard Worker 33*6a54128fSAndroid Build Coastguard Worker<Para> 34*6a54128fSAndroid Build Coastguard Worker The ext2 filesystem overview. 35*6a54128fSAndroid Build Coastguard Worker</Para> 36*6a54128fSAndroid Build Coastguard Worker</ListItem> 37*6a54128fSAndroid Build Coastguard Worker<ListItem> 38*6a54128fSAndroid Build Coastguard Worker 39*6a54128fSAndroid Build Coastguard Worker<Para> 40*6a54128fSAndroid Build Coastguard Worker The EXT2ED user's guide. 41*6a54128fSAndroid Build Coastguard Worker</Para> 42*6a54128fSAndroid Build Coastguard Worker</ListItem> 43*6a54128fSAndroid Build Coastguard Worker<ListItem> 44*6a54128fSAndroid Build Coastguard Worker 45*6a54128fSAndroid Build Coastguard Worker<Para> 46*6a54128fSAndroid Build Coastguard Worker The EXT2ED design and implementation. 47*6a54128fSAndroid Build Coastguard Worker</Para> 48*6a54128fSAndroid Build Coastguard Worker</ListItem> 49*6a54128fSAndroid Build Coastguard Worker 50*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 51*6a54128fSAndroid Build Coastguard Worker 52*6a54128fSAndroid Build Coastguard Worker</Para> 53*6a54128fSAndroid Build Coastguard Worker 54*6a54128fSAndroid Build Coastguard Worker<Para> 55*6a54128fSAndroid Build Coastguard WorkerIf you intend to used EXT2ED, I strongly suggest that you would be familiar 56*6a54128fSAndroid Build Coastguard Workerwith the material presented in the <Literal remap="tt">ext2 filesystem overview</Literal> as well. 57*6a54128fSAndroid Build Coastguard Worker</Para> 58*6a54128fSAndroid Build Coastguard Worker 59*6a54128fSAndroid Build Coastguard Worker<Para> 60*6a54128fSAndroid Build Coastguard WorkerIf you also intend to browse and modify the source code, I suggest that you 61*6a54128fSAndroid Build Coastguard Workerwill also read the article <Literal remap="tt">The EXT2ED design and implementation</Literal>, as it 62*6a54128fSAndroid Build Coastguard Workerprovides a general overview of the structure of my source code. 63*6a54128fSAndroid Build Coastguard Worker</Para> 64*6a54128fSAndroid Build Coastguard Worker 65*6a54128fSAndroid Build Coastguard Worker</Sect1> 66*6a54128fSAndroid Build Coastguard Worker 67*6a54128fSAndroid Build Coastguard Worker<Sect1> 68*6a54128fSAndroid Build Coastguard Worker<Title>Introduction</Title> 69*6a54128fSAndroid Build Coastguard Worker 70*6a54128fSAndroid Build Coastguard Worker<Para> 71*6a54128fSAndroid Build Coastguard WorkerEXT2ED is a "disk editor" for the ext2 filesystem. Its purpose is to show 72*6a54128fSAndroid Build Coastguard Workeryou the internal structures of the ext2 filesystem in an rather intuitive 73*6a54128fSAndroid Build Coastguard Workerand logical way, so that it will be easier to "travel" between the various 74*6a54128fSAndroid Build Coastguard Workerinternal filesystem structures. 75*6a54128fSAndroid Build Coastguard Worker</Para> 76*6a54128fSAndroid Build Coastguard Worker 77*6a54128fSAndroid Build Coastguard Worker</Sect1> 78*6a54128fSAndroid Build Coastguard Worker 79*6a54128fSAndroid Build Coastguard Worker<Sect1> 80*6a54128fSAndroid Build Coastguard Worker<Title>Basic concepts in EXT2ED</Title> 81*6a54128fSAndroid Build Coastguard Worker 82*6a54128fSAndroid Build Coastguard Worker<Para> 83*6a54128fSAndroid Build Coastguard WorkerTwo basic concepts in EXT2ED are <Literal remap="tt">commands</Literal> and <Literal remap="tt">types</Literal>. 84*6a54128fSAndroid Build Coastguard Worker</Para> 85*6a54128fSAndroid Build Coastguard Worker 86*6a54128fSAndroid Build Coastguard Worker<Para> 87*6a54128fSAndroid Build Coastguard WorkerEXT2ED is object-oriented in the sense that it defines objects in the 88*6a54128fSAndroid Build Coastguard Workerfilesystem, like a <Literal remap="tt">super-block</Literal> or a <Literal remap="tt">directory</Literal>. An object is 89*6a54128fSAndroid Build Coastguard Workersomething which "knows" how to handle some aspect of the filesystem. 90*6a54128fSAndroid Build Coastguard Worker</Para> 91*6a54128fSAndroid Build Coastguard Worker 92*6a54128fSAndroid Build Coastguard Worker<Para> 93*6a54128fSAndroid Build Coastguard WorkerYour interaction with EXT2ED is done through <Literal remap="tt">commands</Literal> which EXT2ED 94*6a54128fSAndroid Build Coastguard Workeraccepts. There are three levels of commands: 95*6a54128fSAndroid Build Coastguard Worker 96*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 97*6a54128fSAndroid Build Coastguard Worker<ListItem> 98*6a54128fSAndroid Build Coastguard Worker 99*6a54128fSAndroid Build Coastguard Worker<Para> 100*6a54128fSAndroid Build Coastguard Worker General Commands 101*6a54128fSAndroid Build Coastguard Worker</Para> 102*6a54128fSAndroid Build Coastguard Worker</ListItem> 103*6a54128fSAndroid Build Coastguard Worker<ListItem> 104*6a54128fSAndroid Build Coastguard Worker 105*6a54128fSAndroid Build Coastguard Worker<Para> 106*6a54128fSAndroid Build Coastguard Worker Extended-2 Filesystem general commands 107*6a54128fSAndroid Build Coastguard Worker</Para> 108*6a54128fSAndroid Build Coastguard Worker</ListItem> 109*6a54128fSAndroid Build Coastguard Worker<ListItem> 110*6a54128fSAndroid Build Coastguard Worker 111*6a54128fSAndroid Build Coastguard Worker<Para> 112*6a54128fSAndroid Build Coastguard Worker Type specific commands 113*6a54128fSAndroid Build Coastguard Worker</Para> 114*6a54128fSAndroid Build Coastguard Worker</ListItem> 115*6a54128fSAndroid Build Coastguard Worker 116*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 117*6a54128fSAndroid Build Coastguard Worker 118*6a54128fSAndroid Build Coastguard WorkerThe General commands are always available. 119*6a54128fSAndroid Build Coastguard Worker</Para> 120*6a54128fSAndroid Build Coastguard Worker 121*6a54128fSAndroid Build Coastguard Worker<Para> 122*6a54128fSAndroid Build Coastguard WorkerThe ext2 general commands are available only when editing an ext2 filesystem. 123*6a54128fSAndroid Build Coastguard Worker</Para> 124*6a54128fSAndroid Build Coastguard Worker 125*6a54128fSAndroid Build Coastguard Worker<Para> 126*6a54128fSAndroid Build Coastguard WorkerThe Type specific commands are available when editing a specific object in the 127*6a54128fSAndroid Build Coastguard Workerfilesystem. Each object typically comes with its own set of internal 128*6a54128fSAndroid Build Coastguard Workervariables, and its own set of commands, which are fine tuned handle the 129*6a54128fSAndroid Build Coastguard Workercorresponding structure in the filesystem. 130*6a54128fSAndroid Build Coastguard Worker</Para> 131*6a54128fSAndroid Build Coastguard Worker 132*6a54128fSAndroid Build Coastguard Worker</Sect1> 133*6a54128fSAndroid Build Coastguard Worker 134*6a54128fSAndroid Build Coastguard Worker<Sect1> 135*6a54128fSAndroid Build Coastguard Worker<Title>Running EXT2ED</Title> 136*6a54128fSAndroid Build Coastguard Worker 137*6a54128fSAndroid Build Coastguard Worker<Para> 138*6a54128fSAndroid Build Coastguard WorkerRunning EXT2ED is as simple as typing <Literal remap="tt">ext2ed</Literal> from the shell prompt. 139*6a54128fSAndroid Build Coastguard WorkerThere are no command line switches. 140*6a54128fSAndroid Build Coastguard Worker</Para> 141*6a54128fSAndroid Build Coastguard Worker 142*6a54128fSAndroid Build Coastguard Worker<Para> 143*6a54128fSAndroid Build Coastguard WorkerWhen first run, EXT2ED parses its configuration file, <Literal remap="tt">ext2ed.conf</Literal>. 144*6a54128fSAndroid Build Coastguard WorkerThis file must exist. 145*6a54128fSAndroid Build Coastguard Worker</Para> 146*6a54128fSAndroid Build Coastguard Worker 147*6a54128fSAndroid Build Coastguard Worker<Para> 148*6a54128fSAndroid Build Coastguard WorkerWhen the configuration file processing is done, EXT2ED screen should appear 149*6a54128fSAndroid Build Coastguard Workeron the screen, with the command prompt <Literal remap="tt">ext2ed></Literal> displayed. 150*6a54128fSAndroid Build Coastguard Worker</Para> 151*6a54128fSAndroid Build Coastguard Worker 152*6a54128fSAndroid Build Coastguard Worker</Sect1> 153*6a54128fSAndroid Build Coastguard Worker 154*6a54128fSAndroid Build Coastguard Worker<Sect1> 155*6a54128fSAndroid Build Coastguard Worker<Title>EXT2ED user interface</Title> 156*6a54128fSAndroid Build Coastguard Worker 157*6a54128fSAndroid Build Coastguard Worker<Para> 158*6a54128fSAndroid Build Coastguard WorkerEXT2ED uses the <Emphasis>ncurses</Emphasis> library for screen management. Your screen 159*6a54128fSAndroid Build Coastguard Workerwill be divided into four parts, from top to bottom: 160*6a54128fSAndroid Build Coastguard Worker 161*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 162*6a54128fSAndroid Build Coastguard Worker<ListItem> 163*6a54128fSAndroid Build Coastguard Worker 164*6a54128fSAndroid Build Coastguard Worker<Para> 165*6a54128fSAndroid Build Coastguard Worker Title window 166*6a54128fSAndroid Build Coastguard Worker</Para> 167*6a54128fSAndroid Build Coastguard Worker</ListItem> 168*6a54128fSAndroid Build Coastguard Worker<ListItem> 169*6a54128fSAndroid Build Coastguard Worker 170*6a54128fSAndroid Build Coastguard Worker<Para> 171*6a54128fSAndroid Build Coastguard Worker Status window 172*6a54128fSAndroid Build Coastguard Worker</Para> 173*6a54128fSAndroid Build Coastguard Worker</ListItem> 174*6a54128fSAndroid Build Coastguard Worker<ListItem> 175*6a54128fSAndroid Build Coastguard Worker 176*6a54128fSAndroid Build Coastguard Worker<Para> 177*6a54128fSAndroid Build Coastguard Worker Main editing window 178*6a54128fSAndroid Build Coastguard Worker</Para> 179*6a54128fSAndroid Build Coastguard Worker</ListItem> 180*6a54128fSAndroid Build Coastguard Worker<ListItem> 181*6a54128fSAndroid Build Coastguard Worker 182*6a54128fSAndroid Build Coastguard Worker<Para> 183*6a54128fSAndroid Build Coastguard Worker Command window 184*6a54128fSAndroid Build Coastguard Worker</Para> 185*6a54128fSAndroid Build Coastguard Worker</ListItem> 186*6a54128fSAndroid Build Coastguard Worker 187*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 188*6a54128fSAndroid Build Coastguard Worker 189*6a54128fSAndroid Build Coastguard WorkerThe title window just displays the current version of EXT2ED. 190*6a54128fSAndroid Build Coastguard Worker</Para> 191*6a54128fSAndroid Build Coastguard Worker 192*6a54128fSAndroid Build Coastguard Worker<Para> 193*6a54128fSAndroid Build Coastguard WorkerThe status window will display various information regarding the state of 194*6a54128fSAndroid Build Coastguard Workerthe editing at this point. 195*6a54128fSAndroid Build Coastguard Worker</Para> 196*6a54128fSAndroid Build Coastguard Worker 197*6a54128fSAndroid Build Coastguard Worker<Para> 198*6a54128fSAndroid Build Coastguard WorkerThe main editing window is the place at which the actual data will be shown. 199*6a54128fSAndroid Build Coastguard WorkerAlmost every command will cause some display at this window. This window, as 200*6a54128fSAndroid Build Coastguard Workeropposed to the three others, is of variable length - You always look at one 201*6a54128fSAndroid Build Coastguard Workerpage of it. The current page and the total numbers of pages at this moment 202*6a54128fSAndroid Build Coastguard Workeris displayed at the status window. Moving between pages is done by the use 203*6a54128fSAndroid Build Coastguard Workerof the <Command>pgdn</Command> and <Command>pgup</Command> commands. 204*6a54128fSAndroid Build Coastguard Worker</Para> 205*6a54128fSAndroid Build Coastguard Worker 206*6a54128fSAndroid Build Coastguard Worker<Para> 207*6a54128fSAndroid Build Coastguard WorkerThe command window is at the bottom of the screen. It always displays a 208*6a54128fSAndroid Build Coastguard Workercommand prompt <Literal remap="tt">ext2ed></Literal> and allows you to type a command. Feedback 209*6a54128fSAndroid Build Coastguard Workerabout the commands entered is displayed to this window also. 210*6a54128fSAndroid Build Coastguard Worker</Para> 211*6a54128fSAndroid Build Coastguard Worker 212*6a54128fSAndroid Build Coastguard Worker<Para> 213*6a54128fSAndroid Build Coastguard WorkerEXT2ED uses the <Emphasis>readline</Emphasis> library while processing a command line. All 214*6a54128fSAndroid Build Coastguard Workerthe usual editing keys are available. Each entered command is placed into a 215*6a54128fSAndroid Build Coastguard Workerhistory of commands, and can be recalled later. Command Completion is also 216*6a54128fSAndroid Build Coastguard Workersupported - Just start to type a command, and press the completion key. 217*6a54128fSAndroid Build Coastguard Worker</Para> 218*6a54128fSAndroid Build Coastguard Worker 219*6a54128fSAndroid Build Coastguard Worker<Para> 220*6a54128fSAndroid Build Coastguard WorkerPressing <Literal remap="tt">enter</Literal> at the command window, without entering a command, 221*6a54128fSAndroid Build Coastguard Workerrecalls the last command. This is useful when moving between close entries, 222*6a54128fSAndroid Build Coastguard Workerin the <Command>next</Command> command, for example. 223*6a54128fSAndroid Build Coastguard Worker</Para> 224*6a54128fSAndroid Build Coastguard Worker 225*6a54128fSAndroid Build Coastguard Worker</Sect1> 226*6a54128fSAndroid Build Coastguard Worker 227*6a54128fSAndroid Build Coastguard Worker<Sect1> 228*6a54128fSAndroid Build Coastguard Worker<Title>Getting started</Title> 229*6a54128fSAndroid Build Coastguard Worker 230*6a54128fSAndroid Build Coastguard Worker<Sect2> 231*6a54128fSAndroid Build Coastguard Worker<Title>A few precautions</Title> 232*6a54128fSAndroid Build Coastguard Worker 233*6a54128fSAndroid Build Coastguard Worker<Para> 234*6a54128fSAndroid Build Coastguard WorkerEXT2ED is a tool for filesystem <Literal remap="tt">editing</Literal>. As such, it can be 235*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">dangerous</Literal>. The summary to the subsections below is that 236*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">You must know what you are doing</Literal>. 237*6a54128fSAndroid Build Coastguard Worker</Para> 238*6a54128fSAndroid Build Coastguard Worker 239*6a54128fSAndroid Build Coastguard Worker<Sect3 id="mounted-ref"> 240*6a54128fSAndroid Build Coastguard Worker<Title>A mounted filesystem</Title> 241*6a54128fSAndroid Build Coastguard Worker 242*6a54128fSAndroid Build Coastguard Worker<Para> 243*6a54128fSAndroid Build Coastguard WorkerEXT2ED is not designed to work on a mounted filesystem - It is complicated 244*6a54128fSAndroid Build Coastguard Workerenough as it is; I didn't even try to think of handling the various race 245*6a54128fSAndroid Build Coastguard Workerconditions. As such, please respect the following advice: 246*6a54128fSAndroid Build Coastguard Worker</Para> 247*6a54128fSAndroid Build Coastguard Worker 248*6a54128fSAndroid Build Coastguard Worker<Para> 249*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">Do not use EXT2ED on a mounted filesystem !</Literal> 250*6a54128fSAndroid Build Coastguard Worker</Para> 251*6a54128fSAndroid Build Coastguard Worker 252*6a54128fSAndroid Build Coastguard Worker<Para> 253*6a54128fSAndroid Build Coastguard WorkerEXT2ED will not allow write access to a mounted filesystem. Although it is 254*6a54128fSAndroid Build Coastguard Workerfairly easy to change EXT2ED so that it will be allowed, I hereby request 255*6a54128fSAndroid Build Coastguard Workeragain- EXT2ED is not designed for that action, and will most likely corrupt 256*6a54128fSAndroid Build Coastguard Workerdata if used that way. Please don't do that. 257*6a54128fSAndroid Build Coastguard Worker</Para> 258*6a54128fSAndroid Build Coastguard Worker 259*6a54128fSAndroid Build Coastguard Worker<Para> 260*6a54128fSAndroid Build Coastguard WorkerConcerning read access, I chose to leave the decision for the user through 261*6a54128fSAndroid Build Coastguard Workerthe configuration file option <Literal remap="tt">AllowMountedRead</Literal>. Although read access 262*6a54128fSAndroid Build Coastguard Workeron a mounted partition will not do any damage to the filesystem, the data 263*6a54128fSAndroid Build Coastguard Workerdisplayed to you will not be reliable, and showing you incorrect information 264*6a54128fSAndroid Build Coastguard Workermay be as bad as corrupting the filesystem. However, you may still wish to 265*6a54128fSAndroid Build Coastguard Workerdo that. 266*6a54128fSAndroid Build Coastguard Worker</Para> 267*6a54128fSAndroid Build Coastguard Worker 268*6a54128fSAndroid Build Coastguard Worker</Sect3> 269*6a54128fSAndroid Build Coastguard Worker 270*6a54128fSAndroid Build Coastguard Worker<Sect3> 271*6a54128fSAndroid Build Coastguard Worker<Title>Write access</Title> 272*6a54128fSAndroid Build Coastguard Worker 273*6a54128fSAndroid Build Coastguard Worker<Para> 274*6a54128fSAndroid Build Coastguard WorkerConsidering the obvious sensitivity of the subject, I took the following 275*6a54128fSAndroid Build Coastguard Workeractions: 276*6a54128fSAndroid Build Coastguard Worker</Para> 277*6a54128fSAndroid Build Coastguard Worker 278*6a54128fSAndroid Build Coastguard Worker<Para> 279*6a54128fSAndroid Build Coastguard Worker 280*6a54128fSAndroid Build Coastguard Worker<OrderedList> 281*6a54128fSAndroid Build Coastguard Worker<ListItem> 282*6a54128fSAndroid Build Coastguard Worker 283*6a54128fSAndroid Build Coastguard Worker<Para> 284*6a54128fSAndroid Build Coastguard Worker EXT2ED will always start with a read-only access. Write access mode 285*6a54128fSAndroid Build Coastguard Workerneeds to be specifically entered by the <Command>enablewrite</Command> command. 286*6a54128fSAndroid Build Coastguard WorkerUntil this is done, no write will be allowed. Write access can be 287*6a54128fSAndroid Build Coastguard Workerdisabled at any time with <Command>disablewrite</Command>. When 288*6a54128fSAndroid Build Coastguard Worker<Command>enablewrite</Command> is issued, the device is reopened in read-write 289*6a54128fSAndroid Build Coastguard Workermode. Needless to say, the device permissions should allow that. 290*6a54128fSAndroid Build Coastguard Worker</Para> 291*6a54128fSAndroid Build Coastguard Worker</ListItem> 292*6a54128fSAndroid Build Coastguard Worker<ListItem> 293*6a54128fSAndroid Build Coastguard Worker 294*6a54128fSAndroid Build Coastguard Worker<Para> 295*6a54128fSAndroid Build Coastguard Worker As a second level of protection, you can disallow write access in 296*6a54128fSAndroid Build Coastguard Workerthe configuration file by using the <Literal remap="tt">AllowChanges off</Literal> 297*6a54128fSAndroid Build Coastguard Workerconfiguration option. In this case, the <Command>enablewrite</Command> command 298*6a54128fSAndroid Build Coastguard Workerwill be refused. 299*6a54128fSAndroid Build Coastguard Worker</Para> 300*6a54128fSAndroid Build Coastguard Worker</ListItem> 301*6a54128fSAndroid Build Coastguard Worker<ListItem> 302*6a54128fSAndroid Build Coastguard Worker 303*6a54128fSAndroid Build Coastguard Worker<Para> 304*6a54128fSAndroid Build Coastguard Worker When write access is enabled, the data will never change 305*6a54128fSAndroid Build Coastguard Workerimmediately. Rather, a specific <Command>writedata</Command> command is needed 306*6a54128fSAndroid Build Coastguard Workerto update the object in the disk with the changed object in memory. 307*6a54128fSAndroid Build Coastguard Worker</Para> 308*6a54128fSAndroid Build Coastguard Worker</ListItem> 309*6a54128fSAndroid Build Coastguard Worker<ListItem> 310*6a54128fSAndroid Build Coastguard Worker 311*6a54128fSAndroid Build Coastguard Worker<Para> 312*6a54128fSAndroid Build Coastguard Worker In addition, A logging option is provided through the configuration 313*6a54128fSAndroid Build Coastguard Workerfile options <Literal remap="tt">LogChanges</Literal> and <Literal remap="tt">LogFile</Literal>. With logging 314*6a54128fSAndroid Build Coastguard Workerenabled, each change to the disk will be logged at a very primitive 315*6a54128fSAndroid Build Coastguard Workerlevel - A hex dump of the original data and of the new written data. 316*6a54128fSAndroid Build Coastguard WorkerThe log file will be a text file which is easily readable, and you 317*6a54128fSAndroid Build Coastguard Workercan make use of it to undo any changes which you made (EXT2ED doesn't 318*6a54128fSAndroid Build Coastguard Workermake use of the log file for that purpose, it just logs the changes). 319*6a54128fSAndroid Build Coastguard Worker</Para> 320*6a54128fSAndroid Build Coastguard Worker</ListItem> 321*6a54128fSAndroid Build Coastguard Worker 322*6a54128fSAndroid Build Coastguard Worker</OrderedList> 323*6a54128fSAndroid Build Coastguard Worker 324*6a54128fSAndroid Build Coastguard WorkerPlease remember that this is only the initial release of EXT2ED, and it is 325*6a54128fSAndroid Build Coastguard Workernot very much tested - It is reasonable to assume that <Literal remap="tt">there are 326*6a54128fSAndroid Build Coastguard Workerbugs</Literal>. 327*6a54128fSAndroid Build Coastguard WorkerHowever, the logging option above can offer protection even from this 328*6a54128fSAndroid Build Coastguard Workerunfortunate case. Therefor, I highly recommend that at least when first 329*6a54128fSAndroid Build Coastguard Workerworking with EXT2ED, the logging option will be enabled, despite the disk 330*6a54128fSAndroid Build Coastguard Workerspace which it consumes. 331*6a54128fSAndroid Build Coastguard Worker</Para> 332*6a54128fSAndroid Build Coastguard Worker 333*6a54128fSAndroid Build Coastguard Worker</Sect3> 334*6a54128fSAndroid Build Coastguard Worker 335*6a54128fSAndroid Build Coastguard Worker</Sect2> 336*6a54128fSAndroid Build Coastguard Worker 337*6a54128fSAndroid Build Coastguard Worker<Sect2 id="help-ref"> 338*6a54128fSAndroid Build Coastguard Worker<Title>The help command</Title> 339*6a54128fSAndroid Build Coastguard Worker 340*6a54128fSAndroid Build Coastguard Worker<Para> 341*6a54128fSAndroid Build Coastguard WorkerWhen loaded, EXT2ED will show a short help screen. This help screen can 342*6a54128fSAndroid Build Coastguard Workeralways be retrieved by the command <Command>help</Command>. The help screen displays a 343*6a54128fSAndroid Build Coastguard Workerlist of all the commands which are available at this point. At startup, only 344*6a54128fSAndroid Build Coastguard Workerthe <Literal remap="tt">General commands</Literal> are available. 345*6a54128fSAndroid Build Coastguard WorkerThis will change with time, since each object has its own commands. Thus, 346*6a54128fSAndroid Build Coastguard Workercommands which are available now may not be available later. 347*6a54128fSAndroid Build Coastguard WorkerUsing <Command>help</Command> <Emphasis>command</Emphasis> will display additional information about 348*6a54128fSAndroid Build Coastguard Workerthe specific command <Emphasis>command</Emphasis>. 349*6a54128fSAndroid Build Coastguard Worker</Para> 350*6a54128fSAndroid Build Coastguard Worker 351*6a54128fSAndroid Build Coastguard Worker</Sect2> 352*6a54128fSAndroid Build Coastguard Worker 353*6a54128fSAndroid Build Coastguard Worker<Sect2 id="setdevice-ref"> 354*6a54128fSAndroid Build Coastguard Worker<Title>The setdevice command</Title> 355*6a54128fSAndroid Build Coastguard Worker 356*6a54128fSAndroid Build Coastguard Worker<Para> 357*6a54128fSAndroid Build Coastguard WorkerThe first command that is usually entered to EXT2ED is the <Command>setdevice</Command> 358*6a54128fSAndroid Build Coastguard Workercommand. This command simply tells EXT2ED on which device the filesystem is 359*6a54128fSAndroid Build Coastguard Workerpresent. For example, suppose my ext2 filesystem is on the first partition 360*6a54128fSAndroid Build Coastguard Workerof my ide disk. The command will be: 361*6a54128fSAndroid Build Coastguard Worker 362*6a54128fSAndroid Build Coastguard Worker<Screen> 363*6a54128fSAndroid Build Coastguard Workersetdevice /dev/hda1 364*6a54128fSAndroid Build Coastguard Worker</Screen> 365*6a54128fSAndroid Build Coastguard Worker 366*6a54128fSAndroid Build Coastguard WorkerThe following actions will take place in the following order: 367*6a54128fSAndroid Build Coastguard Worker 368*6a54128fSAndroid Build Coastguard Worker<OrderedList> 369*6a54128fSAndroid Build Coastguard Worker<ListItem> 370*6a54128fSAndroid Build Coastguard Worker 371*6a54128fSAndroid Build Coastguard Worker<Para> 372*6a54128fSAndroid Build Coastguard Worker EXT2ED will check if the partition is mounted. 373*6a54128fSAndroid Build Coastguard WorkerIf the partition is mounted (<Literal remap="tt">highly not recommended</Literal>), 374*6a54128fSAndroid Build Coastguard Workerthe accept/reject behavior will be decided by the configuration 375*6a54128fSAndroid Build Coastguard Workerfile. Cross reference section <XRef LinkEnd="mounted-ref">. 376*6a54128fSAndroid Build Coastguard Worker</Para> 377*6a54128fSAndroid Build Coastguard Worker</ListItem> 378*6a54128fSAndroid Build Coastguard Worker<ListItem> 379*6a54128fSAndroid Build Coastguard Worker 380*6a54128fSAndroid Build Coastguard Worker<Para> 381*6a54128fSAndroid Build Coastguard Worker The specified device will be opened in read-only mode. The 382*6a54128fSAndroid Build Coastguard Workerpermissions of the device should be set in a way that allows 383*6a54128fSAndroid Build Coastguard Workeryou to open the device for read access. 384*6a54128fSAndroid Build Coastguard Worker</Para> 385*6a54128fSAndroid Build Coastguard Worker</ListItem> 386*6a54128fSAndroid Build Coastguard Worker<ListItem> 387*6a54128fSAndroid Build Coastguard Worker 388*6a54128fSAndroid Build Coastguard Worker<Para> 389*6a54128fSAndroid Build Coastguard Worker Autodetection of an ext2 filesystem will be made by searching for 390*6a54128fSAndroid Build Coastguard Workerthe ext2 magic number in the main superblock. 391*6a54128fSAndroid Build Coastguard Worker</Para> 392*6a54128fSAndroid Build Coastguard Worker</ListItem> 393*6a54128fSAndroid Build Coastguard Worker<ListItem> 394*6a54128fSAndroid Build Coastguard Worker 395*6a54128fSAndroid Build Coastguard Worker<Para> 396*6a54128fSAndroid Build Coastguard Worker In the case of a successful recognition of an ext2 filesystem, the 397*6a54128fSAndroid Build Coastguard Workerext2 filesystem specific commands and the ext2 specific object 398*6a54128fSAndroid Build Coastguard Workerdefinitions will be registered. The object definitions will be read 399*6a54128fSAndroid Build Coastguard Workerat run time from a file specified by the configuration file. 400*6a54128fSAndroid Build Coastguard Worker 401*6a54128fSAndroid Build Coastguard WorkerIn case of a corrupted ext2 filesystem, it is quite possible that 402*6a54128fSAndroid Build Coastguard Workerthe main superblock is damaged and autodetection will fail. In that 403*6a54128fSAndroid Build Coastguard Workercase, use the configuration option <Literal remap="tt">ForceExt2 on</Literal>. This is not 404*6a54128fSAndroid Build Coastguard Workerthe default case since EXT2ED can be used at a lower level to edit a 405*6a54128fSAndroid Build Coastguard Workernon-ext2 filesystem. 406*6a54128fSAndroid Build Coastguard Worker</Para> 407*6a54128fSAndroid Build Coastguard Worker</ListItem> 408*6a54128fSAndroid Build Coastguard Worker<ListItem> 409*6a54128fSAndroid Build Coastguard Worker 410*6a54128fSAndroid Build Coastguard Worker<Para> 411*6a54128fSAndroid Build Coastguard Worker In a case of a successful autodetection, essential information about 412*6a54128fSAndroid Build Coastguard Workerthe filesystem such as the block size will be read from the 413*6a54128fSAndroid Build Coastguard Workersuperblock, unless the used overrides this behavior with an 414*6a54128fSAndroid Build Coastguard Workerconfiguration option (not recommended). In that case, the parameters 415*6a54128fSAndroid Build Coastguard Workerwill be read from the configuration file. 416*6a54128fSAndroid Build Coastguard Worker 417*6a54128fSAndroid Build Coastguard WorkerIn a case of an autodetection failure, the essential parameters 418*6a54128fSAndroid Build Coastguard Workerwill be read from the configuration file. 419*6a54128fSAndroid Build Coastguard Worker</Para> 420*6a54128fSAndroid Build Coastguard Worker</ListItem> 421*6a54128fSAndroid Build Coastguard Worker 422*6a54128fSAndroid Build Coastguard Worker</OrderedList> 423*6a54128fSAndroid Build Coastguard Worker 424*6a54128fSAndroid Build Coastguard WorkerAssuming that you are editing an ext2 filesystem and that everything goes 425*6a54128fSAndroid Build Coastguard Workerwell, you will notice that additional commands are now available in the help 426*6a54128fSAndroid Build Coastguard Workerscreen, under the section <Literal remap="tt">ext2 filesystem general commands</Literal>. In 427*6a54128fSAndroid Build Coastguard Workeraddition, EXT2ED now recognizes a few objects which are essential to the 428*6a54128fSAndroid Build Coastguard Workerediting of an ext2 filesystem. 429*6a54128fSAndroid Build Coastguard Worker</Para> 430*6a54128fSAndroid Build Coastguard Worker 431*6a54128fSAndroid Build Coastguard Worker</Sect2> 432*6a54128fSAndroid Build Coastguard Worker 433*6a54128fSAndroid Build Coastguard Worker</Sect1> 434*6a54128fSAndroid Build Coastguard Worker 435*6a54128fSAndroid Build Coastguard Worker<Sect1> 436*6a54128fSAndroid Build Coastguard Worker<Title>Two levels of usage</Title> 437*6a54128fSAndroid Build Coastguard Worker 438*6a54128fSAndroid Build Coastguard Worker<Sect2> 439*6a54128fSAndroid Build Coastguard Worker<Title>Low level usage</Title> 440*6a54128fSAndroid Build Coastguard Worker 441*6a54128fSAndroid Build Coastguard Worker<Para> 442*6a54128fSAndroid Build Coastguard WorkerThis section explains what EXT2ED provides even when not editing an ext2 443*6a54128fSAndroid Build Coastguard Workerfilesystem. 444*6a54128fSAndroid Build Coastguard Worker</Para> 445*6a54128fSAndroid Build Coastguard Worker 446*6a54128fSAndroid Build Coastguard Worker<Para> 447*6a54128fSAndroid Build Coastguard WorkerEven at this level, EXT2ED is more than just a hex editor. It still allows 448*6a54128fSAndroid Build Coastguard Workerdefinition of objects and variables in run time through a user file, 449*6a54128fSAndroid Build Coastguard Workeralthough of-course the objects will not have special fine tuned functions 450*6a54128fSAndroid Build Coastguard Workerconnected to them. EXT2ED will allow you to move in the filesystem using 451*6a54128fSAndroid Build Coastguard Worker<Command>setoffset</Command>, and to apply an object definition on a specific place 452*6a54128fSAndroid Build Coastguard Workerusing <Command>settype</Command> <Emphasis>type</Emphasis>. From this point and on, the object will 453*6a54128fSAndroid Build Coastguard Workerbe shown <Literal remap="tt">in its native form</Literal> - You will see a list of the 454*6a54128fSAndroid Build Coastguard Workervariables rather than just a hex dump, and you will be able to change each 455*6a54128fSAndroid Build Coastguard Workervariable in the intuitive form <Command>set variable=value</Command>. 456*6a54128fSAndroid Build Coastguard Worker</Para> 457*6a54128fSAndroid Build Coastguard Worker 458*6a54128fSAndroid Build Coastguard Worker<Para> 459*6a54128fSAndroid Build Coastguard WorkerTo define objects, use the configuration option <Literal remap="tt">AlternateDescriptors</Literal>. 460*6a54128fSAndroid Build Coastguard Worker</Para> 461*6a54128fSAndroid Build Coastguard Worker 462*6a54128fSAndroid Build Coastguard Worker<Para> 463*6a54128fSAndroid Build Coastguard WorkerThere are now two forms of editing: 464*6a54128fSAndroid Build Coastguard Worker 465*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 466*6a54128fSAndroid Build Coastguard Worker<ListItem> 467*6a54128fSAndroid Build Coastguard Worker 468*6a54128fSAndroid Build Coastguard Worker<Para> 469*6a54128fSAndroid Build Coastguard Worker Editing without a type. In this case, the disk block will be shown 470*6a54128fSAndroid Build Coastguard Workeras a text+hex dump, and you will be able to move along and change it. 471*6a54128fSAndroid Build Coastguard Worker</Para> 472*6a54128fSAndroid Build Coastguard Worker</ListItem> 473*6a54128fSAndroid Build Coastguard Worker<ListItem> 474*6a54128fSAndroid Build Coastguard Worker 475*6a54128fSAndroid Build Coastguard Worker<Para> 476*6a54128fSAndroid Build Coastguard Worker Editing with a type. In this case, the object's variables will be 477*6a54128fSAndroid Build Coastguard Workershown, and you will be able to change each variable in its native form. 478*6a54128fSAndroid Build Coastguard Worker</Para> 479*6a54128fSAndroid Build Coastguard Worker</ListItem> 480*6a54128fSAndroid Build Coastguard Worker 481*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 482*6a54128fSAndroid Build Coastguard Worker 483*6a54128fSAndroid Build Coastguard Worker</Para> 484*6a54128fSAndroid Build Coastguard Worker 485*6a54128fSAndroid Build Coastguard Worker</Sect2> 486*6a54128fSAndroid Build Coastguard Worker 487*6a54128fSAndroid Build Coastguard Worker<Sect2> 488*6a54128fSAndroid Build Coastguard Worker<Title>High level usage</Title> 489*6a54128fSAndroid Build Coastguard Worker 490*6a54128fSAndroid Build Coastguard Worker<Para> 491*6a54128fSAndroid Build Coastguard WorkerEXT2ED was designed for the editing of the ext2 filesystem. As such, it 492*6a54128fSAndroid Build Coastguard Worker"understands" the filesystem structure to some extent. Each object now has 493*6a54128fSAndroid Build Coastguard Workerspecial fine tuned 'C' functions connected to it, which knows how to display 494*6a54128fSAndroid Build Coastguard Workerit in an intuitive form, and how the object fits in the general design of 495*6a54128fSAndroid Build Coastguard Workerthe ext2 filesystem. It is of-course much easier to use this type of 496*6a54128fSAndroid Build Coastguard Workerediting. For example: 497*6a54128fSAndroid Build Coastguard Worker 498*6a54128fSAndroid Build Coastguard Worker<Screen> 499*6a54128fSAndroid Build Coastguard WorkerIssue <Emphasis>group 2</Emphasis> to look at the main copy of the third group block 500*6a54128fSAndroid Build Coastguard Workerdescriptor. With <Emphasis>gocopy 1</Emphasis> you can move to its first backup copy, 501*6a54128fSAndroid Build Coastguard Workerand with <Emphasis>inode</Emphasis> you can start editing the inode table of the above 502*6a54128fSAndroid Build Coastguard Workergroup block. From here, if the inode corresponds to a file, you can 503*6a54128fSAndroid Build Coastguard Workeruse <Emphasis>file</Emphasis> to edit the file in a "continuous" way, using 504*6a54128fSAndroid Build Coastguard Worker<Emphasis>nextblock</Emphasis> to pass to its next block, letting EXT2ED following by 505*6a54128fSAndroid Build Coastguard Workeritself the direct blocks, indirect blocks, ..., while still preserving the 506*6a54128fSAndroid Build Coastguard Workeractual view of the exact block usage of the file. 507*6a54128fSAndroid Build Coastguard Worker</Screen> 508*6a54128fSAndroid Build Coastguard Worker 509*6a54128fSAndroid Build Coastguard WorkerThe point is that the "tour" of the filesystem will now be synchronous rather 510*6a54128fSAndroid Build Coastguard Workerthan asynchronous - Each object has the "links" to pass between connected 511*6a54128fSAndroid Build Coastguard Workerlogical structures, and special fine-tuned functions to deal with it. 512*6a54128fSAndroid Build Coastguard Worker</Para> 513*6a54128fSAndroid Build Coastguard Worker 514*6a54128fSAndroid Build Coastguard Worker</Sect2> 515*6a54128fSAndroid Build Coastguard Worker 516*6a54128fSAndroid Build Coastguard Worker</Sect1> 517*6a54128fSAndroid Build Coastguard Worker 518*6a54128fSAndroid Build Coastguard Worker<Sect1> 519*6a54128fSAndroid Build Coastguard Worker<Title>General commands</Title> 520*6a54128fSAndroid Build Coastguard Worker 521*6a54128fSAndroid Build Coastguard Worker<Para> 522*6a54128fSAndroid Build Coastguard WorkerI will now start with a systematic explanation of the general commands. 523*6a54128fSAndroid Build Coastguard WorkerPlease feel free to experiment, but take care when using the 524*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">enablewrite</Literal> command. 525*6a54128fSAndroid Build Coastguard Worker</Para> 526*6a54128fSAndroid Build Coastguard Worker 527*6a54128fSAndroid Build Coastguard Worker<Para> 528*6a54128fSAndroid Build Coastguard WorkerWhenever a command syntax is specified, arguments which are optional are 529*6a54128fSAndroid Build Coastguard Workerenclosed with square brackets. 530*6a54128fSAndroid Build Coastguard Worker</Para> 531*6a54128fSAndroid Build Coastguard Worker 532*6a54128fSAndroid Build Coastguard Worker<Para> 533*6a54128fSAndroid Build Coastguard WorkerPlease note that in EXT2ED, each command can be overridden by a specific 534*6a54128fSAndroid Build Coastguard Workerobject to provide special fine-tuned functionality. In general, I was 535*6a54128fSAndroid Build Coastguard Workerattempting to preserve the similarity between those functions, which are 536*6a54128fSAndroid Build Coastguard Workeraccessible by the same name. 537*6a54128fSAndroid Build Coastguard Worker</Para> 538*6a54128fSAndroid Build Coastguard Worker 539*6a54128fSAndroid Build Coastguard Worker<Sect2 id="disablewrite-ref"> 540*6a54128fSAndroid Build Coastguard Worker<Title>disablewrite</Title> 541*6a54128fSAndroid Build Coastguard Worker 542*6a54128fSAndroid Build Coastguard Worker<Para> 543*6a54128fSAndroid Build Coastguard Worker 544*6a54128fSAndroid Build Coastguard Worker<Screen> 545*6a54128fSAndroid Build Coastguard WorkerSyntax: disablewrite 546*6a54128fSAndroid Build Coastguard Worker</Screen> 547*6a54128fSAndroid Build Coastguard Worker 548*6a54128fSAndroid Build Coastguard Worker<Command>disablewrite</Command> is used to reopen the device with read-only access. When 549*6a54128fSAndroid Build Coastguard Workerfirst running EXT2ED, the device is opened in read-only mode, and an 550*6a54128fSAndroid Build Coastguard Workerexplicit <Command>enablewrite</Command> is required for write access. When finishing 551*6a54128fSAndroid Build Coastguard Workerwith changing, a <Command>disablewrite</Command> is recommended for safety. Cross 552*6a54128fSAndroid Build Coastguard Workerreference section <XRef LinkEnd="disablewrite-ref">. 553*6a54128fSAndroid Build Coastguard Worker</Para> 554*6a54128fSAndroid Build Coastguard Worker 555*6a54128fSAndroid Build Coastguard Worker</Sect2> 556*6a54128fSAndroid Build Coastguard Worker 557*6a54128fSAndroid Build Coastguard Worker<Sect2 id="enablewrite-ref"> 558*6a54128fSAndroid Build Coastguard Worker<Title>enablewrite</Title> 559*6a54128fSAndroid Build Coastguard Worker 560*6a54128fSAndroid Build Coastguard Worker<Para> 561*6a54128fSAndroid Build Coastguard Worker 562*6a54128fSAndroid Build Coastguard Worker<Screen> 563*6a54128fSAndroid Build Coastguard WorkerSyntax: enablewrite 564*6a54128fSAndroid Build Coastguard Worker</Screen> 565*6a54128fSAndroid Build Coastguard Worker 566*6a54128fSAndroid Build Coastguard Worker<Command>enablewrite</Command> is used to reopen the device with read-write access. 567*6a54128fSAndroid Build Coastguard WorkerWhen first running EXT2ED, the device is opened in read-only mode, and an 568*6a54128fSAndroid Build Coastguard Workerexplicit <Command>enablewrite</Command> is required for write access. 569*6a54128fSAndroid Build Coastguard Worker<Command>enablewrite</Command> will fail if write access is disabled from the 570*6a54128fSAndroid Build Coastguard Workerconfiguration file by the <Literal remap="tt">AllowChanges off</Literal> configuration option. 571*6a54128fSAndroid Build Coastguard WorkerEven after <Command>enablewrite</Command>, an explicit <Command>writedata</Command> 572*6a54128fSAndroid Build Coastguard Workeris required to actually write the new data to the disk. 573*6a54128fSAndroid Build Coastguard WorkerWhen finishing with changing, a <Command>disablewrite</Command> is recommended for safety. 574*6a54128fSAndroid Build Coastguard WorkerCross reference section <XRef LinkEnd="enablewrite-ref">. 575*6a54128fSAndroid Build Coastguard Worker</Para> 576*6a54128fSAndroid Build Coastguard Worker 577*6a54128fSAndroid Build Coastguard Worker</Sect2> 578*6a54128fSAndroid Build Coastguard Worker 579*6a54128fSAndroid Build Coastguard Worker<Sect2> 580*6a54128fSAndroid Build Coastguard Worker<Title>help</Title> 581*6a54128fSAndroid Build Coastguard Worker 582*6a54128fSAndroid Build Coastguard Worker<Para> 583*6a54128fSAndroid Build Coastguard Worker 584*6a54128fSAndroid Build Coastguard Worker<Screen> 585*6a54128fSAndroid Build Coastguard WorkerSyntax: help [command] 586*6a54128fSAndroid Build Coastguard Worker</Screen> 587*6a54128fSAndroid Build Coastguard Worker 588*6a54128fSAndroid Build Coastguard WorkerThe <Command>help</Command> command is described at section <XRef LinkEnd="help-ref">. 589*6a54128fSAndroid Build Coastguard Worker</Para> 590*6a54128fSAndroid Build Coastguard Worker 591*6a54128fSAndroid Build Coastguard Worker</Sect2> 592*6a54128fSAndroid Build Coastguard Worker 593*6a54128fSAndroid Build Coastguard Worker<Sect2 id="next-ref"> 594*6a54128fSAndroid Build Coastguard Worker<Title>next</Title> 595*6a54128fSAndroid Build Coastguard Worker 596*6a54128fSAndroid Build Coastguard Worker<Para> 597*6a54128fSAndroid Build Coastguard Worker 598*6a54128fSAndroid Build Coastguard Worker<Screen> 599*6a54128fSAndroid Build Coastguard WorkerSyntax: next [number] 600*6a54128fSAndroid Build Coastguard Worker</Screen> 601*6a54128fSAndroid Build Coastguard Worker 602*6a54128fSAndroid Build Coastguard WorkerThis section describes the <Emphasis>general command</Emphasis> <Command>next</Command>. <Command>next</Command> 603*6a54128fSAndroid Build Coastguard Workeris overridden by several types in EXT2ED, to provide fine-tuned 604*6a54128fSAndroid Build Coastguard Workerfunctionality. 605*6a54128fSAndroid Build Coastguard Worker</Para> 606*6a54128fSAndroid Build Coastguard Worker 607*6a54128fSAndroid Build Coastguard Worker<Para> 608*6a54128fSAndroid Build Coastguard WorkerThe <Literal remap="tt">next general command</Literal> behavior is depended on whether you are editing a 609*6a54128fSAndroid Build Coastguard Workerspecific object, or none. 610*6a54128fSAndroid Build Coastguard Worker</Para> 611*6a54128fSAndroid Build Coastguard Worker 612*6a54128fSAndroid Build Coastguard Worker<Para> 613*6a54128fSAndroid Build Coastguard Worker 614*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 615*6a54128fSAndroid Build Coastguard Worker<ListItem> 616*6a54128fSAndroid Build Coastguard Worker 617*6a54128fSAndroid Build Coastguard Worker<Para> 618*6a54128fSAndroid Build Coastguard Worker In the case where Type is <Literal remap="tt">none</Literal> (The current type is showed 619*6a54128fSAndroid Build Coastguard Workeron the status window by the <Command>show</Command> command), <Literal remap="tt">next</Literal> 620*6a54128fSAndroid Build Coastguard Workerpasses to the next <Emphasis>number</Emphasis> bytes in the current edited block. 621*6a54128fSAndroid Build Coastguard WorkerIf <Emphasis>number</Emphasis> is not specified, <Emphasis>number=1</Emphasis> is assumed. 622*6a54128fSAndroid Build Coastguard Worker</Para> 623*6a54128fSAndroid Build Coastguard Worker</ListItem> 624*6a54128fSAndroid Build Coastguard Worker<ListItem> 625*6a54128fSAndroid Build Coastguard Worker 626*6a54128fSAndroid Build Coastguard Worker<Para> 627*6a54128fSAndroid Build Coastguard Worker In the case where Type is defined, the <Command>next</Command> commands assumes 628*6a54128fSAndroid Build Coastguard Workerthat you are editing an array of objects of that type, and the 629*6a54128fSAndroid Build Coastguard Worker<Command>next</Command> command will just pass to the next entry in the array. 630*6a54128fSAndroid Build Coastguard WorkerIf <Emphasis>number</Emphasis> is defined, it will pass <Emphasis>number</Emphasis> entries 631*6a54128fSAndroid Build Coastguard Workerahead. 632*6a54128fSAndroid Build Coastguard Worker</Para> 633*6a54128fSAndroid Build Coastguard Worker</ListItem> 634*6a54128fSAndroid Build Coastguard Worker 635*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 636*6a54128fSAndroid Build Coastguard Worker 637*6a54128fSAndroid Build Coastguard Worker</Para> 638*6a54128fSAndroid Build Coastguard Worker 639*6a54128fSAndroid Build Coastguard Worker</Sect2> 640*6a54128fSAndroid Build Coastguard Worker 641*6a54128fSAndroid Build Coastguard Worker<Sect2 id="pgdn-ref"> 642*6a54128fSAndroid Build Coastguard Worker<Title>pgdn</Title> 643*6a54128fSAndroid Build Coastguard Worker 644*6a54128fSAndroid Build Coastguard Worker<Para> 645*6a54128fSAndroid Build Coastguard Worker 646*6a54128fSAndroid Build Coastguard Worker<Screen> 647*6a54128fSAndroid Build Coastguard WorkerSyntax: pgdn 648*6a54128fSAndroid Build Coastguard Worker</Screen> 649*6a54128fSAndroid Build Coastguard Worker 650*6a54128fSAndroid Build Coastguard WorkerUsually the edited data doesn't fit into the visible main window. In this 651*6a54128fSAndroid Build Coastguard Workercase, the status window will indicate that there is more to see "below" by 652*6a54128fSAndroid Build Coastguard Workerthe message <Literal remap="tt">Page x of y</Literal>. This means that there are <Emphasis>y</Emphasis> pages 653*6a54128fSAndroid Build Coastguard Workertotal, and you are currently viewing the <Emphasis>x</Emphasis> page. With the <Command>pgdn</Command> 654*6a54128fSAndroid Build Coastguard Workercommand, you can pass to the next available page. 655*6a54128fSAndroid Build Coastguard Worker</Para> 656*6a54128fSAndroid Build Coastguard Worker 657*6a54128fSAndroid Build Coastguard Worker</Sect2> 658*6a54128fSAndroid Build Coastguard Worker 659*6a54128fSAndroid Build Coastguard Worker<Sect2> 660*6a54128fSAndroid Build Coastguard Worker<Title>pgup</Title> 661*6a54128fSAndroid Build Coastguard Worker 662*6a54128fSAndroid Build Coastguard Worker<Para> 663*6a54128fSAndroid Build Coastguard Worker 664*6a54128fSAndroid Build Coastguard Worker<Screen> 665*6a54128fSAndroid Build Coastguard WorkerSyntax: pgup 666*6a54128fSAndroid Build Coastguard Worker</Screen> 667*6a54128fSAndroid Build Coastguard Worker 668*6a54128fSAndroid Build Coastguard Worker</Para> 669*6a54128fSAndroid Build Coastguard Worker 670*6a54128fSAndroid Build Coastguard Worker<Para> 671*6a54128fSAndroid Build Coastguard Worker<Command>pgup</Command> is the opposite of <Command>pgdn</Command> - It will pass to the previous 672*6a54128fSAndroid Build Coastguard Workerpage. Cross reference section <XRef LinkEnd="pgdn-ref">. 673*6a54128fSAndroid Build Coastguard Worker</Para> 674*6a54128fSAndroid Build Coastguard Worker 675*6a54128fSAndroid Build Coastguard Worker</Sect2> 676*6a54128fSAndroid Build Coastguard Worker 677*6a54128fSAndroid Build Coastguard Worker<Sect2> 678*6a54128fSAndroid Build Coastguard Worker<Title>prev</Title> 679*6a54128fSAndroid Build Coastguard Worker 680*6a54128fSAndroid Build Coastguard Worker<Para> 681*6a54128fSAndroid Build Coastguard Worker 682*6a54128fSAndroid Build Coastguard Worker<Screen> 683*6a54128fSAndroid Build Coastguard WorkerSyntax: prev [number] 684*6a54128fSAndroid Build Coastguard Worker</Screen> 685*6a54128fSAndroid Build Coastguard Worker 686*6a54128fSAndroid Build Coastguard Worker</Para> 687*6a54128fSAndroid Build Coastguard Worker 688*6a54128fSAndroid Build Coastguard Worker<Para> 689*6a54128fSAndroid Build Coastguard Worker<Command>prev</Command> is the opposite of <Command>next</Command>. Cross reference section 690*6a54128fSAndroid Build Coastguard Worker<XRef LinkEnd="next-ref">. 691*6a54128fSAndroid Build Coastguard Worker</Para> 692*6a54128fSAndroid Build Coastguard Worker 693*6a54128fSAndroid Build Coastguard Worker</Sect2> 694*6a54128fSAndroid Build Coastguard Worker 695*6a54128fSAndroid Build Coastguard Worker<Sect2 id="recall-ref"> 696*6a54128fSAndroid Build Coastguard Worker<Title>recall</Title> 697*6a54128fSAndroid Build Coastguard Worker 698*6a54128fSAndroid Build Coastguard Worker<Para> 699*6a54128fSAndroid Build Coastguard Worker 700*6a54128fSAndroid Build Coastguard Worker<Screen> 701*6a54128fSAndroid Build Coastguard WorkerSyntax: recall object 702*6a54128fSAndroid Build Coastguard Worker</Screen> 703*6a54128fSAndroid Build Coastguard Worker 704*6a54128fSAndroid Build Coastguard Worker<Command>recall</Command> is the opposite of <Command>remember</Command>. It will place you at the 705*6a54128fSAndroid Build Coastguard Workerplace you where when saving the object position and type information. Cross 706*6a54128fSAndroid Build Coastguard Workerreference section <XRef LinkEnd="remember-ref">. 707*6a54128fSAndroid Build Coastguard Worker</Para> 708*6a54128fSAndroid Build Coastguard Worker 709*6a54128fSAndroid Build Coastguard Worker</Sect2> 710*6a54128fSAndroid Build Coastguard Worker 711*6a54128fSAndroid Build Coastguard Worker<Sect2> 712*6a54128fSAndroid Build Coastguard Worker<Title>redraw</Title> 713*6a54128fSAndroid Build Coastguard Worker 714*6a54128fSAndroid Build Coastguard Worker<Para> 715*6a54128fSAndroid Build Coastguard Worker 716*6a54128fSAndroid Build Coastguard Worker<Screen> 717*6a54128fSAndroid Build Coastguard WorkerSyntax: redraw 718*6a54128fSAndroid Build Coastguard Worker</Screen> 719*6a54128fSAndroid Build Coastguard Worker 720*6a54128fSAndroid Build Coastguard WorkerSometimes the screen display gets corrupted. I still have problems with 721*6a54128fSAndroid Build Coastguard Workerthis. The <Command>redraw</Command> command simply redraws the entire display screen. 722*6a54128fSAndroid Build Coastguard Worker</Para> 723*6a54128fSAndroid Build Coastguard Worker 724*6a54128fSAndroid Build Coastguard Worker</Sect2> 725*6a54128fSAndroid Build Coastguard Worker 726*6a54128fSAndroid Build Coastguard Worker<Sect2 id="remember-ref"> 727*6a54128fSAndroid Build Coastguard Worker<Title>remember</Title> 728*6a54128fSAndroid Build Coastguard Worker 729*6a54128fSAndroid Build Coastguard Worker<Para> 730*6a54128fSAndroid Build Coastguard Worker 731*6a54128fSAndroid Build Coastguard Worker<Screen> 732*6a54128fSAndroid Build Coastguard WorkerSyntax: remember object 733*6a54128fSAndroid Build Coastguard Worker</Screen> 734*6a54128fSAndroid Build Coastguard Worker 735*6a54128fSAndroid Build Coastguard WorkerEXT2ED provides you <Literal remap="tt">memory</Literal> of objects; While editing, you may reach an 736*6a54128fSAndroid Build Coastguard Workerobject which you will like to return to later. The <Command>remember</Command> command 737*6a54128fSAndroid Build Coastguard Workerwill store in memory the current place and type of the object. You can 738*6a54128fSAndroid Build Coastguard Workerreturn to the object by using the <Command>recall</Command> command. Cross reference 739*6a54128fSAndroid Build Coastguard Workersection <XRef LinkEnd="recall-ref">. 740*6a54128fSAndroid Build Coastguard Worker</Para> 741*6a54128fSAndroid Build Coastguard Worker 742*6a54128fSAndroid Build Coastguard Worker<Para> 743*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">Note:</Literal> 744*6a54128fSAndroid Build Coastguard Worker 745*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 746*6a54128fSAndroid Build Coastguard Worker<ListItem> 747*6a54128fSAndroid Build Coastguard Worker 748*6a54128fSAndroid Build Coastguard Worker<Para> 749*6a54128fSAndroid Build Coastguard Worker When remembering a <Literal remap="tt">file</Literal> or a <Literal remap="tt">directory</Literal>, the 750*6a54128fSAndroid Build Coastguard Workercorresponding inode will be saved in memory. The basic reason is that 751*6a54128fSAndroid Build Coastguard Workerthe inode is essential for finding the blocks of the file or the 752*6a54128fSAndroid Build Coastguard Workerdirectory. 753*6a54128fSAndroid Build Coastguard Worker</Para> 754*6a54128fSAndroid Build Coastguard Worker</ListItem> 755*6a54128fSAndroid Build Coastguard Worker 756*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 757*6a54128fSAndroid Build Coastguard Worker 758*6a54128fSAndroid Build Coastguard Worker</Para> 759*6a54128fSAndroid Build Coastguard Worker 760*6a54128fSAndroid Build Coastguard Worker</Sect2> 761*6a54128fSAndroid Build Coastguard Worker 762*6a54128fSAndroid Build Coastguard Worker<Sect2> 763*6a54128fSAndroid Build Coastguard Worker<Title>set</Title> 764*6a54128fSAndroid Build Coastguard Worker 765*6a54128fSAndroid Build Coastguard Worker<Para> 766*6a54128fSAndroid Build Coastguard Worker 767*6a54128fSAndroid Build Coastguard Worker<Screen> 768*6a54128fSAndroid Build Coastguard WorkerSyntax: set [text || hex] arg1 [arg2 arg3 ...] 769*6a54128fSAndroid Build Coastguard Worker 770*6a54128fSAndroid Build Coastguard Workeror 771*6a54128fSAndroid Build Coastguard Worker 772*6a54128fSAndroid Build Coastguard WorkerSyntax: set variable=value 773*6a54128fSAndroid Build Coastguard Worker</Screen> 774*6a54128fSAndroid Build Coastguard Worker 775*6a54128fSAndroid Build Coastguard WorkerThe <Command>set</Command> command is used to modify the current data. 776*6a54128fSAndroid Build Coastguard WorkerThe <Command>set general command</Command> behavior is depended on whether you are editing a 777*6a54128fSAndroid Build Coastguard Workerspecific object, or none. 778*6a54128fSAndroid Build Coastguard Worker</Para> 779*6a54128fSAndroid Build Coastguard Worker 780*6a54128fSAndroid Build Coastguard Worker<Para> 781*6a54128fSAndroid Build Coastguard Worker 782*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 783*6a54128fSAndroid Build Coastguard Worker<ListItem> 784*6a54128fSAndroid Build Coastguard Worker 785*6a54128fSAndroid Build Coastguard Worker<Para> 786*6a54128fSAndroid Build Coastguard Worker In the case where Type is <Command>none</Command>, the first syntax should be 787*6a54128fSAndroid Build Coastguard Workerused. The set command affects the data starting at the current 788*6a54128fSAndroid Build Coastguard Workerhighlighted position in the edited block. 789*6a54128fSAndroid Build Coastguard Worker 790*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 791*6a54128fSAndroid Build Coastguard Worker<ListItem> 792*6a54128fSAndroid Build Coastguard Worker 793*6a54128fSAndroid Build Coastguard Worker<Para> 794*6a54128fSAndroid Build Coastguard Worker When using the <Command>set hex</Command> command, a list of 795*6a54128fSAndroid Build Coastguard Workerhexadecimal bytes should follow. 796*6a54128fSAndroid Build Coastguard Worker</Para> 797*6a54128fSAndroid Build Coastguard Worker</ListItem> 798*6a54128fSAndroid Build Coastguard Worker<ListItem> 799*6a54128fSAndroid Build Coastguard Worker 800*6a54128fSAndroid Build Coastguard Worker<Para> 801*6a54128fSAndroid Build Coastguard Worker When using the <Command>set text</Command> command, it should be followed 802*6a54128fSAndroid Build Coastguard Workerby a text string. 803*6a54128fSAndroid Build Coastguard Worker</Para> 804*6a54128fSAndroid Build Coastguard Worker</ListItem> 805*6a54128fSAndroid Build Coastguard Worker 806*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 807*6a54128fSAndroid Build Coastguard Worker 808*6a54128fSAndroid Build Coastguard WorkerExamples: 809*6a54128fSAndroid Build Coastguard Worker 810*6a54128fSAndroid Build Coastguard Worker<Screen> 811*6a54128fSAndroid Build Coastguard Worker set hex 09 0a 0b 0c 0d 0e 0f 812*6a54128fSAndroid Build Coastguard Worker set text Linux is just great ! 813*6a54128fSAndroid Build Coastguard Worker 814*6a54128fSAndroid Build Coastguard Worker</Screen> 815*6a54128fSAndroid Build Coastguard Worker 816*6a54128fSAndroid Build Coastguard Worker</Para> 817*6a54128fSAndroid Build Coastguard Worker</ListItem> 818*6a54128fSAndroid Build Coastguard Worker<ListItem> 819*6a54128fSAndroid Build Coastguard Worker 820*6a54128fSAndroid Build Coastguard Worker<Para> 821*6a54128fSAndroid Build Coastguard Worker In the case where Type is defined, the second syntax should be used. 822*6a54128fSAndroid Build Coastguard WorkerThe set commands just sets the variable <Emphasis>variable</Emphasis> with the 823*6a54128fSAndroid Build Coastguard Workervalue <Emphasis>value</Emphasis>. 824*6a54128fSAndroid Build Coastguard Worker</Para> 825*6a54128fSAndroid Build Coastguard Worker</ListItem> 826*6a54128fSAndroid Build Coastguard Worker 827*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 828*6a54128fSAndroid Build Coastguard Worker 829*6a54128fSAndroid Build Coastguard WorkerIn any case, the data is only changed in memory. For an actual update to the 830*6a54128fSAndroid Build Coastguard Workerdisk, use the <Command>writedata</Command> command. 831*6a54128fSAndroid Build Coastguard Worker</Para> 832*6a54128fSAndroid Build Coastguard Worker 833*6a54128fSAndroid Build Coastguard Worker</Sect2> 834*6a54128fSAndroid Build Coastguard Worker 835*6a54128fSAndroid Build Coastguard Worker<Sect2> 836*6a54128fSAndroid Build Coastguard Worker<Title>setdevice</Title> 837*6a54128fSAndroid Build Coastguard Worker 838*6a54128fSAndroid Build Coastguard Worker<Para> 839*6a54128fSAndroid Build Coastguard Worker 840*6a54128fSAndroid Build Coastguard Worker<Screen> 841*6a54128fSAndroid Build Coastguard WorkerSyntax: setdevice device 842*6a54128fSAndroid Build Coastguard Worker</Screen> 843*6a54128fSAndroid Build Coastguard Worker 844*6a54128fSAndroid Build Coastguard WorkerThe <Command>setdevice</Command> command is described at section <XRef LinkEnd="setdevice-ref">. 845*6a54128fSAndroid Build Coastguard Worker</Para> 846*6a54128fSAndroid Build Coastguard Worker 847*6a54128fSAndroid Build Coastguard Worker</Sect2> 848*6a54128fSAndroid Build Coastguard Worker 849*6a54128fSAndroid Build Coastguard Worker<Sect2> 850*6a54128fSAndroid Build Coastguard Worker<Title>setoffset</Title> 851*6a54128fSAndroid Build Coastguard Worker 852*6a54128fSAndroid Build Coastguard Worker<Para> 853*6a54128fSAndroid Build Coastguard Worker 854*6a54128fSAndroid Build Coastguard Worker<Screen> 855*6a54128fSAndroid Build Coastguard WorkerSyntax: setoffset [block || type] [+|-]offset 856*6a54128fSAndroid Build Coastguard Worker</Screen> 857*6a54128fSAndroid Build Coastguard Worker 858*6a54128fSAndroid Build Coastguard WorkerThe <Command>setoffset</Command> command is used to move asynchronously inside the file 859*6a54128fSAndroid Build Coastguard Workersystem. It is considered a low level command, and usually should not be used 860*6a54128fSAndroid Build Coastguard Workerwhen editing an ext2 filesystem, simply because movement is better 861*6a54128fSAndroid Build Coastguard Workerutilized through the specific ext2 commands. 862*6a54128fSAndroid Build Coastguard Worker</Para> 863*6a54128fSAndroid Build Coastguard Worker 864*6a54128fSAndroid Build Coastguard Worker<Para> 865*6a54128fSAndroid Build Coastguard WorkerThe <Command>offset</Command> is in bytes, and meanwhile should be positive and smaller 866*6a54128fSAndroid Build Coastguard Workerthan 2GB. 867*6a54128fSAndroid Build Coastguard Worker</Para> 868*6a54128fSAndroid Build Coastguard Worker 869*6a54128fSAndroid Build Coastguard Worker<Para> 870*6a54128fSAndroid Build Coastguard WorkerUse of the <Command>block</Command> modifier changes the counting unit to block. 871*6a54128fSAndroid Build Coastguard Worker</Para> 872*6a54128fSAndroid Build Coastguard Worker 873*6a54128fSAndroid Build Coastguard Worker<Para> 874*6a54128fSAndroid Build Coastguard WorkerUse of the <Literal remap="tt">+ or -</Literal> modifiers signals that the offset is relative to 875*6a54128fSAndroid Build Coastguard Workerthe current position. 876*6a54128fSAndroid Build Coastguard Worker</Para> 877*6a54128fSAndroid Build Coastguard Worker 878*6a54128fSAndroid Build Coastguard Worker<Para> 879*6a54128fSAndroid Build Coastguard Workeruse of the <Literal remap="tt">type</Literal> modifier is allowed only with relative offset. This 880*6a54128fSAndroid Build Coastguard Workermodifier will multiply the offset by the size of the current type. 881*6a54128fSAndroid Build Coastguard Worker</Para> 882*6a54128fSAndroid Build Coastguard Worker 883*6a54128fSAndroid Build Coastguard Worker</Sect2> 884*6a54128fSAndroid Build Coastguard Worker 885*6a54128fSAndroid Build Coastguard Worker<Sect2> 886*6a54128fSAndroid Build Coastguard Worker<Title>settype</Title> 887*6a54128fSAndroid Build Coastguard Worker 888*6a54128fSAndroid Build Coastguard Worker<Para> 889*6a54128fSAndroid Build Coastguard Worker 890*6a54128fSAndroid Build Coastguard Worker<Screen> 891*6a54128fSAndroid Build Coastguard WorkerSyntax: settype type || [none | hex] 892*6a54128fSAndroid Build Coastguard Worker</Screen> 893*6a54128fSAndroid Build Coastguard Worker 894*6a54128fSAndroid Build Coastguard WorkerThe <Command>settype</Command> command is used to move apply the object definitions of 895*6a54128fSAndroid Build Coastguard Workerthe type <Emphasis>type</Emphasis> on the current position. It is considered a low level 896*6a54128fSAndroid Build Coastguard Workercommand and usually should not be used when editing an ext2 filesystem since 897*6a54128fSAndroid Build Coastguard WorkerEXT2ED provides better tools. It is of-course very useful when editing a 898*6a54128fSAndroid Build Coastguard Workernon-ext2 filesystem and using user-defined objects. 899*6a54128fSAndroid Build Coastguard Worker</Para> 900*6a54128fSAndroid Build Coastguard Worker 901*6a54128fSAndroid Build Coastguard Worker<Para> 902*6a54128fSAndroid Build Coastguard WorkerWhen <Emphasis>type</Emphasis> is <Emphasis>hex</Emphasis> or <Emphasis>none</Emphasis>, the data will be displayed as 903*6a54128fSAndroid Build Coastguard Workera hex and text dump. 904*6a54128fSAndroid Build Coastguard Worker</Para> 905*6a54128fSAndroid Build Coastguard Worker 906*6a54128fSAndroid Build Coastguard Worker</Sect2> 907*6a54128fSAndroid Build Coastguard Worker 908*6a54128fSAndroid Build Coastguard Worker<Sect2> 909*6a54128fSAndroid Build Coastguard Worker<Title>show</Title> 910*6a54128fSAndroid Build Coastguard Worker 911*6a54128fSAndroid Build Coastguard Worker<Para> 912*6a54128fSAndroid Build Coastguard Worker 913*6a54128fSAndroid Build Coastguard Worker<Screen> 914*6a54128fSAndroid Build Coastguard WorkerSyntax: show 915*6a54128fSAndroid Build Coastguard Worker</Screen> 916*6a54128fSAndroid Build Coastguard Worker 917*6a54128fSAndroid Build Coastguard WorkerThe <Command>show</Command> command will show the data of the current object at the 918*6a54128fSAndroid Build Coastguard Workercurrent position on the main display window. It will also update the status 919*6a54128fSAndroid Build Coastguard Workerwindow with type specific information. It may be necessary to use 920*6a54128fSAndroid Build Coastguard Worker<Command>pgdn</Command> and <Command>pgup</Command> to view the entire data. 921*6a54128fSAndroid Build Coastguard Worker</Para> 922*6a54128fSAndroid Build Coastguard Worker 923*6a54128fSAndroid Build Coastguard Worker</Sect2> 924*6a54128fSAndroid Build Coastguard Worker 925*6a54128fSAndroid Build Coastguard Worker<Sect2> 926*6a54128fSAndroid Build Coastguard Worker<Title>writedata</Title> 927*6a54128fSAndroid Build Coastguard Worker 928*6a54128fSAndroid Build Coastguard Worker<Para> 929*6a54128fSAndroid Build Coastguard Worker 930*6a54128fSAndroid Build Coastguard Worker<Screen> 931*6a54128fSAndroid Build Coastguard WorkerSyntax: writedata 932*6a54128fSAndroid Build Coastguard Worker</Screen> 933*6a54128fSAndroid Build Coastguard Worker 934*6a54128fSAndroid Build Coastguard WorkerThe <Command>writedata</Command> command will update the disk with the object data that 935*6a54128fSAndroid Build Coastguard Workeris currently in memory. This is the point at which actual change is made to 936*6a54128fSAndroid Build Coastguard Workerthe filesystem. Without this command, the edited data will not have any 937*6a54128fSAndroid Build Coastguard Workereffect. Write access should be allowed for a successful update. 938*6a54128fSAndroid Build Coastguard Worker</Para> 939*6a54128fSAndroid Build Coastguard Worker 940*6a54128fSAndroid Build Coastguard Worker</Sect2> 941*6a54128fSAndroid Build Coastguard Worker 942*6a54128fSAndroid Build Coastguard Worker</Sect1> 943*6a54128fSAndroid Build Coastguard Worker 944*6a54128fSAndroid Build Coastguard Worker<Sect1> 945*6a54128fSAndroid Build Coastguard Worker<Title>Editing an ext2 filesystem</Title> 946*6a54128fSAndroid Build Coastguard Worker 947*6a54128fSAndroid Build Coastguard Worker<Para> 948*6a54128fSAndroid Build Coastguard WorkerIn order to edit an ext2 filesystem, you should, of course, know the structure 949*6a54128fSAndroid Build Coastguard Workerof the ext2 filesystem. If you feel that you lack some knowledge in this 950*6a54128fSAndroid Build Coastguard Workerarea, I suggest that you do some of the following: 951*6a54128fSAndroid Build Coastguard Worker 952*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 953*6a54128fSAndroid Build Coastguard Worker<ListItem> 954*6a54128fSAndroid Build Coastguard Worker 955*6a54128fSAndroid Build Coastguard Worker<Para> 956*6a54128fSAndroid Build Coastguard Worker Read the supplied ext2 technical information. I tried to summarize 957*6a54128fSAndroid Build Coastguard Workerthe basic information which is needed to get you started. 958*6a54128fSAndroid Build Coastguard Worker</Para> 959*6a54128fSAndroid Build Coastguard Worker</ListItem> 960*6a54128fSAndroid Build Coastguard Worker<ListItem> 961*6a54128fSAndroid Build Coastguard Worker 962*6a54128fSAndroid Build Coastguard Worker<Para> 963*6a54128fSAndroid Build Coastguard Worker Get the slides that Remy Card (The author of the ext2 filesystem) 964*6a54128fSAndroid Build Coastguard Workerprepared concerning the ext2 filesystem. 965*6a54128fSAndroid Build Coastguard Worker</Para> 966*6a54128fSAndroid Build Coastguard Worker</ListItem> 967*6a54128fSAndroid Build Coastguard Worker<ListItem> 968*6a54128fSAndroid Build Coastguard Worker 969*6a54128fSAndroid Build Coastguard Worker<Para> 970*6a54128fSAndroid Build Coastguard Worker Read the kernel sources. 971*6a54128fSAndroid Build Coastguard Worker</Para> 972*6a54128fSAndroid Build Coastguard Worker</ListItem> 973*6a54128fSAndroid Build Coastguard Worker 974*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 975*6a54128fSAndroid Build Coastguard Worker 976*6a54128fSAndroid Build Coastguard WorkerAt this point, you should be familiar with the following terms: 977*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">block, inode, superblock, block groups, block allocation bitmap, inode 978*6a54128fSAndroid Build Coastguard Workerallocation bitmap, group descriptors, file, directory.</Literal>Most of the above 979*6a54128fSAndroid Build Coastguard Workerare objects in EXT2ED. 980*6a54128fSAndroid Build Coastguard Worker</Para> 981*6a54128fSAndroid Build Coastguard Worker 982*6a54128fSAndroid Build Coastguard Worker<Para> 983*6a54128fSAndroid Build Coastguard WorkerWhen editing an ext2 filesystem it is recommended that you use the ext2 984*6a54128fSAndroid Build Coastguard Workerspecific commands, rather then the general commands <Command>setoffset</Command> and 985*6a54128fSAndroid Build Coastguard Worker<Command>settype</Command>, mainly because: 986*6a54128fSAndroid Build Coastguard Worker 987*6a54128fSAndroid Build Coastguard Worker<OrderedList> 988*6a54128fSAndroid Build Coastguard Worker<ListItem> 989*6a54128fSAndroid Build Coastguard Worker 990*6a54128fSAndroid Build Coastguard Worker<Para> 991*6a54128fSAndroid Build Coastguard Worker In most cases it will be unreliable, and will display incorrect 992*6a54128fSAndroid Build Coastguard Workerinformation. 993*6a54128fSAndroid Build Coastguard Worker 994*6a54128fSAndroid Build Coastguard WorkerSometimes in order to edit an object, EXT2ED needs the information 995*6a54128fSAndroid Build Coastguard Workerof some other related objects. For example, when editing a 996*6a54128fSAndroid Build Coastguard Workerdirectory, EXT2ED needs access to the inode of the edited directory. 997*6a54128fSAndroid Build Coastguard WorkerSimply setting the type to a directory <Literal remap="tt">will be unreliable</Literal>, 998*6a54128fSAndroid Build Coastguard Workersince the object assumes that you passed through its inode to reach 999*6a54128fSAndroid Build Coastguard Workerit, and expects this information, which isn't initialized if you 1000*6a54128fSAndroid Build Coastguard Workerdirectly set the type to a directory. 1001*6a54128fSAndroid Build Coastguard Worker</Para> 1002*6a54128fSAndroid Build Coastguard Worker</ListItem> 1003*6a54128fSAndroid Build Coastguard Worker<ListItem> 1004*6a54128fSAndroid Build Coastguard Worker 1005*6a54128fSAndroid Build Coastguard Worker<Para> 1006*6a54128fSAndroid Build Coastguard Worker EXT2ED offers far better tools for handling the ext2 filesystem 1007*6a54128fSAndroid Build Coastguard Workerusing the ext2 specific commands. 1008*6a54128fSAndroid Build Coastguard Worker</Para> 1009*6a54128fSAndroid Build Coastguard Worker</ListItem> 1010*6a54128fSAndroid Build Coastguard Worker 1011*6a54128fSAndroid Build Coastguard Worker</OrderedList> 1012*6a54128fSAndroid Build Coastguard Worker 1013*6a54128fSAndroid Build Coastguard Worker</Para> 1014*6a54128fSAndroid Build Coastguard Worker 1015*6a54128fSAndroid Build Coastguard Worker</Sect1> 1016*6a54128fSAndroid Build Coastguard Worker 1017*6a54128fSAndroid Build Coastguard Worker<Sect1> 1018*6a54128fSAndroid Build Coastguard Worker<Title>ext2 general commands</Title> 1019*6a54128fSAndroid Build Coastguard Worker 1020*6a54128fSAndroid Build Coastguard Worker<Para> 1021*6a54128fSAndroid Build Coastguard WorkerThe <Literal remap="tt">ext2 general commands</Literal> are available only when you are editing an 1022*6a54128fSAndroid Build Coastguard Workerext2 filesystem. They are <Literal remap="tt">general</Literal> in the sense that they are not 1023*6a54128fSAndroid Build Coastguard Workerspecific to some object, and can be invoked anytime. 1024*6a54128fSAndroid Build Coastguard Worker</Para> 1025*6a54128fSAndroid Build Coastguard Worker 1026*6a54128fSAndroid Build Coastguard Worker<Sect2 id="general-superblock"> 1027*6a54128fSAndroid Build Coastguard Worker<Title>super</Title> 1028*6a54128fSAndroid Build Coastguard Worker 1029*6a54128fSAndroid Build Coastguard Worker<Para> 1030*6a54128fSAndroid Build Coastguard Worker 1031*6a54128fSAndroid Build Coastguard Worker<Screen> 1032*6a54128fSAndroid Build Coastguard WorkerSyntax: super 1033*6a54128fSAndroid Build Coastguard Worker</Screen> 1034*6a54128fSAndroid Build Coastguard Worker 1035*6a54128fSAndroid Build Coastguard WorkerThe <Command>super</Command> command will "bring you" to the main superblock copy. It 1036*6a54128fSAndroid Build Coastguard Workerwill automatically set the object type to <Literal remap="tt">ext2_super_block</Literal>. Then you 1037*6a54128fSAndroid Build Coastguard Workerwill be able to view and edit the superblock. When you are in the 1038*6a54128fSAndroid Build Coastguard Workersuperblock, other commands will be available. 1039*6a54128fSAndroid Build Coastguard Worker</Para> 1040*6a54128fSAndroid Build Coastguard Worker 1041*6a54128fSAndroid Build Coastguard Worker</Sect2> 1042*6a54128fSAndroid Build Coastguard Worker 1043*6a54128fSAndroid Build Coastguard Worker<Sect2> 1044*6a54128fSAndroid Build Coastguard Worker<Title>group</Title> 1045*6a54128fSAndroid Build Coastguard Worker 1046*6a54128fSAndroid Build Coastguard Worker<Para> 1047*6a54128fSAndroid Build Coastguard Worker 1048*6a54128fSAndroid Build Coastguard Worker<Screen> 1049*6a54128fSAndroid Build Coastguard WorkerSyntax: group [number] 1050*6a54128fSAndroid Build Coastguard Worker</Screen> 1051*6a54128fSAndroid Build Coastguard Worker 1052*6a54128fSAndroid Build Coastguard WorkerThe <Command>group</Command> command will "bring you" to the main copy of the 1053*6a54128fSAndroid Build Coastguard Worker<Emphasis>number</Emphasis> group descriptor. It will automatically set the object type to 1054*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">ext2_group_desc</Literal>. Then you will be able to view and edit the group 1055*6a54128fSAndroid Build Coastguard Workerdescriptor entry. When you are there, other commands will be available. 1056*6a54128fSAndroid Build Coastguard Worker</Para> 1057*6a54128fSAndroid Build Coastguard Worker 1058*6a54128fSAndroid Build Coastguard Worker</Sect2> 1059*6a54128fSAndroid Build Coastguard Worker 1060*6a54128fSAndroid Build Coastguard Worker<Sect2> 1061*6a54128fSAndroid Build Coastguard Worker<Title>cd</Title> 1062*6a54128fSAndroid Build Coastguard Worker 1063*6a54128fSAndroid Build Coastguard Worker<Para> 1064*6a54128fSAndroid Build Coastguard Worker 1065*6a54128fSAndroid Build Coastguard Worker<Screen> 1066*6a54128fSAndroid Build Coastguard WorkerSyntax: cd path 1067*6a54128fSAndroid Build Coastguard Worker</Screen> 1068*6a54128fSAndroid Build Coastguard Worker 1069*6a54128fSAndroid Build Coastguard WorkerThe <Command>cd</Command> command will let you travel in the filesystem in the nice way 1070*6a54128fSAndroid Build Coastguard Workerthat the mounted filesystem would have let you. 1071*6a54128fSAndroid Build Coastguard Worker</Para> 1072*6a54128fSAndroid Build Coastguard Worker 1073*6a54128fSAndroid Build Coastguard Worker<Para> 1074*6a54128fSAndroid Build Coastguard WorkerThe <Command>cd</Command> command is a complicated command. Although it may sound 1075*6a54128fSAndroid Build Coastguard Workersimple at first, an implementation of a typical cd requires passing through 1076*6a54128fSAndroid Build Coastguard Workerthe group descriptors, inodes, directory entries, etc. For example: 1077*6a54128fSAndroid Build Coastguard Worker</Para> 1078*6a54128fSAndroid Build Coastguard Worker 1079*6a54128fSAndroid Build Coastguard Worker<Para> 1080*6a54128fSAndroid Build Coastguard WorkerThe innocent cd /usr command can be done by using more primitive 1081*6a54128fSAndroid Build Coastguard WorkerEXT2ED commands in the following way (It is implemented exactly this way): 1082*6a54128fSAndroid Build Coastguard Worker 1083*6a54128fSAndroid Build Coastguard Worker<OrderedList> 1084*6a54128fSAndroid Build Coastguard Worker<ListItem> 1085*6a54128fSAndroid Build Coastguard Worker 1086*6a54128fSAndroid Build Coastguard Worker<Para> 1087*6a54128fSAndroid Build Coastguard Worker Using <Command>group 0</Command> to go to the first group descriptor. 1088*6a54128fSAndroid Build Coastguard Worker</Para> 1089*6a54128fSAndroid Build Coastguard Worker</ListItem> 1090*6a54128fSAndroid Build Coastguard Worker<ListItem> 1091*6a54128fSAndroid Build Coastguard Worker 1092*6a54128fSAndroid Build Coastguard Worker<Para> 1093*6a54128fSAndroid Build Coastguard Worker Using <Command>inode</Command> to get to the Bad blocks inode. 1094*6a54128fSAndroid Build Coastguard Worker</Para> 1095*6a54128fSAndroid Build Coastguard Worker</ListItem> 1096*6a54128fSAndroid Build Coastguard Worker<ListItem> 1097*6a54128fSAndroid Build Coastguard Worker 1098*6a54128fSAndroid Build Coastguard Worker<Para> 1099*6a54128fSAndroid Build Coastguard Worker Using <Command>next</Command> to pass to the root directory inode. 1100*6a54128fSAndroid Build Coastguard Worker</Para> 1101*6a54128fSAndroid Build Coastguard Worker</ListItem> 1102*6a54128fSAndroid Build Coastguard Worker<ListItem> 1103*6a54128fSAndroid Build Coastguard Worker 1104*6a54128fSAndroid Build Coastguard Worker<Para> 1105*6a54128fSAndroid Build Coastguard Worker Using <Command>dir</Command> to see the directory. 1106*6a54128fSAndroid Build Coastguard Worker</Para> 1107*6a54128fSAndroid Build Coastguard Worker</ListItem> 1108*6a54128fSAndroid Build Coastguard Worker<ListItem> 1109*6a54128fSAndroid Build Coastguard Worker 1110*6a54128fSAndroid Build Coastguard Worker<Para> 1111*6a54128fSAndroid Build Coastguard Worker Using <Command>next</Command> until we find the directory usr. 1112*6a54128fSAndroid Build Coastguard Worker</Para> 1113*6a54128fSAndroid Build Coastguard Worker</ListItem> 1114*6a54128fSAndroid Build Coastguard Worker<ListItem> 1115*6a54128fSAndroid Build Coastguard Worker 1116*6a54128fSAndroid Build Coastguard Worker<Para> 1117*6a54128fSAndroid Build Coastguard Worker Using <Command>followinode</Command> to pass to the inode corresponding to usr. 1118*6a54128fSAndroid Build Coastguard Worker</Para> 1119*6a54128fSAndroid Build Coastguard Worker</ListItem> 1120*6a54128fSAndroid Build Coastguard Worker<ListItem> 1121*6a54128fSAndroid Build Coastguard Worker 1122*6a54128fSAndroid Build Coastguard Worker<Para> 1123*6a54128fSAndroid Build Coastguard Worker Using <Command>dir</Command> to see the directory of /usr. 1124*6a54128fSAndroid Build Coastguard Worker</Para> 1125*6a54128fSAndroid Build Coastguard Worker</ListItem> 1126*6a54128fSAndroid Build Coastguard Worker 1127*6a54128fSAndroid Build Coastguard Worker</OrderedList> 1128*6a54128fSAndroid Build Coastguard Worker 1129*6a54128fSAndroid Build Coastguard WorkerAnd those commands aren't that primitive; For example, the tracing of the 1130*6a54128fSAndroid Build Coastguard Workerblocks which belong to the root directory is done automatically by the dir 1131*6a54128fSAndroid Build Coastguard Workercommand behind the scenes, and the followinode command will automatically 1132*6a54128fSAndroid Build Coastguard Worker"run" to the correct group descriptor in order to find the required inode. 1133*6a54128fSAndroid Build Coastguard Worker</Para> 1134*6a54128fSAndroid Build Coastguard Worker 1135*6a54128fSAndroid Build Coastguard Worker<Para> 1136*6a54128fSAndroid Build Coastguard WorkerThe path to the <Command>general cd</Command> command needs to be a full pathname - 1137*6a54128fSAndroid Build Coastguard WorkerStarting from <Filename>/</Filename>. The <Command>cd</Command> command stops at the last reachable 1138*6a54128fSAndroid Build Coastguard Workerpoint, which can be a directory entry, in which case the type will be set to 1139*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">dir</Literal>, or an inode, in which case the type will be set to 1140*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">ext2_inode</Literal>. Symbolic links (Only fast symbolic links, meanwhile) are 1141*6a54128fSAndroid Build Coastguard Workerautomatically followed (if they are not across filesystems, of-course). If 1142*6a54128fSAndroid Build Coastguard Workerthe type is set to <Literal remap="tt">dir</Literal>, you can use a path relative to the 1143*6a54128fSAndroid Build Coastguard Worker"current directory". 1144*6a54128fSAndroid Build Coastguard Worker</Para> 1145*6a54128fSAndroid Build Coastguard Worker 1146*6a54128fSAndroid Build Coastguard Worker</Sect2> 1147*6a54128fSAndroid Build Coastguard Worker 1148*6a54128fSAndroid Build Coastguard Worker</Sect1> 1149*6a54128fSAndroid Build Coastguard Worker 1150*6a54128fSAndroid Build Coastguard Worker<Sect1> 1151*6a54128fSAndroid Build Coastguard Worker<Title>The superblock</Title> 1152*6a54128fSAndroid Build Coastguard Worker 1153*6a54128fSAndroid Build Coastguard Worker<Para> 1154*6a54128fSAndroid Build Coastguard WorkerThe superblock can always be reached by the ext2 general command 1155*6a54128fSAndroid Build Coastguard Worker<Command>super</Command>. Cross reference section <XRef LinkEnd="general-superblock">. 1156*6a54128fSAndroid Build Coastguard Worker</Para> 1157*6a54128fSAndroid Build Coastguard Worker 1158*6a54128fSAndroid Build Coastguard Worker<Para> 1159*6a54128fSAndroid Build Coastguard WorkerThe status window will show you which copy of the superblock copies you are 1160*6a54128fSAndroid Build Coastguard Workercurrently editing. 1161*6a54128fSAndroid Build Coastguard Worker</Para> 1162*6a54128fSAndroid Build Coastguard Worker 1163*6a54128fSAndroid Build Coastguard Worker<Para> 1164*6a54128fSAndroid Build Coastguard WorkerThe main data window will show you the values of the various superblock 1165*6a54128fSAndroid Build Coastguard Workervariables, along with some interpretation of the values. 1166*6a54128fSAndroid Build Coastguard Worker</Para> 1167*6a54128fSAndroid Build Coastguard Worker 1168*6a54128fSAndroid Build Coastguard Worker<Para> 1169*6a54128fSAndroid Build Coastguard WorkerData can be changed with the <Command>set</Command> and <Command>writedata</Command> commands. 1170*6a54128fSAndroid Build Coastguard Worker 1171*6a54128fSAndroid Build Coastguard Worker<Screen> 1172*6a54128fSAndroid Build Coastguard WorkerFor example, set s_r_blocks_count=1400 will reserve 1400 blocks for root. 1173*6a54128fSAndroid Build Coastguard Worker</Screen> 1174*6a54128fSAndroid Build Coastguard Worker 1175*6a54128fSAndroid Build Coastguard Worker</Para> 1176*6a54128fSAndroid Build Coastguard Worker 1177*6a54128fSAndroid Build Coastguard Worker<Sect2> 1178*6a54128fSAndroid Build Coastguard Worker<Title>gocopy</Title> 1179*6a54128fSAndroid Build Coastguard Worker 1180*6a54128fSAndroid Build Coastguard Worker<Para> 1181*6a54128fSAndroid Build Coastguard Worker 1182*6a54128fSAndroid Build Coastguard Worker<Screen> 1183*6a54128fSAndroid Build Coastguard WorkerSyntax: gocopy number 1184*6a54128fSAndroid Build Coastguard Worker</Screen> 1185*6a54128fSAndroid Build Coastguard Worker 1186*6a54128fSAndroid Build Coastguard WorkerThe <Command>gocopy</Command> command will "bring you" to the backup copy <Emphasis>number</Emphasis> 1187*6a54128fSAndroid Build Coastguard Workerof the superblock copies. <Command>gocopy 0</Command>, for example, will bring you to 1188*6a54128fSAndroid Build Coastguard Workerthe main copy. 1189*6a54128fSAndroid Build Coastguard Worker</Para> 1190*6a54128fSAndroid Build Coastguard Worker 1191*6a54128fSAndroid Build Coastguard Worker</Sect2> 1192*6a54128fSAndroid Build Coastguard Worker 1193*6a54128fSAndroid Build Coastguard Worker<Sect2> 1194*6a54128fSAndroid Build Coastguard Worker<Title>setactivecopy</Title> 1195*6a54128fSAndroid Build Coastguard Worker 1196*6a54128fSAndroid Build Coastguard Worker<Para> 1197*6a54128fSAndroid Build Coastguard Worker 1198*6a54128fSAndroid Build Coastguard Worker<Screen> 1199*6a54128fSAndroid Build Coastguard WorkerSyntax: setactivecopy 1200*6a54128fSAndroid Build Coastguard Worker</Screen> 1201*6a54128fSAndroid Build Coastguard Worker 1202*6a54128fSAndroid Build Coastguard WorkerThe <Command>setactivecopy</Command> command will copy the contents of the current 1203*6a54128fSAndroid Build Coastguard Workersuperblock copy onto the contents of the main copy. It will also switch to 1204*6a54128fSAndroid Build Coastguard Workerediting of the main copy. No actual data is written to disk, of-course, 1205*6a54128fSAndroid Build Coastguard Workeruntil you issue the <Command>writedata</Command> command. 1206*6a54128fSAndroid Build Coastguard Worker</Para> 1207*6a54128fSAndroid Build Coastguard Worker 1208*6a54128fSAndroid Build Coastguard Worker</Sect2> 1209*6a54128fSAndroid Build Coastguard Worker 1210*6a54128fSAndroid Build Coastguard Worker</Sect1> 1211*6a54128fSAndroid Build Coastguard Worker 1212*6a54128fSAndroid Build Coastguard Worker<Sect1> 1213*6a54128fSAndroid Build Coastguard Worker<Title>The group descriptors</Title> 1214*6a54128fSAndroid Build Coastguard Worker 1215*6a54128fSAndroid Build Coastguard Worker<Para> 1216*6a54128fSAndroid Build Coastguard WorkerThe group descriptors can be edited by the <Command>group</Command> command. 1217*6a54128fSAndroid Build Coastguard Worker</Para> 1218*6a54128fSAndroid Build Coastguard Worker 1219*6a54128fSAndroid Build Coastguard Worker<Para> 1220*6a54128fSAndroid Build Coastguard WorkerThe status window will indicate the current group descriptor, the total 1221*6a54128fSAndroid Build Coastguard Workernumber of group descriptors (and hence of group blocks), and the backup copy 1222*6a54128fSAndroid Build Coastguard Workernumber. 1223*6a54128fSAndroid Build Coastguard Worker</Para> 1224*6a54128fSAndroid Build Coastguard Worker 1225*6a54128fSAndroid Build Coastguard Worker<Para> 1226*6a54128fSAndroid Build Coastguard WorkerThe main data window will just show you the values of the various variables. 1227*6a54128fSAndroid Build Coastguard Worker</Para> 1228*6a54128fSAndroid Build Coastguard Worker 1229*6a54128fSAndroid Build Coastguard Worker<Para> 1230*6a54128fSAndroid Build Coastguard WorkerBasically, you can use the <Command>next</Command> and <Command>prev</Command> commands, along with the 1231*6a54128fSAndroid Build Coastguard Worker<Command>set</Command> command, to modify the group descriptors. 1232*6a54128fSAndroid Build Coastguard Worker</Para> 1233*6a54128fSAndroid Build Coastguard Worker 1234*6a54128fSAndroid Build Coastguard Worker<Para> 1235*6a54128fSAndroid Build Coastguard WorkerThe group descriptors object is a junction, from which you can reach: 1236*6a54128fSAndroid Build Coastguard Worker 1237*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 1238*6a54128fSAndroid Build Coastguard Worker<ListItem> 1239*6a54128fSAndroid Build Coastguard Worker 1240*6a54128fSAndroid Build Coastguard Worker<Para> 1241*6a54128fSAndroid Build Coastguard Worker The inode table of the corresponding block group (the <Literal remap="tt">inode</Literal> 1242*6a54128fSAndroid Build Coastguard Workercommand) 1243*6a54128fSAndroid Build Coastguard Worker</Para> 1244*6a54128fSAndroid Build Coastguard Worker</ListItem> 1245*6a54128fSAndroid Build Coastguard Worker<ListItem> 1246*6a54128fSAndroid Build Coastguard Worker 1247*6a54128fSAndroid Build Coastguard Worker<Para> 1248*6a54128fSAndroid Build Coastguard Worker The block allocation bitmap (the <Literal remap="tt">blockbitmap</Literal> command) 1249*6a54128fSAndroid Build Coastguard Worker</Para> 1250*6a54128fSAndroid Build Coastguard Worker</ListItem> 1251*6a54128fSAndroid Build Coastguard Worker<ListItem> 1252*6a54128fSAndroid Build Coastguard Worker 1253*6a54128fSAndroid Build Coastguard Worker<Para> 1254*6a54128fSAndroid Build Coastguard Worker The inode allocation bitmap (the <Literal remap="tt">inodebitmap</Literal> command) 1255*6a54128fSAndroid Build Coastguard Worker</Para> 1256*6a54128fSAndroid Build Coastguard Worker</ListItem> 1257*6a54128fSAndroid Build Coastguard Worker 1258*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 1259*6a54128fSAndroid Build Coastguard Worker 1260*6a54128fSAndroid Build Coastguard Worker</Para> 1261*6a54128fSAndroid Build Coastguard Worker 1262*6a54128fSAndroid Build Coastguard Worker<Sect2> 1263*6a54128fSAndroid Build Coastguard Worker<Title>blockbitmap</Title> 1264*6a54128fSAndroid Build Coastguard Worker 1265*6a54128fSAndroid Build Coastguard Worker<Para> 1266*6a54128fSAndroid Build Coastguard Worker 1267*6a54128fSAndroid Build Coastguard Worker<Screen> 1268*6a54128fSAndroid Build Coastguard WorkerSyntax: blockbitmap 1269*6a54128fSAndroid Build Coastguard Worker</Screen> 1270*6a54128fSAndroid Build Coastguard Worker 1271*6a54128fSAndroid Build Coastguard WorkerThe <Command>blockbitmap</Command> command will let you edit the block bitmap allocation 1272*6a54128fSAndroid Build Coastguard Workerblock of the current group block. 1273*6a54128fSAndroid Build Coastguard Worker</Para> 1274*6a54128fSAndroid Build Coastguard Worker 1275*6a54128fSAndroid Build Coastguard Worker</Sect2> 1276*6a54128fSAndroid Build Coastguard Worker 1277*6a54128fSAndroid Build Coastguard Worker<Sect2> 1278*6a54128fSAndroid Build Coastguard Worker<Title>entry</Title> 1279*6a54128fSAndroid Build Coastguard Worker 1280*6a54128fSAndroid Build Coastguard Worker<Para> 1281*6a54128fSAndroid Build Coastguard Worker 1282*6a54128fSAndroid Build Coastguard Worker<Screen> 1283*6a54128fSAndroid Build Coastguard WorkerSyntax: entry number 1284*6a54128fSAndroid Build Coastguard Worker</Screen> 1285*6a54128fSAndroid Build Coastguard Worker 1286*6a54128fSAndroid Build Coastguard WorkerThe <Command>entry</Command> command will move you to the <Emphasis>number</Emphasis> group descriptor in the 1287*6a54128fSAndroid Build Coastguard Workergroup descriptors table. 1288*6a54128fSAndroid Build Coastguard Worker</Para> 1289*6a54128fSAndroid Build Coastguard Worker 1290*6a54128fSAndroid Build Coastguard Worker</Sect2> 1291*6a54128fSAndroid Build Coastguard Worker 1292*6a54128fSAndroid Build Coastguard Worker<Sect2> 1293*6a54128fSAndroid Build Coastguard Worker<Title>inode</Title> 1294*6a54128fSAndroid Build Coastguard Worker 1295*6a54128fSAndroid Build Coastguard Worker<Para> 1296*6a54128fSAndroid Build Coastguard Worker 1297*6a54128fSAndroid Build Coastguard Worker<Screen> 1298*6a54128fSAndroid Build Coastguard WorkerSyntax: inode 1299*6a54128fSAndroid Build Coastguard Worker</Screen> 1300*6a54128fSAndroid Build Coastguard Worker 1301*6a54128fSAndroid Build Coastguard WorkerThe <Command>inode</Command> command will pass you to the first inode in the current 1302*6a54128fSAndroid Build Coastguard Workergroup block. 1303*6a54128fSAndroid Build Coastguard Worker</Para> 1304*6a54128fSAndroid Build Coastguard Worker 1305*6a54128fSAndroid Build Coastguard Worker</Sect2> 1306*6a54128fSAndroid Build Coastguard Worker 1307*6a54128fSAndroid Build Coastguard Worker<Sect2> 1308*6a54128fSAndroid Build Coastguard Worker<Title>inodebitmap</Title> 1309*6a54128fSAndroid Build Coastguard Worker 1310*6a54128fSAndroid Build Coastguard Worker<Para> 1311*6a54128fSAndroid Build Coastguard Worker 1312*6a54128fSAndroid Build Coastguard Worker<Screen> 1313*6a54128fSAndroid Build Coastguard WorkerSyntax: inodebitmap 1314*6a54128fSAndroid Build Coastguard Worker</Screen> 1315*6a54128fSAndroid Build Coastguard Worker 1316*6a54128fSAndroid Build Coastguard WorkerThe <Command>inodebitmap</Command> command will let you edit the inode bitmap allocation 1317*6a54128fSAndroid Build Coastguard Workerblock of the current group block. 1318*6a54128fSAndroid Build Coastguard Worker</Para> 1319*6a54128fSAndroid Build Coastguard Worker 1320*6a54128fSAndroid Build Coastguard Worker</Sect2> 1321*6a54128fSAndroid Build Coastguard Worker 1322*6a54128fSAndroid Build Coastguard Worker<Sect2> 1323*6a54128fSAndroid Build Coastguard Worker<Title>next</Title> 1324*6a54128fSAndroid Build Coastguard Worker 1325*6a54128fSAndroid Build Coastguard Worker<Para> 1326*6a54128fSAndroid Build Coastguard Worker 1327*6a54128fSAndroid Build Coastguard Worker<Screen> 1328*6a54128fSAndroid Build Coastguard WorkerSyntax: next [number] 1329*6a54128fSAndroid Build Coastguard Worker</Screen> 1330*6a54128fSAndroid Build Coastguard Worker 1331*6a54128fSAndroid Build Coastguard WorkerThe <Command>next</Command> command will pass to the next <Emphasis>number</Emphasis> group 1332*6a54128fSAndroid Build Coastguard Workerdescriptor. If <Emphasis>number</Emphasis> is omitted, <Emphasis>number=1</Emphasis> is assumed. 1333*6a54128fSAndroid Build Coastguard Worker</Para> 1334*6a54128fSAndroid Build Coastguard Worker 1335*6a54128fSAndroid Build Coastguard Worker</Sect2> 1336*6a54128fSAndroid Build Coastguard Worker 1337*6a54128fSAndroid Build Coastguard Worker<Sect2> 1338*6a54128fSAndroid Build Coastguard Worker<Title>prev</Title> 1339*6a54128fSAndroid Build Coastguard Worker 1340*6a54128fSAndroid Build Coastguard Worker<Para> 1341*6a54128fSAndroid Build Coastguard Worker 1342*6a54128fSAndroid Build Coastguard Worker<Screen> 1343*6a54128fSAndroid Build Coastguard WorkerSyntax: prev [number] 1344*6a54128fSAndroid Build Coastguard Worker</Screen> 1345*6a54128fSAndroid Build Coastguard Worker 1346*6a54128fSAndroid Build Coastguard WorkerThe <Command>prev</Command> command will pass to the previous <Emphasis>number</Emphasis> group 1347*6a54128fSAndroid Build Coastguard Workerdescriptor. If <Emphasis>number</Emphasis> is omitted, <Emphasis>number=1</Emphasis> is assumed. 1348*6a54128fSAndroid Build Coastguard Worker</Para> 1349*6a54128fSAndroid Build Coastguard Worker 1350*6a54128fSAndroid Build Coastguard Worker</Sect2> 1351*6a54128fSAndroid Build Coastguard Worker 1352*6a54128fSAndroid Build Coastguard Worker<Sect2> 1353*6a54128fSAndroid Build Coastguard Worker<Title>setactivecopy</Title> 1354*6a54128fSAndroid Build Coastguard Worker 1355*6a54128fSAndroid Build Coastguard Worker<Para> 1356*6a54128fSAndroid Build Coastguard Worker 1357*6a54128fSAndroid Build Coastguard Worker<Screen> 1358*6a54128fSAndroid Build Coastguard WorkerSyntax: setactivecopy 1359*6a54128fSAndroid Build Coastguard Worker</Screen> 1360*6a54128fSAndroid Build Coastguard Worker 1361*6a54128fSAndroid Build Coastguard WorkerThe <Command>setactivecopy</Command> command copies the contents of the current group 1362*6a54128fSAndroid Build Coastguard Workerdescriptor, to its main copy. The updated main copy will then be shown. No 1363*6a54128fSAndroid Build Coastguard Workeractual change is made to the disk until you issue the <Command>writedata</Command> 1364*6a54128fSAndroid Build Coastguard Workercommand. 1365*6a54128fSAndroid Build Coastguard Worker</Para> 1366*6a54128fSAndroid Build Coastguard Worker 1367*6a54128fSAndroid Build Coastguard Worker</Sect2> 1368*6a54128fSAndroid Build Coastguard Worker 1369*6a54128fSAndroid Build Coastguard Worker</Sect1> 1370*6a54128fSAndroid Build Coastguard Worker 1371*6a54128fSAndroid Build Coastguard Worker<Sect1> 1372*6a54128fSAndroid Build Coastguard Worker<Title>The inode</Title> 1373*6a54128fSAndroid Build Coastguard Worker 1374*6a54128fSAndroid Build Coastguard Worker<Para> 1375*6a54128fSAndroid Build Coastguard WorkerAn inode can be reached by the following two ways: 1376*6a54128fSAndroid Build Coastguard Worker 1377*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 1378*6a54128fSAndroid Build Coastguard Worker<ListItem> 1379*6a54128fSAndroid Build Coastguard Worker 1380*6a54128fSAndroid Build Coastguard Worker<Para> 1381*6a54128fSAndroid Build Coastguard Worker Using <Command>inode</Command> from the corresponding group descriptor. 1382*6a54128fSAndroid Build Coastguard Worker</Para> 1383*6a54128fSAndroid Build Coastguard Worker</ListItem> 1384*6a54128fSAndroid Build Coastguard Worker<ListItem> 1385*6a54128fSAndroid Build Coastguard Worker 1386*6a54128fSAndroid Build Coastguard Worker<Para> 1387*6a54128fSAndroid Build Coastguard Worker Using <Command>followinode</Command> from a directory entry. 1388*6a54128fSAndroid Build Coastguard Worker</Para> 1389*6a54128fSAndroid Build Coastguard Worker</ListItem> 1390*6a54128fSAndroid Build Coastguard Worker<ListItem> 1391*6a54128fSAndroid Build Coastguard Worker 1392*6a54128fSAndroid Build Coastguard Worker<Para> 1393*6a54128fSAndroid Build Coastguard Worker Using the <Command>cd</Command> command with the pathname to the file. 1394*6a54128fSAndroid Build Coastguard Worker 1395*6a54128fSAndroid Build Coastguard WorkerFor example, <Command>cd /usr/src/ext2ed/ext2ed.h</Command> 1396*6a54128fSAndroid Build Coastguard Worker</Para> 1397*6a54128fSAndroid Build Coastguard Worker</ListItem> 1398*6a54128fSAndroid Build Coastguard Worker 1399*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 1400*6a54128fSAndroid Build Coastguard Worker 1401*6a54128fSAndroid Build Coastguard Worker</Para> 1402*6a54128fSAndroid Build Coastguard Worker 1403*6a54128fSAndroid Build Coastguard Worker<Para> 1404*6a54128fSAndroid Build Coastguard WorkerThe status window will indicate: 1405*6a54128fSAndroid Build Coastguard Worker 1406*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 1407*6a54128fSAndroid Build Coastguard Worker<ListItem> 1408*6a54128fSAndroid Build Coastguard Worker 1409*6a54128fSAndroid Build Coastguard Worker<Para> 1410*6a54128fSAndroid Build Coastguard Worker The current global inode number. 1411*6a54128fSAndroid Build Coastguard Worker</Para> 1412*6a54128fSAndroid Build Coastguard Worker</ListItem> 1413*6a54128fSAndroid Build Coastguard Worker<ListItem> 1414*6a54128fSAndroid Build Coastguard Worker 1415*6a54128fSAndroid Build Coastguard Worker<Para> 1416*6a54128fSAndroid Build Coastguard Worker The total total number of inodes. 1417*6a54128fSAndroid Build Coastguard Worker</Para> 1418*6a54128fSAndroid Build Coastguard Worker</ListItem> 1419*6a54128fSAndroid Build Coastguard Worker<ListItem> 1420*6a54128fSAndroid Build Coastguard Worker 1421*6a54128fSAndroid Build Coastguard Worker<Para> 1422*6a54128fSAndroid Build Coastguard Worker On which block group the inode is allocated. 1423*6a54128fSAndroid Build Coastguard Worker</Para> 1424*6a54128fSAndroid Build Coastguard Worker</ListItem> 1425*6a54128fSAndroid Build Coastguard Worker<ListItem> 1426*6a54128fSAndroid Build Coastguard Worker 1427*6a54128fSAndroid Build Coastguard Worker<Para> 1428*6a54128fSAndroid Build Coastguard Worker The total number of inodes in this group block. 1429*6a54128fSAndroid Build Coastguard Worker</Para> 1430*6a54128fSAndroid Build Coastguard Worker</ListItem> 1431*6a54128fSAndroid Build Coastguard Worker<ListItem> 1432*6a54128fSAndroid Build Coastguard Worker 1433*6a54128fSAndroid Build Coastguard Worker<Para> 1434*6a54128fSAndroid Build Coastguard Worker The index of the current inode in the current group block. 1435*6a54128fSAndroid Build Coastguard Worker</Para> 1436*6a54128fSAndroid Build Coastguard Worker</ListItem> 1437*6a54128fSAndroid Build Coastguard Worker<ListItem> 1438*6a54128fSAndroid Build Coastguard Worker 1439*6a54128fSAndroid Build Coastguard Worker<Para> 1440*6a54128fSAndroid Build Coastguard Worker The type of the inode (file, directory, special, etc). 1441*6a54128fSAndroid Build Coastguard Worker</Para> 1442*6a54128fSAndroid Build Coastguard Worker</ListItem> 1443*6a54128fSAndroid Build Coastguard Worker 1444*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 1445*6a54128fSAndroid Build Coastguard Worker 1446*6a54128fSAndroid Build Coastguard Worker</Para> 1447*6a54128fSAndroid Build Coastguard Worker 1448*6a54128fSAndroid Build Coastguard Worker<Para> 1449*6a54128fSAndroid Build Coastguard WorkerThe main data window, in addition to the list of variables, will contain 1450*6a54128fSAndroid Build Coastguard Workersome interpretations on the right side. 1451*6a54128fSAndroid Build Coastguard Worker</Para> 1452*6a54128fSAndroid Build Coastguard Worker 1453*6a54128fSAndroid Build Coastguard Worker<Para> 1454*6a54128fSAndroid Build Coastguard WorkerIf the inode corresponds to a file, you can use the <Command>file</Command> command to 1455*6a54128fSAndroid Build Coastguard Workeredit the file. 1456*6a54128fSAndroid Build Coastguard Worker</Para> 1457*6a54128fSAndroid Build Coastguard Worker 1458*6a54128fSAndroid Build Coastguard Worker<Para> 1459*6a54128fSAndroid Build Coastguard WorkerIf the inode is an inode of a directory, you can use the <Command>dir</Command> command 1460*6a54128fSAndroid Build Coastguard Workerto edit the directory. 1461*6a54128fSAndroid Build Coastguard Worker</Para> 1462*6a54128fSAndroid Build Coastguard Worker 1463*6a54128fSAndroid Build Coastguard Worker<Sect2> 1464*6a54128fSAndroid Build Coastguard Worker<Title>dir</Title> 1465*6a54128fSAndroid Build Coastguard Worker 1466*6a54128fSAndroid Build Coastguard Worker<Para> 1467*6a54128fSAndroid Build Coastguard Worker 1468*6a54128fSAndroid Build Coastguard Worker<Screen> 1469*6a54128fSAndroid Build Coastguard WorkerSyntax: dir 1470*6a54128fSAndroid Build Coastguard Worker</Screen> 1471*6a54128fSAndroid Build Coastguard Worker 1472*6a54128fSAndroid Build Coastguard WorkerIf the inode mode corresponds to a directory (shown on the status window), 1473*6a54128fSAndroid Build Coastguard Workeryou can enter directory mode editing by using <Literal remap="tt">dir</Literal>. 1474*6a54128fSAndroid Build Coastguard Worker</Para> 1475*6a54128fSAndroid Build Coastguard Worker 1476*6a54128fSAndroid Build Coastguard Worker</Sect2> 1477*6a54128fSAndroid Build Coastguard Worker 1478*6a54128fSAndroid Build Coastguard Worker<Sect2> 1479*6a54128fSAndroid Build Coastguard Worker<Title>entry</Title> 1480*6a54128fSAndroid Build Coastguard Worker 1481*6a54128fSAndroid Build Coastguard Worker<Para> 1482*6a54128fSAndroid Build Coastguard Worker 1483*6a54128fSAndroid Build Coastguard Worker<Screen> 1484*6a54128fSAndroid Build Coastguard WorkerSyntax: entry number 1485*6a54128fSAndroid Build Coastguard Worker</Screen> 1486*6a54128fSAndroid Build Coastguard Worker 1487*6a54128fSAndroid Build Coastguard WorkerThe <Command>entry</Command> command will move you to the <Emphasis>number</Emphasis> inode in the 1488*6a54128fSAndroid Build Coastguard Workercurrent inode table. 1489*6a54128fSAndroid Build Coastguard Worker</Para> 1490*6a54128fSAndroid Build Coastguard Worker 1491*6a54128fSAndroid Build Coastguard Worker</Sect2> 1492*6a54128fSAndroid Build Coastguard Worker 1493*6a54128fSAndroid Build Coastguard Worker<Sect2> 1494*6a54128fSAndroid Build Coastguard Worker<Title>file</Title> 1495*6a54128fSAndroid Build Coastguard Worker 1496*6a54128fSAndroid Build Coastguard Worker<Para> 1497*6a54128fSAndroid Build Coastguard Worker 1498*6a54128fSAndroid Build Coastguard Worker<Screen> 1499*6a54128fSAndroid Build Coastguard WorkerSyntax: file 1500*6a54128fSAndroid Build Coastguard Worker</Screen> 1501*6a54128fSAndroid Build Coastguard Worker 1502*6a54128fSAndroid Build Coastguard WorkerIf the inode mode corresponds to a file (shown on the status window), 1503*6a54128fSAndroid Build Coastguard Workeryou can enter file mode editing by using <Command>file</Command>. 1504*6a54128fSAndroid Build Coastguard Worker</Para> 1505*6a54128fSAndroid Build Coastguard Worker 1506*6a54128fSAndroid Build Coastguard Worker</Sect2> 1507*6a54128fSAndroid Build Coastguard Worker 1508*6a54128fSAndroid Build Coastguard Worker<Sect2> 1509*6a54128fSAndroid Build Coastguard Worker<Title>group</Title> 1510*6a54128fSAndroid Build Coastguard Worker 1511*6a54128fSAndroid Build Coastguard Worker<Para> 1512*6a54128fSAndroid Build Coastguard Worker 1513*6a54128fSAndroid Build Coastguard Worker<Screen> 1514*6a54128fSAndroid Build Coastguard WorkerSyntax: group 1515*6a54128fSAndroid Build Coastguard Worker</Screen> 1516*6a54128fSAndroid Build Coastguard Worker 1517*6a54128fSAndroid Build Coastguard WorkerThe <Command>group</Command> command is used to go to the group descriptor of the 1518*6a54128fSAndroid Build Coastguard Workercurrent group block. 1519*6a54128fSAndroid Build Coastguard Worker</Para> 1520*6a54128fSAndroid Build Coastguard Worker 1521*6a54128fSAndroid Build Coastguard Worker</Sect2> 1522*6a54128fSAndroid Build Coastguard Worker 1523*6a54128fSAndroid Build Coastguard Worker<Sect2> 1524*6a54128fSAndroid Build Coastguard Worker<Title>next</Title> 1525*6a54128fSAndroid Build Coastguard Worker 1526*6a54128fSAndroid Build Coastguard Worker<Para> 1527*6a54128fSAndroid Build Coastguard Worker 1528*6a54128fSAndroid Build Coastguard Worker<Screen> 1529*6a54128fSAndroid Build Coastguard WorkerSyntax: next [number] 1530*6a54128fSAndroid Build Coastguard Worker</Screen> 1531*6a54128fSAndroid Build Coastguard Worker 1532*6a54128fSAndroid Build Coastguard WorkerThe <Command>next</Command> command will pass to the next <Emphasis>number</Emphasis> inode. 1533*6a54128fSAndroid Build Coastguard WorkerIf <Emphasis>number</Emphasis> is omitted, <Emphasis>number=1</Emphasis> is assumed. 1534*6a54128fSAndroid Build Coastguard Worker</Para> 1535*6a54128fSAndroid Build Coastguard Worker 1536*6a54128fSAndroid Build Coastguard Worker</Sect2> 1537*6a54128fSAndroid Build Coastguard Worker 1538*6a54128fSAndroid Build Coastguard Worker<Sect2> 1539*6a54128fSAndroid Build Coastguard Worker<Title>prev</Title> 1540*6a54128fSAndroid Build Coastguard Worker 1541*6a54128fSAndroid Build Coastguard Worker<Para> 1542*6a54128fSAndroid Build Coastguard Worker 1543*6a54128fSAndroid Build Coastguard Worker<Screen> 1544*6a54128fSAndroid Build Coastguard WorkerSyntax: prev [number] 1545*6a54128fSAndroid Build Coastguard Worker</Screen> 1546*6a54128fSAndroid Build Coastguard Worker 1547*6a54128fSAndroid Build Coastguard WorkerThe <Command>prev</Command> command will pass to the previous <Emphasis>number</Emphasis> inode. 1548*6a54128fSAndroid Build Coastguard WorkerIf <Emphasis>number</Emphasis> is omitted, <Emphasis>number=1</Emphasis> is assumed. 1549*6a54128fSAndroid Build Coastguard Worker</Para> 1550*6a54128fSAndroid Build Coastguard Worker 1551*6a54128fSAndroid Build Coastguard Worker</Sect2> 1552*6a54128fSAndroid Build Coastguard Worker 1553*6a54128fSAndroid Build Coastguard Worker</Sect1> 1554*6a54128fSAndroid Build Coastguard Worker 1555*6a54128fSAndroid Build Coastguard Worker<Sect1> 1556*6a54128fSAndroid Build Coastguard Worker<Title>The file</Title> 1557*6a54128fSAndroid Build Coastguard Worker 1558*6a54128fSAndroid Build Coastguard Worker<Para> 1559*6a54128fSAndroid Build Coastguard WorkerWhen editing a file, EXT2ED offers you a both a continuous and a true 1560*6a54128fSAndroid Build Coastguard Workerfragmented view of the file - The file is still shown block by block with 1561*6a54128fSAndroid Build Coastguard Workerthe true block number at each stage and EXT2ED offers you commands which 1562*6a54128fSAndroid Build Coastguard Workerallow you to move between the <Literal remap="tt">file blocks</Literal>, while finding the 1563*6a54128fSAndroid Build Coastguard Workerallocated blocks by using the inode information behind the scenes. 1564*6a54128fSAndroid Build Coastguard Worker</Para> 1565*6a54128fSAndroid Build Coastguard Worker 1566*6a54128fSAndroid Build Coastguard Worker<Para> 1567*6a54128fSAndroid Build Coastguard WorkerAside from this, the editing is just a <Literal remap="tt">hex editing</Literal> - You move the 1568*6a54128fSAndroid Build Coastguard Workercursor in the current block of the file by using <Command>next</Command> and 1569*6a54128fSAndroid Build Coastguard Worker<Command>prev</Command>, move between blocks by <Command>nextblock</Command> and <Command>prevblock</Command>, 1570*6a54128fSAndroid Build Coastguard Workerand make changes by the <Command>set</Command> command. Note that the set command is 1571*6a54128fSAndroid Build Coastguard Workeroverridden here - There are no variables. The <Command>writedata</Command> command will 1572*6a54128fSAndroid Build Coastguard Workerupdate the current block to the disk. 1573*6a54128fSAndroid Build Coastguard Worker</Para> 1574*6a54128fSAndroid Build Coastguard Worker 1575*6a54128fSAndroid Build Coastguard Worker<Para> 1576*6a54128fSAndroid Build Coastguard WorkerReaching a file can be done by using the <Command>file</Command> command from its inode. 1577*6a54128fSAndroid Build Coastguard WorkerThe inode can be reached by any other means, for example, by the 1578*6a54128fSAndroid Build Coastguard Worker<Command>cd</Command> command, if you know the file name. 1579*6a54128fSAndroid Build Coastguard Worker</Para> 1580*6a54128fSAndroid Build Coastguard Worker 1581*6a54128fSAndroid Build Coastguard Worker<Para> 1582*6a54128fSAndroid Build Coastguard WorkerThe status window will indicate: 1583*6a54128fSAndroid Build Coastguard Worker 1584*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 1585*6a54128fSAndroid Build Coastguard Worker<ListItem> 1586*6a54128fSAndroid Build Coastguard Worker 1587*6a54128fSAndroid Build Coastguard Worker<Para> 1588*6a54128fSAndroid Build Coastguard Worker The global block number. 1589*6a54128fSAndroid Build Coastguard Worker</Para> 1590*6a54128fSAndroid Build Coastguard Worker</ListItem> 1591*6a54128fSAndroid Build Coastguard Worker<ListItem> 1592*6a54128fSAndroid Build Coastguard Worker 1593*6a54128fSAndroid Build Coastguard Worker<Para> 1594*6a54128fSAndroid Build Coastguard Worker The internal file block number. 1595*6a54128fSAndroid Build Coastguard Worker</Para> 1596*6a54128fSAndroid Build Coastguard Worker</ListItem> 1597*6a54128fSAndroid Build Coastguard Worker<ListItem> 1598*6a54128fSAndroid Build Coastguard Worker 1599*6a54128fSAndroid Build Coastguard Worker<Para> 1600*6a54128fSAndroid Build Coastguard Worker The file offset. 1601*6a54128fSAndroid Build Coastguard Worker</Para> 1602*6a54128fSAndroid Build Coastguard Worker</ListItem> 1603*6a54128fSAndroid Build Coastguard Worker<ListItem> 1604*6a54128fSAndroid Build Coastguard Worker 1605*6a54128fSAndroid Build Coastguard Worker<Para> 1606*6a54128fSAndroid Build Coastguard Worker The file size. 1607*6a54128fSAndroid Build Coastguard Worker</Para> 1608*6a54128fSAndroid Build Coastguard Worker</ListItem> 1609*6a54128fSAndroid Build Coastguard Worker<ListItem> 1610*6a54128fSAndroid Build Coastguard Worker 1611*6a54128fSAndroid Build Coastguard Worker<Para> 1612*6a54128fSAndroid Build Coastguard Worker The file inode number. 1613*6a54128fSAndroid Build Coastguard Worker</Para> 1614*6a54128fSAndroid Build Coastguard Worker</ListItem> 1615*6a54128fSAndroid Build Coastguard Worker<ListItem> 1616*6a54128fSAndroid Build Coastguard Worker 1617*6a54128fSAndroid Build Coastguard Worker<Para> 1618*6a54128fSAndroid Build Coastguard Worker The indirection level - Whether it is a direct block (0), indirect 1619*6a54128fSAndroid Build Coastguard Worker(1), etc. 1620*6a54128fSAndroid Build Coastguard Worker</Para> 1621*6a54128fSAndroid Build Coastguard Worker</ListItem> 1622*6a54128fSAndroid Build Coastguard Worker 1623*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 1624*6a54128fSAndroid Build Coastguard Worker 1625*6a54128fSAndroid Build Coastguard Worker</Para> 1626*6a54128fSAndroid Build Coastguard Worker 1627*6a54128fSAndroid Build Coastguard Worker<Para> 1628*6a54128fSAndroid Build Coastguard WorkerThe main data window will display the file either in hex mode or in text 1629*6a54128fSAndroid Build Coastguard Workermode, select-able by the <Command>display</Command> command. 1630*6a54128fSAndroid Build Coastguard Worker</Para> 1631*6a54128fSAndroid Build Coastguard Worker 1632*6a54128fSAndroid Build Coastguard Worker<Para> 1633*6a54128fSAndroid Build Coastguard WorkerIn hex mode, EXT2ED will display offsets in the current block, along with a 1634*6a54128fSAndroid Build Coastguard Workertext and hex dump of the current block. 1635*6a54128fSAndroid Build Coastguard Worker</Para> 1636*6a54128fSAndroid Build Coastguard Worker 1637*6a54128fSAndroid Build Coastguard Worker<Para> 1638*6a54128fSAndroid Build Coastguard WorkerIn either case the <Literal remap="tt">current place</Literal> will be highlighted. In the hex mode 1639*6a54128fSAndroid Build Coastguard Workerit will be always highlighted, while in the text mode it will be highlighted 1640*6a54128fSAndroid Build Coastguard Workerif the character is display-able. 1641*6a54128fSAndroid Build Coastguard Worker</Para> 1642*6a54128fSAndroid Build Coastguard Worker 1643*6a54128fSAndroid Build Coastguard Worker<Sect2> 1644*6a54128fSAndroid Build Coastguard Worker<Title>block</Title> 1645*6a54128fSAndroid Build Coastguard Worker 1646*6a54128fSAndroid Build Coastguard Worker<Para> 1647*6a54128fSAndroid Build Coastguard Worker 1648*6a54128fSAndroid Build Coastguard Worker<Screen> 1649*6a54128fSAndroid Build Coastguard WorkerSyntax: block block_num 1650*6a54128fSAndroid Build Coastguard Worker</Screen> 1651*6a54128fSAndroid Build Coastguard Worker 1652*6a54128fSAndroid Build Coastguard WorkerThe <Command>block</Command> command is used to move inside the file. The 1653*6a54128fSAndroid Build Coastguard Worker<Emphasis>block_num</Emphasis> argument is the requested internal file block number. A 1654*6a54128fSAndroid Build Coastguard Workervalue of 0 will reach the beginning of the file. 1655*6a54128fSAndroid Build Coastguard Worker</Para> 1656*6a54128fSAndroid Build Coastguard Worker 1657*6a54128fSAndroid Build Coastguard Worker</Sect2> 1658*6a54128fSAndroid Build Coastguard Worker 1659*6a54128fSAndroid Build Coastguard Worker<Sect2> 1660*6a54128fSAndroid Build Coastguard Worker<Title>display</Title> 1661*6a54128fSAndroid Build Coastguard Worker 1662*6a54128fSAndroid Build Coastguard Worker<Para> 1663*6a54128fSAndroid Build Coastguard Worker 1664*6a54128fSAndroid Build Coastguard Worker<Screen> 1665*6a54128fSAndroid Build Coastguard WorkerSyntax: display [text || hex] 1666*6a54128fSAndroid Build Coastguard Worker</Screen> 1667*6a54128fSAndroid Build Coastguard Worker 1668*6a54128fSAndroid Build Coastguard WorkerThe <Command>display</Command> command changes the display mode of the file. 1669*6a54128fSAndroid Build Coastguard Worker<Command>display 1670*6a54128fSAndroid Build Coastguard Workerhex</Command> will switch to <Command>hex mode</Command>, while <Command>display text</Command> will switch 1671*6a54128fSAndroid Build Coastguard Workerto text mode. The default mode when no <Command>display</Command> command is issued is 1672*6a54128fSAndroid Build Coastguard Worker<Command>hex mode</Command>. 1673*6a54128fSAndroid Build Coastguard Worker</Para> 1674*6a54128fSAndroid Build Coastguard Worker 1675*6a54128fSAndroid Build Coastguard Worker</Sect2> 1676*6a54128fSAndroid Build Coastguard Worker 1677*6a54128fSAndroid Build Coastguard Worker<Sect2> 1678*6a54128fSAndroid Build Coastguard Worker<Title>inode</Title> 1679*6a54128fSAndroid Build Coastguard Worker 1680*6a54128fSAndroid Build Coastguard Worker<Para> 1681*6a54128fSAndroid Build Coastguard Worker 1682*6a54128fSAndroid Build Coastguard Worker<Screen> 1683*6a54128fSAndroid Build Coastguard WorkerSyntax: inode 1684*6a54128fSAndroid Build Coastguard Worker</Screen> 1685*6a54128fSAndroid Build Coastguard Worker 1686*6a54128fSAndroid Build Coastguard WorkerThe <Command>inode</Command> command will return to the inode of the current file. 1687*6a54128fSAndroid Build Coastguard Worker</Para> 1688*6a54128fSAndroid Build Coastguard Worker 1689*6a54128fSAndroid Build Coastguard Worker</Sect2> 1690*6a54128fSAndroid Build Coastguard Worker 1691*6a54128fSAndroid Build Coastguard Worker<Sect2> 1692*6a54128fSAndroid Build Coastguard Worker<Title>next</Title> 1693*6a54128fSAndroid Build Coastguard Worker 1694*6a54128fSAndroid Build Coastguard Worker<Para> 1695*6a54128fSAndroid Build Coastguard Worker 1696*6a54128fSAndroid Build Coastguard Worker<Screen> 1697*6a54128fSAndroid Build Coastguard WorkerSyntax: next [num] 1698*6a54128fSAndroid Build Coastguard Worker</Screen> 1699*6a54128fSAndroid Build Coastguard Worker 1700*6a54128fSAndroid Build Coastguard WorkerThe <Command>next</Command> command will pass to the next byte in the file. If 1701*6a54128fSAndroid Build Coastguard Worker<Emphasis>num</Emphasis> is supplied, it will pass to the next <Emphasis>num</Emphasis> bytes. 1702*6a54128fSAndroid Build Coastguard Worker</Para> 1703*6a54128fSAndroid Build Coastguard Worker 1704*6a54128fSAndroid Build Coastguard Worker</Sect2> 1705*6a54128fSAndroid Build Coastguard Worker 1706*6a54128fSAndroid Build Coastguard Worker<Sect2> 1707*6a54128fSAndroid Build Coastguard Worker<Title>nextblock</Title> 1708*6a54128fSAndroid Build Coastguard Worker 1709*6a54128fSAndroid Build Coastguard Worker<Para> 1710*6a54128fSAndroid Build Coastguard Worker 1711*6a54128fSAndroid Build Coastguard Worker<Screen> 1712*6a54128fSAndroid Build Coastguard WorkerSyntax: nextblock [num] 1713*6a54128fSAndroid Build Coastguard Worker</Screen> 1714*6a54128fSAndroid Build Coastguard Worker 1715*6a54128fSAndroid Build Coastguard WorkerThe <Command>nextblock</Command> command will pass to the next block in the file. If 1716*6a54128fSAndroid Build Coastguard Worker<Emphasis>num</Emphasis> is supplied, it will pass to the next <Emphasis>num</Emphasis> blocks. 1717*6a54128fSAndroid Build Coastguard Worker</Para> 1718*6a54128fSAndroid Build Coastguard Worker 1719*6a54128fSAndroid Build Coastguard Worker</Sect2> 1720*6a54128fSAndroid Build Coastguard Worker 1721*6a54128fSAndroid Build Coastguard Worker<Sect2> 1722*6a54128fSAndroid Build Coastguard Worker<Title>prev</Title> 1723*6a54128fSAndroid Build Coastguard Worker 1724*6a54128fSAndroid Build Coastguard Worker<Para> 1725*6a54128fSAndroid Build Coastguard Worker 1726*6a54128fSAndroid Build Coastguard Worker<Screen> 1727*6a54128fSAndroid Build Coastguard WorkerSyntax: prev [num] 1728*6a54128fSAndroid Build Coastguard Worker</Screen> 1729*6a54128fSAndroid Build Coastguard Worker 1730*6a54128fSAndroid Build Coastguard WorkerThe <Command>prev</Command> command will pass to the previous byte in the file. If 1731*6a54128fSAndroid Build Coastguard Worker<Emphasis>num</Emphasis> is supplied, it will pass to the previous <Emphasis>num</Emphasis> bytes. 1732*6a54128fSAndroid Build Coastguard Worker</Para> 1733*6a54128fSAndroid Build Coastguard Worker 1734*6a54128fSAndroid Build Coastguard Worker</Sect2> 1735*6a54128fSAndroid Build Coastguard Worker 1736*6a54128fSAndroid Build Coastguard Worker<Sect2> 1737*6a54128fSAndroid Build Coastguard Worker<Title>prevblock</Title> 1738*6a54128fSAndroid Build Coastguard Worker 1739*6a54128fSAndroid Build Coastguard Worker<Para> 1740*6a54128fSAndroid Build Coastguard Worker 1741*6a54128fSAndroid Build Coastguard Worker<Screen> 1742*6a54128fSAndroid Build Coastguard WorkerSyntax: prevblock [num] 1743*6a54128fSAndroid Build Coastguard Worker</Screen> 1744*6a54128fSAndroid Build Coastguard Worker 1745*6a54128fSAndroid Build Coastguard WorkerThe <Command>nextblock</Command> command will pass to the previous block in the file. If 1746*6a54128fSAndroid Build Coastguard Worker<Emphasis>num</Emphasis> is supplied, it will pass to the previous <Emphasis>num</Emphasis> blocks. 1747*6a54128fSAndroid Build Coastguard Worker</Para> 1748*6a54128fSAndroid Build Coastguard Worker 1749*6a54128fSAndroid Build Coastguard Worker</Sect2> 1750*6a54128fSAndroid Build Coastguard Worker 1751*6a54128fSAndroid Build Coastguard Worker<Sect2> 1752*6a54128fSAndroid Build Coastguard Worker<Title>offset</Title> 1753*6a54128fSAndroid Build Coastguard Worker 1754*6a54128fSAndroid Build Coastguard Worker<Para> 1755*6a54128fSAndroid Build Coastguard Worker 1756*6a54128fSAndroid Build Coastguard Worker<Screen> 1757*6a54128fSAndroid Build Coastguard WorkerSyntax: offset file_offset 1758*6a54128fSAndroid Build Coastguard Worker</Screen> 1759*6a54128fSAndroid Build Coastguard Worker 1760*6a54128fSAndroid Build Coastguard WorkerThe <Command>offset</Command> command will move to the specified offset in the file. 1761*6a54128fSAndroid Build Coastguard Worker</Para> 1762*6a54128fSAndroid Build Coastguard Worker 1763*6a54128fSAndroid Build Coastguard Worker</Sect2> 1764*6a54128fSAndroid Build Coastguard Worker 1765*6a54128fSAndroid Build Coastguard Worker<Sect2> 1766*6a54128fSAndroid Build Coastguard Worker<Title>set</Title> 1767*6a54128fSAndroid Build Coastguard Worker 1768*6a54128fSAndroid Build Coastguard Worker<Para> 1769*6a54128fSAndroid Build Coastguard Worker 1770*6a54128fSAndroid Build Coastguard Worker<Screen> 1771*6a54128fSAndroid Build Coastguard WorkerSyntax: set [text || hex] arg1 [arg2 arg3 ...] 1772*6a54128fSAndroid Build Coastguard Worker</Screen> 1773*6a54128fSAndroid Build Coastguard Worker 1774*6a54128fSAndroid Build Coastguard WorkerThe <Command>file set</Command> command is working like the <Literal remap="tt">general set command</Literal>, 1775*6a54128fSAndroid Build Coastguard Workerwith <Literal remap="tt">type=none</Literal>. There are no variables. 1776*6a54128fSAndroid Build Coastguard Worker</Para> 1777*6a54128fSAndroid Build Coastguard Worker 1778*6a54128fSAndroid Build Coastguard Worker</Sect2> 1779*6a54128fSAndroid Build Coastguard Worker 1780*6a54128fSAndroid Build Coastguard Worker<Sect2> 1781*6a54128fSAndroid Build Coastguard Worker<Title>writedata</Title> 1782*6a54128fSAndroid Build Coastguard Worker 1783*6a54128fSAndroid Build Coastguard Worker<Para> 1784*6a54128fSAndroid Build Coastguard Worker 1785*6a54128fSAndroid Build Coastguard Worker<Screen> 1786*6a54128fSAndroid Build Coastguard WorkerSyntax: writedata 1787*6a54128fSAndroid Build Coastguard Worker</Screen> 1788*6a54128fSAndroid Build Coastguard Worker 1789*6a54128fSAndroid Build Coastguard WorkerThe <Command>writedata</Command> command will update the current file block in the disk. 1790*6a54128fSAndroid Build Coastguard Worker</Para> 1791*6a54128fSAndroid Build Coastguard Worker 1792*6a54128fSAndroid Build Coastguard Worker</Sect2> 1793*6a54128fSAndroid Build Coastguard Worker 1794*6a54128fSAndroid Build Coastguard Worker</Sect1> 1795*6a54128fSAndroid Build Coastguard Worker 1796*6a54128fSAndroid Build Coastguard Worker<Sect1> 1797*6a54128fSAndroid Build Coastguard Worker<Title>The directory</Title> 1798*6a54128fSAndroid Build Coastguard Worker 1799*6a54128fSAndroid Build Coastguard Worker<Para> 1800*6a54128fSAndroid Build Coastguard WorkerWhen editing a file, EXT2ED analyzes for you both the allocation blocks of 1801*6a54128fSAndroid Build Coastguard Workerthe directory entries, and the directory entries. 1802*6a54128fSAndroid Build Coastguard Worker</Para> 1803*6a54128fSAndroid Build Coastguard Worker 1804*6a54128fSAndroid Build Coastguard Worker<Para> 1805*6a54128fSAndroid Build Coastguard WorkerEach directory entry is displayed on one row. You can move the highlighted 1806*6a54128fSAndroid Build Coastguard Workerentry with the usual <Command>next</Command> and <Command>prev</Command> commands, and "dive in" 1807*6a54128fSAndroid Build Coastguard Workerwith the <Command>followinode</Command> command. 1808*6a54128fSAndroid Build Coastguard Worker</Para> 1809*6a54128fSAndroid Build Coastguard Worker 1810*6a54128fSAndroid Build Coastguard Worker<Para> 1811*6a54128fSAndroid Build Coastguard WorkerThe status window will indicate: 1812*6a54128fSAndroid Build Coastguard Worker 1813*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 1814*6a54128fSAndroid Build Coastguard Worker<ListItem> 1815*6a54128fSAndroid Build Coastguard Worker 1816*6a54128fSAndroid Build Coastguard Worker<Para> 1817*6a54128fSAndroid Build Coastguard Worker The directory entry number. 1818*6a54128fSAndroid Build Coastguard Worker</Para> 1819*6a54128fSAndroid Build Coastguard Worker</ListItem> 1820*6a54128fSAndroid Build Coastguard Worker<ListItem> 1821*6a54128fSAndroid Build Coastguard Worker 1822*6a54128fSAndroid Build Coastguard Worker<Para> 1823*6a54128fSAndroid Build Coastguard Worker The total number of directory entries in this directory. 1824*6a54128fSAndroid Build Coastguard Worker</Para> 1825*6a54128fSAndroid Build Coastguard Worker</ListItem> 1826*6a54128fSAndroid Build Coastguard Worker<ListItem> 1827*6a54128fSAndroid Build Coastguard Worker 1828*6a54128fSAndroid Build Coastguard Worker<Para> 1829*6a54128fSAndroid Build Coastguard Worker The current global block number. 1830*6a54128fSAndroid Build Coastguard Worker</Para> 1831*6a54128fSAndroid Build Coastguard Worker</ListItem> 1832*6a54128fSAndroid Build Coastguard Worker<ListItem> 1833*6a54128fSAndroid Build Coastguard Worker 1834*6a54128fSAndroid Build Coastguard Worker<Para> 1835*6a54128fSAndroid Build Coastguard Worker The current offset in the entire directory - When viewing the 1836*6a54128fSAndroid Build Coastguard Workerdirectory as a continuous file. 1837*6a54128fSAndroid Build Coastguard Worker</Para> 1838*6a54128fSAndroid Build Coastguard Worker</ListItem> 1839*6a54128fSAndroid Build Coastguard Worker<ListItem> 1840*6a54128fSAndroid Build Coastguard Worker 1841*6a54128fSAndroid Build Coastguard Worker<Para> 1842*6a54128fSAndroid Build Coastguard Worker The inode number of the directory itself. 1843*6a54128fSAndroid Build Coastguard Worker</Para> 1844*6a54128fSAndroid Build Coastguard Worker</ListItem> 1845*6a54128fSAndroid Build Coastguard Worker<ListItem> 1846*6a54128fSAndroid Build Coastguard Worker 1847*6a54128fSAndroid Build Coastguard Worker<Para> 1848*6a54128fSAndroid Build Coastguard Worker The indirection level - Whether it is a direct block (0), indirect 1849*6a54128fSAndroid Build Coastguard Worker(1), etc. 1850*6a54128fSAndroid Build Coastguard Worker</Para> 1851*6a54128fSAndroid Build Coastguard Worker</ListItem> 1852*6a54128fSAndroid Build Coastguard Worker 1853*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 1854*6a54128fSAndroid Build Coastguard Worker 1855*6a54128fSAndroid Build Coastguard Worker</Para> 1856*6a54128fSAndroid Build Coastguard Worker 1857*6a54128fSAndroid Build Coastguard Worker<Sect2> 1858*6a54128fSAndroid Build Coastguard Worker<Title>cd</Title> 1859*6a54128fSAndroid Build Coastguard Worker 1860*6a54128fSAndroid Build Coastguard Worker<Para> 1861*6a54128fSAndroid Build Coastguard Worker 1862*6a54128fSAndroid Build Coastguard Worker<Screen> 1863*6a54128fSAndroid Build Coastguard WorkerSyntax: cd [path] 1864*6a54128fSAndroid Build Coastguard Worker</Screen> 1865*6a54128fSAndroid Build Coastguard Worker 1866*6a54128fSAndroid Build Coastguard WorkerThe <Command>cd</Command> command is used in the usual meaning, like the global cd 1867*6a54128fSAndroid Build Coastguard Workercommand. 1868*6a54128fSAndroid Build Coastguard Worker 1869*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 1870*6a54128fSAndroid Build Coastguard Worker<ListItem> 1871*6a54128fSAndroid Build Coastguard Worker 1872*6a54128fSAndroid Build Coastguard Worker<Para> 1873*6a54128fSAndroid Build Coastguard Worker If <Emphasis>path</Emphasis> is not specified, the current directory entry is 1874*6a54128fSAndroid Build Coastguard Workerfollowed. 1875*6a54128fSAndroid Build Coastguard Worker</Para> 1876*6a54128fSAndroid Build Coastguard Worker</ListItem> 1877*6a54128fSAndroid Build Coastguard Worker<ListItem> 1878*6a54128fSAndroid Build Coastguard Worker 1879*6a54128fSAndroid Build Coastguard Worker<Para> 1880*6a54128fSAndroid Build Coastguard Worker <Emphasis>path</Emphasis> can be relative to the current directory. 1881*6a54128fSAndroid Build Coastguard Worker</Para> 1882*6a54128fSAndroid Build Coastguard Worker</ListItem> 1883*6a54128fSAndroid Build Coastguard Worker<ListItem> 1884*6a54128fSAndroid Build Coastguard Worker 1885*6a54128fSAndroid Build Coastguard Worker<Para> 1886*6a54128fSAndroid Build Coastguard Worker <Emphasis>path</Emphasis> can also end up in a file, in which case the file inode 1887*6a54128fSAndroid Build Coastguard Workerwill be reached. 1888*6a54128fSAndroid Build Coastguard Worker</Para> 1889*6a54128fSAndroid Build Coastguard Worker</ListItem> 1890*6a54128fSAndroid Build Coastguard Worker<ListItem> 1891*6a54128fSAndroid Build Coastguard Worker 1892*6a54128fSAndroid Build Coastguard Worker<Para> 1893*6a54128fSAndroid Build Coastguard Worker Symbolic link (fast only, meanwhile) is automatically followed. 1894*6a54128fSAndroid Build Coastguard Worker</Para> 1895*6a54128fSAndroid Build Coastguard Worker</ListItem> 1896*6a54128fSAndroid Build Coastguard Worker 1897*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 1898*6a54128fSAndroid Build Coastguard Worker 1899*6a54128fSAndroid Build Coastguard Worker</Para> 1900*6a54128fSAndroid Build Coastguard Worker 1901*6a54128fSAndroid Build Coastguard Worker</Sect2> 1902*6a54128fSAndroid Build Coastguard Worker 1903*6a54128fSAndroid Build Coastguard Worker<Sect2> 1904*6a54128fSAndroid Build Coastguard Worker<Title>entry</Title> 1905*6a54128fSAndroid Build Coastguard Worker 1906*6a54128fSAndroid Build Coastguard Worker<Para> 1907*6a54128fSAndroid Build Coastguard Worker 1908*6a54128fSAndroid Build Coastguard Worker<Screen> 1909*6a54128fSAndroid Build Coastguard WorkerSyntax: entry [entry_num] 1910*6a54128fSAndroid Build Coastguard Worker</Screen> 1911*6a54128fSAndroid Build Coastguard Worker 1912*6a54128fSAndroid Build Coastguard WorkerThe <Command>entry</Command> command sets <Emphasis>entry_num</Emphasis> as the current directory 1913*6a54128fSAndroid Build Coastguard Workerentry. 1914*6a54128fSAndroid Build Coastguard Worker</Para> 1915*6a54128fSAndroid Build Coastguard Worker 1916*6a54128fSAndroid Build Coastguard Worker</Sect2> 1917*6a54128fSAndroid Build Coastguard Worker 1918*6a54128fSAndroid Build Coastguard Worker<Sect2> 1919*6a54128fSAndroid Build Coastguard Worker<Title>followinode</Title> 1920*6a54128fSAndroid Build Coastguard Worker 1921*6a54128fSAndroid Build Coastguard Worker<Para> 1922*6a54128fSAndroid Build Coastguard Worker 1923*6a54128fSAndroid Build Coastguard Worker<Screen> 1924*6a54128fSAndroid Build Coastguard WorkerSyntax: followinode 1925*6a54128fSAndroid Build Coastguard Worker</Screen> 1926*6a54128fSAndroid Build Coastguard Worker 1927*6a54128fSAndroid Build Coastguard WorkerThe <Command>followinode</Command> command will move you to the inode pointed by the 1928*6a54128fSAndroid Build Coastguard Workercurrent directory entry. 1929*6a54128fSAndroid Build Coastguard Worker</Para> 1930*6a54128fSAndroid Build Coastguard Worker 1931*6a54128fSAndroid Build Coastguard Worker</Sect2> 1932*6a54128fSAndroid Build Coastguard Worker 1933*6a54128fSAndroid Build Coastguard Worker<Sect2> 1934*6a54128fSAndroid Build Coastguard Worker<Title>inode</Title> 1935*6a54128fSAndroid Build Coastguard Worker 1936*6a54128fSAndroid Build Coastguard Worker<Para> 1937*6a54128fSAndroid Build Coastguard Worker 1938*6a54128fSAndroid Build Coastguard Worker<Screen> 1939*6a54128fSAndroid Build Coastguard WorkerSyntax: inode 1940*6a54128fSAndroid Build Coastguard Worker</Screen> 1941*6a54128fSAndroid Build Coastguard Worker 1942*6a54128fSAndroid Build Coastguard WorkerThe <Command>inode</Command> command will return you to the parent inode of the whole 1943*6a54128fSAndroid Build Coastguard Workerdirectory listing. 1944*6a54128fSAndroid Build Coastguard Worker</Para> 1945*6a54128fSAndroid Build Coastguard Worker 1946*6a54128fSAndroid Build Coastguard Worker</Sect2> 1947*6a54128fSAndroid Build Coastguard Worker 1948*6a54128fSAndroid Build Coastguard Worker<Sect2> 1949*6a54128fSAndroid Build Coastguard Worker<Title>next</Title> 1950*6a54128fSAndroid Build Coastguard Worker 1951*6a54128fSAndroid Build Coastguard Worker<Para> 1952*6a54128fSAndroid Build Coastguard Worker 1953*6a54128fSAndroid Build Coastguard Worker<Screen> 1954*6a54128fSAndroid Build Coastguard WorkerSyntax: next [num] 1955*6a54128fSAndroid Build Coastguard Worker</Screen> 1956*6a54128fSAndroid Build Coastguard Worker 1957*6a54128fSAndroid Build Coastguard WorkerThe <Command>next</Command> command will pass to the next directory entry. 1958*6a54128fSAndroid Build Coastguard WorkerIf <Emphasis>num</Emphasis> is supplied, it will pass to the next <Emphasis>num</Emphasis> entries. 1959*6a54128fSAndroid Build Coastguard Worker</Para> 1960*6a54128fSAndroid Build Coastguard Worker 1961*6a54128fSAndroid Build Coastguard Worker</Sect2> 1962*6a54128fSAndroid Build Coastguard Worker 1963*6a54128fSAndroid Build Coastguard Worker<Sect2> 1964*6a54128fSAndroid Build Coastguard Worker<Title>prev</Title> 1965*6a54128fSAndroid Build Coastguard Worker 1966*6a54128fSAndroid Build Coastguard Worker<Para> 1967*6a54128fSAndroid Build Coastguard Worker 1968*6a54128fSAndroid Build Coastguard Worker<Screen> 1969*6a54128fSAndroid Build Coastguard WorkerSyntax: prev [num] 1970*6a54128fSAndroid Build Coastguard Worker</Screen> 1971*6a54128fSAndroid Build Coastguard Worker 1972*6a54128fSAndroid Build Coastguard WorkerThe <Command>prev</Command> command will pass to the previous directory entry. 1973*6a54128fSAndroid Build Coastguard WorkerIf <Emphasis>num</Emphasis> is supplied, it will pass to the previous <Emphasis>num</Emphasis> entries. 1974*6a54128fSAndroid Build Coastguard Worker</Para> 1975*6a54128fSAndroid Build Coastguard Worker 1976*6a54128fSAndroid Build Coastguard Worker</Sect2> 1977*6a54128fSAndroid Build Coastguard Worker 1978*6a54128fSAndroid Build Coastguard Worker<Sect2> 1979*6a54128fSAndroid Build Coastguard Worker<Title>writedata</Title> 1980*6a54128fSAndroid Build Coastguard Worker 1981*6a54128fSAndroid Build Coastguard Worker<Para> 1982*6a54128fSAndroid Build Coastguard Worker 1983*6a54128fSAndroid Build Coastguard Worker<Screen> 1984*6a54128fSAndroid Build Coastguard WorkerSyntax: writedata 1985*6a54128fSAndroid Build Coastguard Worker</Screen> 1986*6a54128fSAndroid Build Coastguard Worker 1987*6a54128fSAndroid Build Coastguard WorkerThe <Command>writedata</Command> command will write the current directory entry to the 1988*6a54128fSAndroid Build Coastguard Workerdisk. 1989*6a54128fSAndroid Build Coastguard Worker</Para> 1990*6a54128fSAndroid Build Coastguard Worker 1991*6a54128fSAndroid Build Coastguard Worker</Sect2> 1992*6a54128fSAndroid Build Coastguard Worker 1993*6a54128fSAndroid Build Coastguard Worker</Sect1> 1994*6a54128fSAndroid Build Coastguard Worker 1995*6a54128fSAndroid Build Coastguard Worker<Sect1 id="block-bitmap"> 1996*6a54128fSAndroid Build Coastguard Worker<Title>The block allocation bitmap</Title> 1997*6a54128fSAndroid Build Coastguard Worker 1998*6a54128fSAndroid Build Coastguard Worker<Para> 1999*6a54128fSAndroid Build Coastguard WorkerThe <Literal remap="tt">block allocation bitmap</Literal> of any block group can be reached from 2000*6a54128fSAndroid Build Coastguard Workerthe corresponding group descriptor. 2001*6a54128fSAndroid Build Coastguard Worker</Para> 2002*6a54128fSAndroid Build Coastguard Worker 2003*6a54128fSAndroid Build Coastguard Worker<Para> 2004*6a54128fSAndroid Build Coastguard WorkerYou will be offered a bit listing of the entire blocks in the group. The 2005*6a54128fSAndroid Build Coastguard Workercurrent block will be highlighted and its number will be displayed in the 2006*6a54128fSAndroid Build Coastguard Workerstatus window. 2007*6a54128fSAndroid Build Coastguard Worker</Para> 2008*6a54128fSAndroid Build Coastguard Worker 2009*6a54128fSAndroid Build Coastguard Worker<Para> 2010*6a54128fSAndroid Build Coastguard WorkerA value of "1" means that the block is allocated, while a value of "0" 2011*6a54128fSAndroid Build Coastguard Workersignals that it is free. The value is also interpreted in the status 2012*6a54128fSAndroid Build Coastguard Workerwindow. You can use the usual <Command>next/prev</Command> commands, along with the 2013*6a54128fSAndroid Build Coastguard Worker<Command>allocate/deallocate</Command> commands. 2014*6a54128fSAndroid Build Coastguard Worker</Para> 2015*6a54128fSAndroid Build Coastguard Worker 2016*6a54128fSAndroid Build Coastguard Worker<Sect2> 2017*6a54128fSAndroid Build Coastguard Worker<Title>allocate</Title> 2018*6a54128fSAndroid Build Coastguard Worker 2019*6a54128fSAndroid Build Coastguard Worker<Para> 2020*6a54128fSAndroid Build Coastguard Worker 2021*6a54128fSAndroid Build Coastguard Worker<Screen> 2022*6a54128fSAndroid Build Coastguard WorkerSyntax: allocate [num] 2023*6a54128fSAndroid Build Coastguard Worker</Screen> 2024*6a54128fSAndroid Build Coastguard Worker 2025*6a54128fSAndroid Build Coastguard WorkerThe <Command>allocate</Command> command allocates <Emphasis>num</Emphasis> blocks, starting from the 2026*6a54128fSAndroid Build Coastguard Workerhighlighted position. If <Emphasis>num</Emphasis> is not specified, <Emphasis>num=1</Emphasis> is assumed. 2027*6a54128fSAndroid Build Coastguard WorkerOf-course, no actual change is made until you issue a <Command>writedata</Command> command. 2028*6a54128fSAndroid Build Coastguard Worker</Para> 2029*6a54128fSAndroid Build Coastguard Worker 2030*6a54128fSAndroid Build Coastguard Worker</Sect2> 2031*6a54128fSAndroid Build Coastguard Worker 2032*6a54128fSAndroid Build Coastguard Worker<Sect2> 2033*6a54128fSAndroid Build Coastguard Worker<Title>deallocate</Title> 2034*6a54128fSAndroid Build Coastguard Worker 2035*6a54128fSAndroid Build Coastguard Worker<Para> 2036*6a54128fSAndroid Build Coastguard Worker 2037*6a54128fSAndroid Build Coastguard Worker<Screen> 2038*6a54128fSAndroid Build Coastguard WorkerSyntax: deallocate [num] 2039*6a54128fSAndroid Build Coastguard Worker</Screen> 2040*6a54128fSAndroid Build Coastguard Worker 2041*6a54128fSAndroid Build Coastguard WorkerThe <Command>deallocate</Command> command deallocates <Emphasis>num</Emphasis> blocks, starting from the 2042*6a54128fSAndroid Build Coastguard Workerhighlighted position. If <Emphasis>num</Emphasis> is not specified, <Emphasis>num=1</Emphasis> is assumed. 2043*6a54128fSAndroid Build Coastguard WorkerOf-course, no actual change is made until you issue a <Command>writedata</Command> command. 2044*6a54128fSAndroid Build Coastguard Worker</Para> 2045*6a54128fSAndroid Build Coastguard Worker 2046*6a54128fSAndroid Build Coastguard Worker</Sect2> 2047*6a54128fSAndroid Build Coastguard Worker 2048*6a54128fSAndroid Build Coastguard Worker<Sect2> 2049*6a54128fSAndroid Build Coastguard Worker<Title>entry</Title> 2050*6a54128fSAndroid Build Coastguard Worker 2051*6a54128fSAndroid Build Coastguard Worker<Para> 2052*6a54128fSAndroid Build Coastguard Worker 2053*6a54128fSAndroid Build Coastguard Worker<Screen> 2054*6a54128fSAndroid Build Coastguard WorkerSyntax: entry [entry_num] 2055*6a54128fSAndroid Build Coastguard Worker</Screen> 2056*6a54128fSAndroid Build Coastguard Worker 2057*6a54128fSAndroid Build Coastguard WorkerThe <Command>entry</Command> command sets the current highlighted block to 2058*6a54128fSAndroid Build Coastguard Worker<Emphasis>entry_num</Emphasis>. 2059*6a54128fSAndroid Build Coastguard Worker</Para> 2060*6a54128fSAndroid Build Coastguard Worker 2061*6a54128fSAndroid Build Coastguard Worker</Sect2> 2062*6a54128fSAndroid Build Coastguard Worker 2063*6a54128fSAndroid Build Coastguard Worker<Sect2> 2064*6a54128fSAndroid Build Coastguard Worker<Title>next</Title> 2065*6a54128fSAndroid Build Coastguard Worker 2066*6a54128fSAndroid Build Coastguard Worker<Para> 2067*6a54128fSAndroid Build Coastguard Worker 2068*6a54128fSAndroid Build Coastguard Worker<Screen> 2069*6a54128fSAndroid Build Coastguard WorkerSyntax: next [num] 2070*6a54128fSAndroid Build Coastguard Worker</Screen> 2071*6a54128fSAndroid Build Coastguard Worker 2072*6a54128fSAndroid Build Coastguard WorkerThe <Command>next</Command> command will pass to the next bit, which corresponds to the 2073*6a54128fSAndroid Build Coastguard Workernext block. If <Emphasis>num</Emphasis> is supplied, it will pass to the next <Emphasis>num</Emphasis> 2074*6a54128fSAndroid Build Coastguard Workerbits. 2075*6a54128fSAndroid Build Coastguard Worker</Para> 2076*6a54128fSAndroid Build Coastguard Worker 2077*6a54128fSAndroid Build Coastguard Worker</Sect2> 2078*6a54128fSAndroid Build Coastguard Worker 2079*6a54128fSAndroid Build Coastguard Worker<Sect2> 2080*6a54128fSAndroid Build Coastguard Worker<Title>prev</Title> 2081*6a54128fSAndroid Build Coastguard Worker 2082*6a54128fSAndroid Build Coastguard Worker<Para> 2083*6a54128fSAndroid Build Coastguard Worker 2084*6a54128fSAndroid Build Coastguard Worker<Screen> 2085*6a54128fSAndroid Build Coastguard WorkerSyntax: prev [num] 2086*6a54128fSAndroid Build Coastguard Worker</Screen> 2087*6a54128fSAndroid Build Coastguard Worker 2088*6a54128fSAndroid Build Coastguard WorkerThe <Command>prev</Command> command will pass to the previous bit, which corresponds to the 2089*6a54128fSAndroid Build Coastguard Workerprevious block. If <Emphasis>num</Emphasis> is supplied, it will pass to the previous 2090*6a54128fSAndroid Build Coastguard Worker<Emphasis>num</Emphasis> bits. 2091*6a54128fSAndroid Build Coastguard Worker</Para> 2092*6a54128fSAndroid Build Coastguard Worker 2093*6a54128fSAndroid Build Coastguard Worker</Sect2> 2094*6a54128fSAndroid Build Coastguard Worker 2095*6a54128fSAndroid Build Coastguard Worker</Sect1> 2096*6a54128fSAndroid Build Coastguard Worker 2097*6a54128fSAndroid Build Coastguard Worker<Sect1> 2098*6a54128fSAndroid Build Coastguard Worker<Title>The inode allocation bitmap</Title> 2099*6a54128fSAndroid Build Coastguard Worker 2100*6a54128fSAndroid Build Coastguard Worker<Para> 2101*6a54128fSAndroid Build Coastguard WorkerThe <Literal remap="tt">inode allocation bitmap</Literal> is very similar to the block allocation 2102*6a54128fSAndroid Build Coastguard Workerbitmap explained above. It is also reached from the corresponding group 2103*6a54128fSAndroid Build Coastguard Workerdescriptor. Please refer to section <XRef LinkEnd="block-bitmap">. 2104*6a54128fSAndroid Build Coastguard Worker</Para> 2105*6a54128fSAndroid Build Coastguard Worker 2106*6a54128fSAndroid Build Coastguard Worker</Sect1> 2107*6a54128fSAndroid Build Coastguard Worker 2108*6a54128fSAndroid Build Coastguard Worker<Sect1> 2109*6a54128fSAndroid Build Coastguard Worker<Title>Filesystem size limitation</Title> 2110*6a54128fSAndroid Build Coastguard Worker 2111*6a54128fSAndroid Build Coastguard Worker<Para> 2112*6a54128fSAndroid Build Coastguard WorkerWhile an ext2 filesystem has a size limit of <Literal remap="tt">4 TB</Literal>, EXT2ED currently 2113*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">can't</Literal> handle filesystems which are <Literal remap="tt">bigger than 2 GB</Literal>. 2114*6a54128fSAndroid Build Coastguard Worker</Para> 2115*6a54128fSAndroid Build Coastguard Worker 2116*6a54128fSAndroid Build Coastguard Worker<Para> 2117*6a54128fSAndroid Build Coastguard WorkerI am sorry for the inconvenience. This will hopefully be fixed in future 2118*6a54128fSAndroid Build Coastguard Workerreleases. 2119*6a54128fSAndroid Build Coastguard Worker</Para> 2120*6a54128fSAndroid Build Coastguard Worker 2121*6a54128fSAndroid Build Coastguard Worker</Sect1> 2122*6a54128fSAndroid Build Coastguard Worker 2123*6a54128fSAndroid Build Coastguard Worker<Sect1> 2124*6a54128fSAndroid Build Coastguard Worker<Title>Copyright</Title> 2125*6a54128fSAndroid Build Coastguard Worker 2126*6a54128fSAndroid Build Coastguard Worker<Para> 2127*6a54128fSAndroid Build Coastguard WorkerEXT2ED is Copyright (C) 1995 Gadi Oxman. 2128*6a54128fSAndroid Build Coastguard Worker</Para> 2129*6a54128fSAndroid Build Coastguard Worker 2130*6a54128fSAndroid Build Coastguard Worker<Para> 2131*6a54128fSAndroid Build Coastguard WorkerEXT2ED is hereby placed under the GPL - Gnu Public License. You are free and 2132*6a54128fSAndroid Build Coastguard Workerwelcome to copy, view and modify the sources. My only wish is that my 2133*6a54128fSAndroid Build Coastguard Workercopyright presented above will be left and that a list of the bug fixes, 2134*6a54128fSAndroid Build Coastguard Workeradded features, etc, will be provided. 2135*6a54128fSAndroid Build Coastguard Worker</Para> 2136*6a54128fSAndroid Build Coastguard Worker 2137*6a54128fSAndroid Build Coastguard Worker<Para> 2138*6a54128fSAndroid Build Coastguard WorkerThe entire EXT2ED project is based, of-course, on the kernel sources. The 2139*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">ext2.descriptors</Literal> distributed with EXT2ED is a slightly modified 2140*6a54128fSAndroid Build Coastguard Workerversion of the main ext2 include file, /usr/include/linux/ext2_fs.h. Follows 2141*6a54128fSAndroid Build Coastguard Workerthe original copyright: 2142*6a54128fSAndroid Build Coastguard Worker</Para> 2143*6a54128fSAndroid Build Coastguard Worker 2144*6a54128fSAndroid Build Coastguard Worker<Para> 2145*6a54128fSAndroid Build Coastguard Worker 2146*6a54128fSAndroid Build Coastguard Worker<Screen> 2147*6a54128fSAndroid Build Coastguard Worker/* 2148*6a54128fSAndroid Build Coastguard Worker * linux/include/linux/ext2_fs.h 2149*6a54128fSAndroid Build Coastguard Worker * 2150*6a54128fSAndroid Build Coastguard Worker * Copyright (C) 1992, 1993, 1994, 1995 2151*6a54128fSAndroid Build Coastguard Worker * Remy Card ([email protected]) 2152*6a54128fSAndroid Build Coastguard Worker * Laboratoire MASI - Institut Blaise Pascal 2153*6a54128fSAndroid Build Coastguard Worker * Universite Pierre et Marie Curie (Paris VI) 2154*6a54128fSAndroid Build Coastguard Worker * 2155*6a54128fSAndroid Build Coastguard Worker * from 2156*6a54128fSAndroid Build Coastguard Worker * 2157*6a54128fSAndroid Build Coastguard Worker * linux/include/linux/minix_fs.h 2158*6a54128fSAndroid Build Coastguard Worker * 2159*6a54128fSAndroid Build Coastguard Worker * Copyright (C) 1991, 1992 Linus Torvalds 2160*6a54128fSAndroid Build Coastguard Worker */ 2161*6a54128fSAndroid Build Coastguard Worker 2162*6a54128fSAndroid Build Coastguard Worker</Screen> 2163*6a54128fSAndroid Build Coastguard Worker 2164*6a54128fSAndroid Build Coastguard Worker</Para> 2165*6a54128fSAndroid Build Coastguard Worker 2166*6a54128fSAndroid Build Coastguard Worker</Sect1> 2167*6a54128fSAndroid Build Coastguard Worker 2168*6a54128fSAndroid Build Coastguard Worker<Sect1> 2169*6a54128fSAndroid Build Coastguard Worker<Title>Acknowledgments</Title> 2170*6a54128fSAndroid Build Coastguard Worker 2171*6a54128fSAndroid Build Coastguard Worker<Para> 2172*6a54128fSAndroid Build Coastguard WorkerEXT2ED was constructed as a student project in the software 2173*6a54128fSAndroid Build Coastguard Workerlaboratory of the faculty of electrical-engineering in the 2174*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">Technion - Israel's institute of technology</Literal>. 2175*6a54128fSAndroid Build Coastguard Worker</Para> 2176*6a54128fSAndroid Build Coastguard Worker 2177*6a54128fSAndroid Build Coastguard Worker<Para> 2178*6a54128fSAndroid Build Coastguard WorkerAt first, I would like to thank <PersonName><FirstName>Avner</FirstName> <SurName>Lottem</SurName></PersonName> and <PersonName><Honorific>Doctor</Honorific> <FirstName>Ilana</FirstName> <SurName>David</Surname></PersonName> for their interest and assistance in this project. 2179*6a54128fSAndroid Build Coastguard Worker</Para> 2180*6a54128fSAndroid Build Coastguard Worker 2181*6a54128fSAndroid Build Coastguard Worker<Para> 2182*6a54128fSAndroid Build Coastguard WorkerI would also like to thank the following people, who were involved in the 2183*6a54128fSAndroid Build Coastguard Workerdesign and implementation of the ext2 filesystem kernel code and support 2184*6a54128fSAndroid Build Coastguard Workerutilities: 2185*6a54128fSAndroid Build Coastguard Worker 2186*6a54128fSAndroid Build Coastguard Worker<ItemizedList> 2187*6a54128fSAndroid Build Coastguard Worker<ListItem> 2188*6a54128fSAndroid Build Coastguard Worker 2189*6a54128fSAndroid Build Coastguard Worker<Para> 2190*6a54128fSAndroid Build Coastguard Worker<PersonName><FirstName>Remy</FirstName> <SurName>Card</SurName></PersonName> 2191*6a54128fSAndroid Build Coastguard Worker 2192*6a54128fSAndroid Build Coastguard WorkerWho designed, implemented and maintains the ext2 filesystem kernel 2193*6a54128fSAndroid Build Coastguard Workercode, and some of the ext2 utilities. Remy Card is also the author 2194*6a54128fSAndroid Build Coastguard Workerof several helpful slides concerning the ext2 filesystem. 2195*6a54128fSAndroid Build Coastguard WorkerSpecifically, he is the author of <Literal remap="tt">File Management in the Linux 2196*6a54128fSAndroid Build Coastguard WorkerKernel</Literal> and of <Literal remap="tt">The Second Extended File System - Current State, 2197*6a54128fSAndroid Build Coastguard WorkerFuture Development</Literal>. 2198*6a54128fSAndroid Build Coastguard Worker 2199*6a54128fSAndroid Build Coastguard Worker</Para> 2200*6a54128fSAndroid Build Coastguard Worker</ListItem> 2201*6a54128fSAndroid Build Coastguard Worker<ListItem> 2202*6a54128fSAndroid Build Coastguard Worker 2203*6a54128fSAndroid Build Coastguard Worker<Para> 2204*6a54128fSAndroid Build Coastguard Worker<PersonName><FirstName>Wayne</FirstName> <SurName>Davison</SurName></PersonName> 2205*6a54128fSAndroid Build Coastguard Worker 2206*6a54128fSAndroid Build Coastguard WorkerWho designed the ext2 filesystem. 2207*6a54128fSAndroid Build Coastguard Worker</Para> 2208*6a54128fSAndroid Build Coastguard Worker</ListItem> 2209*6a54128fSAndroid Build Coastguard Worker<ListItem> 2210*6a54128fSAndroid Build Coastguard Worker 2211*6a54128fSAndroid Build Coastguard Worker<Para> 2212*6a54128fSAndroid Build Coastguard Worker<PersonName><FirstName>Stephen</FirstName> <Surname>Tweedie</SurName></PersonName> 2213*6a54128fSAndroid Build Coastguard Worker 2214*6a54128fSAndroid Build Coastguard WorkerWho helped designing the ext2 filesystem kernel code and wrote the 2215*6a54128fSAndroid Build Coastguard Workerslides <Literal remap="tt">Optimizations in File Systems</Literal>. 2216*6a54128fSAndroid Build Coastguard Worker</Para> 2217*6a54128fSAndroid Build Coastguard Worker</ListItem> 2218*6a54128fSAndroid Build Coastguard Worker<ListItem> 2219*6a54128fSAndroid Build Coastguard Worker 2220*6a54128fSAndroid Build Coastguard Worker<Para> 2221*6a54128fSAndroid Build Coastguard Worker<PersonName><FirstName>Theodore</FirstName> <SurName>Ts'o</SurName></PersonName> 2222*6a54128fSAndroid Build Coastguard Worker 2223*6a54128fSAndroid Build Coastguard WorkerWho is the author of several ext2 utilities and of the ext2 library 2224*6a54128fSAndroid Build Coastguard Worker<Literal remap="tt">libext2fs</Literal> (which I didn't use, simply because I didn't know 2225*6a54128fSAndroid Build Coastguard Workerit exists when I started to work on my project). 2226*6a54128fSAndroid Build Coastguard Worker</Para> 2227*6a54128fSAndroid Build Coastguard Worker</ListItem> 2228*6a54128fSAndroid Build Coastguard Worker 2229*6a54128fSAndroid Build Coastguard Worker</ItemizedList> 2230*6a54128fSAndroid Build Coastguard Worker 2231*6a54128fSAndroid Build Coastguard Worker</Para> 2232*6a54128fSAndroid Build Coastguard Worker 2233*6a54128fSAndroid Build Coastguard Worker<Para> 2234*6a54128fSAndroid Build Coastguard WorkerLastly, I would like to thank, of-course, <PersonName><FirstName>Linus</FirstName> <SurName>Torvalds</SurName></PersonName> and the 2235*6a54128fSAndroid Build Coastguard WorkerLinux community for providing all of us with such a great operating 2236*6a54128fSAndroid Build Coastguard Workersystem. 2237*6a54128fSAndroid Build Coastguard Worker</Para> 2238*6a54128fSAndroid Build Coastguard Worker 2239*6a54128fSAndroid Build Coastguard Worker<Para> 2240*6a54128fSAndroid Build Coastguard WorkerPlease contact me in a case of bug report, suggestions, or just about 2241*6a54128fSAndroid Build Coastguard Workeranything concerning EXT2ED. 2242*6a54128fSAndroid Build Coastguard Worker</Para> 2243*6a54128fSAndroid Build Coastguard Worker 2244*6a54128fSAndroid Build Coastguard Worker<Para> 2245*6a54128fSAndroid Build Coastguard WorkerEnjoy, 2246*6a54128fSAndroid Build Coastguard Worker</Para> 2247*6a54128fSAndroid Build Coastguard Worker 2248*6a54128fSAndroid Build Coastguard Worker<Para> 2249*6a54128fSAndroid Build Coastguard WorkerGadi Oxman <[email protected]> 2250*6a54128fSAndroid Build Coastguard Worker</Para> 2251*6a54128fSAndroid Build Coastguard Worker 2252*6a54128fSAndroid Build Coastguard Worker<Para> 2253*6a54128fSAndroid Build Coastguard WorkerHaifa, August 95 2254*6a54128fSAndroid Build Coastguard Worker</Para> 2255*6a54128fSAndroid Build Coastguard Worker 2256*6a54128fSAndroid Build Coastguard Worker</Sect1> 2257*6a54128fSAndroid Build Coastguard Worker 2258*6a54128fSAndroid Build Coastguard Worker</Article> 2259