path: root/fs/ext2
Commit message (Collapse)AuthorAgeFilesLines
* Normalize separator size to 80Gravatar Jerzy Grzegorek2013-06-071-2/+2
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package/genext2fs: add host variantGravatar Yann E. MORIN2013-06-031-0/+1
| | | | | | | | | | | | | | | | | | | | | genext2fs is built only if the user selected an ext2 root filesystem. However, some use-cases can't live with the full target/ dir on the root filesystem, and requires separate partitions (eg. for /usr). In this case, the user would not select an ext2 root fs in the Buildrooot menu, and would only generate a tarball of the rootfs. This tarball would then be used from a post-image script to build the actual required FSes. But then, genext2fs is not built, since the ext2 root FS was not selected. As for the other filesystem generators, provide a host variant of genext2fs (genext2fs is already host-package aware, so only needs adding a Kconfig entry). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: further fix to the UUIDGravatar Yann E. MORIN2013-05-291-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Turned out that setting a nil-UUID is no better than clearing it. What currently happens is as follows: - first, genext2fs does not generate a UUID - then we tune2fs to upgrade the filesystem - then we run fsck, which generates a random UUID - then we re-run tune2fs to set a nil-UUID So, on the target, if the file system is improperly unmounted (eg. with a power failure), on next boot, fsck may be run, and a new random UUID will be generated. *However*, fsck improperly updates the filesystem when it adds the UUID, and there are a few group descriptor checksum errors. Those errors will go undetected until the next fsck, which will then block for user input (bad on embedded systems, bad). Fix that by systematically generating a random UUID _before_ we call to fsck. A random UUID is not so bad, after all, since there are already so many sources of unpredictability in the filesystem: files date and ordering, files content (date, paths...) which renders a fixed UUID unneeded. And it is still possible to set the UUID in a post-image script if needed, anyway. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Peter Korsgaard <jacmet@uclibc.org> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: explicitly set a NULL UUIDGravatar Yann E. MORIN2013-05-281-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | "tune2fs -U clear" creates an invalid filesystem, that fsck.ext2 whines about later: $ make rootfs-ext2 [--SNIP--] $ ./host/usr/sbin/fsck.ext4 images/rootfs.ext2 e2fsck 1.42.7 (21-Jan-2013) Filesystem did not have a UUID; generating one. images/rootfs.ext2: clean, 4616/5120 files, 53171/131072 blocks $ ./host/usr/sbin/fsck.ext4 -f images/rootfs.ext2 e2fsck 1.42.7 (21-Jan-2013) One or more block group descriptor checksums are invalid. Fix<y>? yes Group descriptor 0 checksum is 0x4131, should be 0x8bdb. FIXED. [--SNIP--] So we set an explicitly NULL UUID instead. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/common: add support for LZO and XZ compression methodsGravatar Gustavo Zacarias2013-04-241-0/+10
| | | | | | | | Add support for LZO and XZ compression methods to cpio, ext2, tar and ubifs filesystem targets. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: bump journal overhead to 1300 blocksGravatar Peter Korsgaard2013-04-121-6/+3
| | | | | | | | | | | | | | | | | A quick test with a ~3.5MB ext4 filesystem shows that 1081 blocks isn't enough: tune2fs 1.42.7 (21-Jan-2013) Please run e2fsck on the filesystem. Creating journal inode: Journal size too big for filesystem. So bump it a bit. Overestimating the journal size is probably not really a big deal for the kind of systems using ext3/4 anyway. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: remove count- and time-based fsckGravatar Yann E. MORIN2013-04-121-2/+5
| | | | | | | | | | | Set the count- and time-based checks intervals to 0, thus effectively disabling automatic checks at boot (after a suggestion by Arnout). Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: add support for ext2 rev0 and rev1Gravatar Yann E. MORIN2013-04-123-7/+28
| | | | | | | | | | | | | Some bootloaders have a buggy ext2 support, and require ext2 rev1 instead of the traditional ext2 rev0 that genext2fs produces. tune2fs accepts only one '-O list' at a time, so we need to construct a list of -O options. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: add a symlink 'rootfs.ext#' -> 'rootfs.ext2'Gravatar Yann E. MORIN2013-04-121-0/+7
| | | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: add ability to build ext3/4 tooGravatar Yann E. MORIN2013-04-123-10/+105
| | | | | | | | | | | | | | | | | | | | | | Use the host-e2fsprogs to tune2fs the generated rootfs.ext2 image, and upgrade it to either one of ext2, ext3 or ext4. Since calling tune2fs may require running e2fsck (tune2fs will warn to do so when certain FS options are changed), we systematically call e2fsck. This makes the code path simpler, and as a side-effect checks that genext2fs did not generate garbage. In turn, e2fsck will unconditionally add a UUID to the filesystem, which is bad for reproducibility, so we call tune2fs again to remove the UUID. This does not require checking the filesystem. To ensure compatibility of Buildroot's .config, leave ext2 as the default. Boards' .config can override this at will. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Arnout Vandecappelle <arnout@mind.be> Cc: Peter Korsgaard <jacmet@uclibc.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: enclose the ext2 options in if...endifGravatar Yann E. MORIN2013-04-121-4/+3
| | | | | | | | | | Use a 'if...endif' construct instead of repeating the 'depends on' for each symbols. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Arnout Vandecappelle <arnout@mind.be> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/common.mk: delay evaluation of variablesGravatar Arnout Vandecappelle (Essensium/Mind)2013-01-201-1/+1
| | | | | | | | | | | | | | | | | | | | | This makes things easier to understand and more consistent with the pkg-infra. For example, it removes the need for '$$@' in the CMD variables of fs/*/*.mk. It also makes it possible to update the variables later, e.g. in the package override file. It also makes sure that the date will be recorded correctly in Yann E. Morin's patch that logs the MESSAGE macros to a file. The fs/*/*.mk must be updated as well because the '$@' shouldn't be quoted anymore in the CMD variables or the hooks. The $(eval ...) for the dependencies is redundant, because the $(ROOTFS_TARGET) variable is already eval'd. Note that it is only redundant if the evaluation of the uses of the variable is also delayed. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: remove redundant BR2_TARGET_ROOTFS_EXT2_SQUASH optionGravatar Peter Korsgaard2011-01-142-9/+0
| | | | | | | The generic fs handling does a chmod -R 0:0 $(TARGET_DIR), so there's no need for a specific option to enforce this when making an ext2fs image. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: don't enable by defaultGravatar Peter Korsgaard2011-01-141-1/+0
| | | | | | | | | It's pretty uncommon to use ext2fs on embedded systems, so don't enable it by default. Adjust defconfigs to match. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* genext2fs.sh: improve number of blocks calculationGravatar Peter Korsgaard2010-12-301-14/+11
| | | | | | | | | | | | | Closes #2929 Instead of just adding a fixed amount to the blocks used, try to estimate the real space needed according to the filesystem structure (bitmaps, inodes, blocks). The side effect of this is that we no longer significantly overestimate the size needed for small file systems. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: fix blocks/inodes calculationGravatar Peter Korsgaard2010-04-192-11/+41
| | | | | | | | | | | With the ROOTFS_TARGET conversion, EXT2_OPTS gets evaluated very early (before TARGET_DIR is populated with files), so the calculated blocks/inodes numbers are wrong. Fix it by moving the calculation to a shell script wrapper around genext2fs, so it only gets executed just before genext2fs runs. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/ext2: fix typoGravatar Peter Korsgaard2010-04-191-1/+1
| | | | | | | | | BR2_TARGET_ROOTFS_EXT2_RESBLKS is an int, so test against 0 rather than the empty string - Otherwise the test is always true and a -m option without arguments is added to the argument list, causing genext2fs to get confused. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fs/*/Config.in: remove useless configuration commentsGravatar Thomas Petazzoni2010-04-091-6/+0
| | | | | | | The dependency on gzip, bzip2 and lzma are properly handled automatically. No need to tell the user about this. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Coherent naming for .mk files in fs/Gravatar Thomas Petazzoni2010-04-091-0/+0
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Move all filesystem generation code to fs/Gravatar Thomas Petazzoni2010-04-092-0/+101
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>