{"id":454,"date":"2012-04-06T13:14:40","date_gmt":"2012-04-06T11:14:40","guid":{"rendered":"http:\/\/lallafa.de\/blog\/?page_id=454"},"modified":"2012-04-06T13:14:40","modified_gmt":"2012-04-06T11:14:40","slug":"rdbtool","status":"publish","type":"page","link":"https:\/\/lallafa.de\/blog\/amiga-projects\/amitools\/rdbtool\/","title":{"rendered":"rdbtool"},"content":{"rendered":"<h3>rdbtool &#8211; The universal Amiga disk partitioning tool<\/h3>\n<p>last update: 6.4.2012<\/p>\n<h4>1. Introduction<\/h4>\n<p>The rdbtool is a tool from the amitools tool set that allows to inspect or create hard disk partitions readable by the classic Amiga family of computers. The RDB or Rigid Disk Block is a format to describe the first blocks of a hard disk that store information of partitions and file systems used in the partitions.<\/p>\n<p>If you want to work with files stored in the DOS file system of a partition then have a look at the <a title=\"xdftool\" href=\"http:\/\/lallafa.de\/blog\/amitools\/xdftool\/\">xdftool<\/a> of amitools.<\/p>\n<h4>2. Usage<\/h4>\n<p>rdbtool is a command line utility that is always called with an hard disk image file path name as the first argument and with one or more commands working on this image:<\/p>\n<pre>&gt; rdbtool &lt;image.rdb|image.rdisk&gt; &lt;command&gt; [option]<\/pre>\n<p>You can issue multiple commands on a single image by concatenating them with a plus character:<\/p>\n<pre>&gt; rdbtool &lt;image.rdb&gt; &lt;command1&gt; [options1] + &lt;command2&gt; [options2] ...<\/pre>\n<p>For example:<\/p>\n<pre>&gt; rdbtool myimg.rdb create size=10Mi + init + fill<\/pre>\n<p>Most options in rdbtool are given as key=value pairs. Here the option &#8220;size&#8221; is given with value &#8220;10Mi&#8221; for a 10 MiB sized disk image.<\/p>\n<p><strong>Real Block Devices<\/strong><\/p>\n<p>On Unix\/Linux\/Mac OS X you can also use a block device of a real hard disk or a CF\/SD flash card to directly work on a real device. The file names for the block device differ on the different platforms but typical names are <em>\/dev\/rdisk1<\/em> or <em>\/dev\/sda<\/em>. Always make sure to select the block device of the whole drive (e.g. <em>\/dev\/hdc<\/em>) and not the device of some already existing\u00c2\u00a0 paritioning (e.g. <em>\/dev\/hdc1<\/em>). Also make sure <strong>(really, really sure!) <\/strong>to select the correct block device of the hard disk you want to alter with rdbtool. Otherwise <strong>you might destroy your actual system disk!!!<\/strong> Most OSes need a priviliged user to perform these operations so you need to run rdbtool as root in this case.<\/p>\n<h4>3. Commands<\/h4>\n<p>This section describes the commands available for rdbtool. You can always issue a &#8220;help&#8221; command to see all commands:<\/p>\n<pre>&gt; rdbtool test.img help<\/pre>\n<h4>3.1 Open\/Create an Image<\/h4>\n<p>In rdbtool there are two ways to access an image: open or create it. The &#8220;open&#8221; operation assumes that the disk image file already exists or is used for existing devices available through block device names.<\/p>\n<h5>&#8216;create&#8217; &#8211; Create a new disk image<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>create [ size=&lt;size&gt; | chs=&lt;cyl&gt;,&lt;heads&gt;,&lt;secs&gt; ]<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>The &#8220;create&#8221; operation is used to create a new image file. The create command needs a size parameter:<\/p>\n<pre>&gt; rdbtool test.img create size=10Mi<\/pre>\n<p>You can either specify the total size in bytes (or here with unis M=mega Mi=Ki-Units) and let rdbtool choose a suitable disk geometry automatically or you can give the geometry with:<\/p>\n<pre>&gt; rdbtool test.img create chs=10,1,32<\/pre>\n<p>Here 10 cylinders, 1 head and 32 sectors are defined.<\/p>\n<p>You can only use the &#8220;create&#8221; command if the given image file does not exist yet. If it already exists then an error message is generated. However, you can force the creation of the image file by giving the &#8220;-f&#8221; switch for force:<\/p>\n<pre>&gt; rdbtool -f test.img create chs=10,1,32\r\n<\/pre>\n<h5>&#8216;open&#8217; &#8211; Open existing image for processing<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>open [ chs=&lt;cyl&gt;,&lt;heads&gt;,&lt;secs&gt; | c=&lt;cyl&gt; h=&lt;heads&gt; s=&lt;secs&gt; ]<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>The open operation usually does not need any paramters:<\/p>\n<pre>&gt; rdbtool test.img open + info<\/pre>\n<p>You can even omit the &#8220;open&#8221; command in this case:<\/p>\n<pre>&gt; rdbtool test.img info<\/pre>\n<p>This will implicitly open the image first.<\/p>\n<p>If no option is given then the disk geometry is automatically determined from the image size. If this does not work for an image you can also specify the geometry of the image in the open command:<\/p>\n<pre>&gt; rdbtool test.img open chs=10,1,32<\/pre>\n<p>You can also only hint the geometry by giving some geometry paramters and let rdbtool guess the others:<\/p>\n<pre>&gt; rdbtool test.img open c=10 h=2 s=32\r\n<\/pre>\n<h4>3.2 Inspect the Partition Layout<\/h4>\n<h5>&#8216;info&#8217; &#8211; Show information of the RDB data structures<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>info<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command gives an overview of the partitions and file systems stored in the RDB blocks. It will return something like:<\/p>\n<pre>PhysicalDisk:\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 7817\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 7880544\u00c2\u00a0 3.8Gi\u00c2\u00a0 heads=16 sectors=63\r\nLogicalDisk:\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 2\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 7817\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 7878528\u00c2\u00a0 3.8Gi\u00c2\u00a0 rdb_blks=[0:2015,60(60)] cyl_blks=1008\r\nPartition: #0 'CDH0'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 2\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 103\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 102816\u00c2\u00a0\u00c2\u00a0 50Mi\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1.31%\u00c2\u00a0 DOS3 bootable pri=0\r\nPartition: #1 'DH0'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 104\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 205\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 102816\u00c2\u00a0\u00c2\u00a0 50Mi\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1.31%\u00c2\u00a0 DOS3\r\nPartition: #2 'DH1'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 206\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 2035\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1844640\u00c2\u00a0 900Mi\u00c2\u00a0\u00c2\u00a0 23.41%\u00c2\u00a0 DOS3\r\nPartition: #3 'DH2'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 2036\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3763\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1741824\u00c2\u00a0 850Mi\u00c2\u00a0\u00c2\u00a0 22.11%\u00c2\u00a0 DOS3\r\nPartition: #4 'DH3'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3764\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3909\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 147168\u00c2\u00a0\u00c2\u00a0 71Mi\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1.87%\u00c2\u00a0 DOS3\r\nPartition: #5 'CDH1'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3910\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3971\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 62496\u00c2\u00a0\u00c2\u00a0 30Mi\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 0.79%\u00c2\u00a0 DOS3\r\nPartition: #6 'DH4'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 3972\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 4124\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 154224\u00c2\u00a0\u00c2\u00a0 75Mi\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1.96%\u00c2\u00a0 DOS3\r\nPartition: #7 'DH5'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 4125\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 5953\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1843632\u00c2\u00a0 900Mi\u00c2\u00a0\u00c2\u00a0 23.40%\u00c2\u00a0 DOS3\r\nPartition: #8 'DH6'\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 5954\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 7817\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 1878912\u00c2\u00a0 917Mi\u00c2\u00a0\u00c2\u00a0 23.85%\u00c2\u00a0 DOS3\r\nFileSystem #0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 DOS1 version=40.1 size=24588<\/pre>\n<h5>&#8216;show&#8217; &#8211; Show internal block representation of the RDB data structures<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<p>show<\/p>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command is a low-level tool that shows the blocks available in the RDB data structure with their corresponding values. Use this to debug or analyze issues with complex RDBs.<\/p>\n<h4>3.3 Create a new RDB<\/h4>\n<h5>&#8216;init&#8217; &#8211; Create a new and empty RDB structure<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>init [ rdb_cyls=&lt;cyls&gt; ]<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command creates a new and initially empty RDB structure. <strong>Any existing partitioning layout will be lost after executing this command! So you have been warned!<\/strong> Call this command first to start building a new RDB structure.<\/p>\n<pre>&gt; rdbtool test.img create size=10Mi + init<\/pre>\n<p>The default RDB occupies all the sectors of the first cylinder. If you have chosen a geometry with small cylinders then a single cylinder might not be sufficient to hold the RDB data structures. In this case use the &#8220;rdb_cyls&#8221; option to set the number of cylinders to reserve for RDB:<\/p>\n<pre>&gt; rdbtool test.img create size=10Mi + init rdb_cyls=2<\/pre>\n<h5>&#8216;add&#8217; &#8211; Add a new partition<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>add\u00c2\u00a0 &lt;size&gt; [ name=&lt;name&gt; ] [ dostype|fs=&lt;dostag&gt; ] \r\n [ bootable[=true|false] ] [ pri=&lt;priority&gt; ]\r\n [ automount=true|false ]<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command creates a new partition.<\/p>\n<p>You have to give the size of the partition in one of the following ways:<\/p>\n<p>1. Give start and end cylinder:<\/p>\n<pre>start=&lt;cyl&gt; end=&lt;cyl&gt;<\/pre>\n<p>2. Give start cylinder and size:<\/p>\n<pre>start=&lt;cyl&gt; size=&lt;cyl|percent|bytes&gt;<\/pre>\n<p>3. Only give size:<\/p>\n<pre>size=&lt;cyl|percent|bytes&gt;<\/pre>\n<p>For the size you can specify a number of cylinders, a percent value, or a byte size (The percent value gives the ratio of the total logical disk size):<\/p>\n<pre>&gt; rdbtool test.img add start=2 end=5\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 ; give start and end cylinder\r\n&gt; rdbtool test.img add start=4 size=10\u00c2\u00a0 ; give start and number of cylinders\r\n&gt; rdbtool test.img add size=10MiB\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 ; give size in bytes\r\n&gt; rdbtool test.img add size=50%\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 ; use half the disk size<\/pre>\n<p>If no &#8220;name&#8221; option is given then the defaul name &#8220;DH&#8221; is used appended with the current partition number starting with 0: DH0, DH1. You can alter the base name by giving the &#8220;-p&#8221; switch (for drive prefix):<\/p>\n<pre>&gt; rdbtool -p CH test.img init + add size=10%\u00c2\u00a0\u00c2\u00a0 ; create partition CH0<\/pre>\n<p>The &#8220;dostype&#8221; or &#8220;fs&#8221; switch can be used to select the file system you will use to format the partition. The default is &#8220;DOS3&#8221;, i.e. Fast Filing System with International Support. You can give the dostype with &#8220;DOS&lt;n&gt;&#8221; or as a hex number 0x44556677 or for standard DOS file systems with &#8220;ofs&#8221;, &#8220;ffs&#8221; and append &#8220;dc&#8221; or &#8220;dircache&#8221; or &#8220;intl&#8221; flags:<\/p>\n<pre>... dostype=DOS0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 ; OFS\r\n... dostype=ofs+dc\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 ; OFS + dircache\r\n... dostype=ffs+intl\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 ; FFS + international mode\r\n... dostype=0x44556677\u00c2\u00a0 ; give hex of dostype<\/pre>\n<p>You can make a partition bootable by setting the &#8220;bootable&#8221; flag. Additionally you can select the boot priority with &#8220;pri=&lt;n&gt;&#8221;:<\/p>\n<pre>&gt; rdbtool test.img add size=10% bootable pri=10<\/pre>\n<h5>&#8216;change&#8217; &#8211; Modify parameters of an existing partition<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>change &lt;id&gt;\u00c2\u00a0 [ name=&lt;name&gt; ] [ dostype|fs=&lt;dostag&gt; ] \r\n [ bootable[=true|false] ] [ pri=&lt;priority&gt; ]\r\n [ automount=true|false ]\r\n<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>The &lt;id&gt; is the number of the paritition as given in the &#8216;info&#8217; command. You can also use the device name to select a parition.<\/p>\n<pre>&gt; rdbtool test.img change 0 name=CH0 bootable=true<\/pre>\n<h4>&#8216;free&#8217; &#8211; Show free cylinder range in partition layout<\/h4>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>free\r\n<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command returns one or more cylinder ranges that are currently not occupied by partitions. You can use this command to find out the range for a new partition.<\/p>\n<p>If the current partition layout aready occupies the whole disk then this command will return nothing.<\/p>\n<h5>&#8216;fill&#8217; &#8211; Fill the remaining space in the partition layout with new partition(s)<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>fill \r\n<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command takes the free space in a partition layout and creates a newpartition that fills this space.<\/p>\n<p>This command supports the same options as used in the &#8216;add&#8217; command above.<\/p>\n<p>If multiple holes are in the current partition layout then this command creates a new partition for each existing hole.<\/p>\n<p>With this command you can easily finish paritioning without the need of calculating the size of the final partition:<\/p>\n<pre>&gt; rdbtool test.img init + add size=50% + fill\u00c2\u00a0\u00c2\u00a0 ; create 2 partitions with 50% size each\r\n&gt; rdbtool test.img init + add size=10% + add size=20% + fill<\/pre>\n<h5>&#8216;delete&#8217; &#8211; Delete an existing partition<strong> <\/strong><\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>delete\u00c2\u00a0 &lt;id&gt;\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command removes an existing partition and frees all associated resources.<\/p>\n<p>The &lt;id&gt; is the number of the paritition as given in the &#8216;info&#8217; command. You can also use the device name to select a parition.<\/p>\n<pre>&gt; rdbtool mydisk.rdb delete 0\r\n&gt; rdbtool mydisk.rdb delete dh1<\/pre>\n<h5>&#8216;map&#8217; &#8211; Show the allocation map of the RDB blocks<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>map<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command lets you look under the hood of the RDB. It will print all blocks associated with the RDB and shows their current contents. A two char code is used for each block:<\/p>\n<pre> --\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 block is empty and not used for RDB\r\n RD\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 the main rigid disk block\r\n P?\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 partition &lt;n&gt;\r\n F?\u00c2\u00a0\u00c2\u00a0\u00c2\u00a0 file system &lt;n&gt;<\/pre>\n<pre>&gt; rdbtool mydisk.rdb map\r\n<\/pre>\n<h4>3.4 Working with File Systems<\/h4>\n<p>The RDB data structure allows to store file system drivers for classic AmigaOS, so the Kickstart can load the driver before mounting a parition in the RDB.<\/p>\n<p>File systems are LoadSeg()able Amiga Hunk binaries directly embedded in the RDB blocks.<\/p>\n<p>Use the &#8220;info&#8221; command to see if any file systems are already stored in the RDB. In the output you can see that the file systems are numbered in rdbtool starting with 0.<\/p>\n<h5>&#8216;fsget&#8217; &#8211; Retrieve the file system driver from a RDB structure<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>fsget\u00c2\u00a0 &lt;id&gt; &lt;filename&gt;\r\n<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>This command extracts the file system numbered &lt;id&gt; and stores the LoadSeg()able Amiga binary on your local system into a new file with the given &lt;filename&gt;:<\/p>\n<pre>&gt; rdbtool mydisk.rdb fsget 0 ffs\u00c2\u00a0\u00c2\u00a0 ; create a new file \"ffs\" with the first driver<\/pre>\n<h5>&#8216;fsadd&#8217; &#8211; Add a new file system driver<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>fsadd\u00c2\u00a0 &lt;filename&gt;\u00c2\u00a0 [version=&lt;x.y&gt;]<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>Add the LoadSeg()able file system driver stored in file &lt;filename&gt; to the current RDB.<\/p>\n<p>Every file system driver needs a version information given as &lt;x&gt;.&lt;y&gt;, e.g. 40.63. When a file is loaded the version is automatically extracted from a &#8220;VER:&#8221; tag inside the binary. If this tag cannot be found you can specify the version with the &#8220;version&#8221; option.<\/p>\n<pre>&gt; rdbtool mydisk.rdb fsadd ffs version=60.32<\/pre>\n<h5>&#8216;fsflags&#8217; &#8211; Change flags of file system<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>fsflags\u00c2\u00a0 &lt;id&gt;\u00c2\u00a0 [ clear | key=value ... ]<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>With this command you can alter the device node flags of a file system.<\/p>\n<p>The file system &lt;id&gt; is the number of the file system as listed with the &#8216;info&#8217; command.<\/p>\n<p>The following keys are supported:<\/p>\n<pre> type\r\n task\r\n lock\r\n handler\r\n stack_size\r\n priority\r\n startup\r\n seg_list_blk\r\n global_vec<\/pre>\n<p>The &#8220;clear&#8221; option will remove all flags first. All other commands add the corresponding flag:<\/p>\n<pre>&gt; rdbtool mydisk.rdb fsflags 0 clear stack_size=8192<\/pre>\n<p>Have a look at the output of the &#8216;info&#8217; command to see the flags set for a file system.<\/p>\n<h5>&#8216;fsdelete&#8217; &#8211; Remove a file system<\/h5>\n<p><strong>SYNTAX<\/strong><\/p>\n<pre>fsdelete &lt;id&gt;<\/pre>\n<p><strong>DESCRIPTION<\/strong><\/p>\n<p>The file system with the given number is removed. All associated blocks of the file system are free&#8217;d.<\/p>\n<p>EOF<\/p>\n","protected":false},"excerpt":{"rendered":"<p>rdbtool &#8211; The universal Amiga disk partitioning tool last update: 6.4.2012 1. Introduction The rdbtool is a tool from the amitools tool set that allows to inspect or create hard disk partitions readable by the classic Amiga family of computers. &hellip; <a href=\"https:\/\/lallafa.de\/blog\/amiga-projects\/amitools\/rdbtool\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":375,"menu_order":0,"comment_status":"open","ping_status":"open","template":"","meta":{"ngg_post_thumbnail":0,"jetpack_post_was_ever_published":false,"footnotes":""},"class_list":["post-454","page","type-page","status-publish","hentry"],"jetpack_shortlink":"https:\/\/wp.me\/PiBMF-7k","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/comments?post=454"}],"version-history":[{"count":6,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/454\/revisions"}],"predecessor-version":[{"id":460,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/454\/revisions\/460"}],"up":[{"embeddable":true,"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/pages\/375"}],"wp:attachment":[{"href":"https:\/\/lallafa.de\/blog\/wp-json\/wp\/v2\/media?parent=454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}