Short: Second Extended FileSystem (EXT2) driver v0.5 for MorphOS and AmigaOS 3.x Author: Marek Szyprowski Uploader: Marek Szyprowski Type: disk/misc This is early version of the Second Extended FileSystem (EXT2) driver for MorphOS and AmigaOS3.x. *** What's new in 0.5 *** * fixed problems with files with names longer than 107 chars (these names are truncated to maximum length allowed by AmigaDOS and inode number in hex is apended at the end of file name to ensure that every name is unique) * cleaned-up the code and prepared it for future extension *** What's new in 0.4 *** * fixed some problems with large (larger than 1 block) directories * fixed problems with 'info' command from AmigaOS3.x * changed DosType to 0x45585432 ("EXT2") * number of cache buffers is now read from mountlist ('Buffers' field), not hard-coded in handler (please read more about buffers in documentation!) *** What's new in 0.3 *** * fixed directory listing problems (THX to Leo/WARP-Design) * fixed some problems with reading directories with symlinks (THX to Guido Mersmann) * added unique volume names for unnamed filesystems * updated documentation *** What's new in 0.2 *** * speed-up in directory listing * reduced memory usage and fragmentation * added some error requesters * works also when blocksize is not specified correctly * better handling files larger than 2 GB (these files are reported as 2 GB, not as filesize modulo 4 GB) *** Features *** * support for Ext2 and Ext3 partitions * support different blocksizes (automatically adapts to different blocksize) * special un*x files like socket, pipe or devices are listed as files with 0 size * hardlinks and symlinks (softlinks) are supported * transparent support for un*x path names (like "../etc") * unique volume names for unnamed filesystems * configurable cache size * thanks to great libDeviceIO from Marcin 'Morgoth' Kurek there is: - effective and fast read cache system - support for partitions beyond 4GB boundary (using TD64) *** Limitations *** * read-only support (this is a subject to change in future versions) * it is simple handler not a filesystem (you cannot put it in RDB for automount on startup) * no removable media (i.e. floppies) support yet *** Cache size and disk buffers *** From version 0.4 you can adjust number of memory buffers used by this filesystem. Just set 'Buffers' field in mountlist to the requested number of buffers. The only difference between this and other filesystems that the size of SIGNLE buffer is 16KB, NOT the size of filesystem block. So setting 64 buffers will use about 1MB of memory! Reasonable value for EXT2 filesystem is over 128 or 256 buffers (2MB or 4MB), otherwise overall speed of the filesystem will be rather low. *** How to install *** Step 1 - determine the block size of the specified file system This can be easily done with dumpe2fs tool under linux. Simply type "dumpe2fs -h /dev/", where is a device with specified filesystem. In the middle output there is a line with "Block size". Remember its value. For most of EXT3 filesystems it is 4096 and for most of the EXT2 filesystems it is 1024. Step 2 - correcting partition parameters in RDB Run SCSIConfig (or other tool used for partitioning your HD). Select ext2 partition. Set blocksize you got in step 1. Also turn 'Mount' option on. Save you changes and reboot machine. Step 3 - creating mountlist Run 'MakeMountList' tool (included) with the ext2 partition name as an argument. Save generated mountlist and open it in your favourite editor. Remove the first line (partition name) and the last line ('#' character). Change 'GlobVec' field to '-1' (if it was set to '0'). Change 'DosType' field to '0x45585432'. Change 'Buffers' field to requested value (more info in 'Cache size' paragraph). Change 'Stack' field to '16384' (just in case). Add these lines to the mountlist: FileSystem = L:EXT2FileSystem Activate = 1 Save mountlist. Step 4 - cleaning up RDB Run SCSIConfig once more and select ext2 partition. Turn 'Mount' option off. Save changes and reboot machine. Step 5 - finish Copy EXT2FileSystem to SYS:L and mount your EXT2 partition with shell 'mount' command. You should see an extra icon on your Ambient/Workbench screen. *** Additional informations *** If you want to change or set the volume name of EXT2 partition, use 'tune2fs' tool under Linux: tune2fs -L /dev/ If you want to have EXT2 partition mounted every boot, copy your mountlist to SYS:Devs/DOSDrivers If you want to set blocksize manually use SectorsPerBlock field in mountlist, not the SectorSize field (it cointains physical blocksize of the disc and almost always should be left untouched). The default SectorSize is 512 (in case when this field is missing in mountlist). Set SectorsPerBlock to Blocksize/SectorSize. For example to set blocksize to 4096, set SectorsPerBlock to 8 (4096/512 = 8). If you whan to mount partition from disk which has partitions in PC (MDB) format, use 'mountdos' from Aminet. Use 'GENERATE' option and correct generated mountlist in way that is written in 'Install Step 3' section. *** Author, contact and copyright infos *** EXT2FileSystem has been written by Marek 'March' Szyprowski . Mail me if you have any suggestions or found a bug. Copyright (C) 2004,2005 Marek 'March' Szyprowski EXT2FileSystem uses livDeviceIO by Marcin Kurek (Morgoth/Dreamolers-CAPS). Big thanks to him for it and for help in writing this driver.