Go to file
Yann E. MORIN 319d2735f9 fs/ext2: generate Y2K38-resilient filesystems
When creating a filesystem, mkfs.ext will chose the inode size depending
on the size of the filesystem. Small filesystem get 128-bytes inodes,
while bigger filesystems use 256-byte inodes (inode must be a power of 2
larger or equal to 128, and smaller or equal to the blocksize).

However, 128-byte inodes can't store timestamps past the dreaded
2038-01-19 03:14:07Z deadline, while inodes larger than or equal to 256
do not have the issue.

It turns out that the tipping point to decide whether a filesystem is
small or big, is about around the size of the filesystems we generate
for our runtime tests. This causes the kernel to emit warning like:

    ext2 filesystem being remounted at / supports timestamps until 2038 (0x7fffffff)

We add a new option to our ext2 filesystem, so that user can specify the
size of the inode. That new option defaults to 256 to be resilient to
the Y2K38 problem.

Note: it was already possible for users to explicitly pass the -I
option, through BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS. We could have
chosen to extend the existing value with a -I 256, but that is not
satisfactory. Indeed, we do want to ensure that the default is now
Y2K38-OK, even for existing configurations that did not have explicit
setting.

We also pass that new option before the user-specified arbitrary ones,
so that BR2_TARGET_ROOTFS_EXT2_MKFS_OPTIONS still wins (in case -I was
set there).

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
[Peter: tweak help text]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2022-12-14 20:29:11 +01:00
arch arch/arch.mk.xtensa: relax check on overlay file to apply only to internal toolchains 2022-11-13 22:32:31 +01:00
board nezha_defconfig: bump u-boot to current top of d1-wip 2022-12-13 21:19:19 +01:00
boot boot/sun20i-d1-spl: drop package 2022-12-13 21:20:53 +01:00
configs nezha_defconfig: bump Linux to current top of d1/wip 2022-12-13 21:19:34 +01:00
docs docs/website: update for 2022.02.8 2022-12-10 20:59:24 +01:00
fs fs/ext2: generate Y2K38-resilient filesystems 2022-12-14 20:29:11 +01:00
linux package/linux-headers: drop 5.19.x option 2022-12-11 11:32:26 +01:00
package package/xz: bump to version 5.2.10 2022-12-14 20:05:36 +01:00
support support/testing: add test for python-dicttoxml2 2022-12-11 21:18:57 +01:00
system package/systemd: add setting for systemd default.target 2022-05-02 22:58:44 +02:00
toolchain toolchain/Config.in: fix check-package warning 2022-11-25 21:31:56 +01:00
utils utils/genrandconfig: add mxs-bootlets board handling 2022-12-05 08:14:00 +01:00
.clang-format .clang-format: initial import from Linux 5.15.6 2022-01-01 15:01:13 +01:00
.defconfig arch: remove support for sh64 2016-09-08 22:15:15 +02:00
.flake8 Revert ".flake8: fix check for 80/132 columns" 2021-01-02 17:38:20 +01:00
.gitignore
.gitlab-ci.yml utils/checkpackagelib/lib_sysv: run shellcheck 2022-02-06 18:27:03 +01:00
.shellcheckrc utils/check-package: improve shellcheck reproducibility 2022-07-25 23:52:47 +02:00
CHANGES Update for 2022.02.8 2022-12-10 20:57:31 +01:00
Config.in Config.in: move toolchain menu before build options 2022-07-27 11:11:19 +02:00
Config.in.legacy boot/sun20i-d1-spl: drop package 2022-12-13 21:20:53 +01:00
COPYING
DEVELOPERS boot/sun20i-d1-spl: drop package 2022-12-13 21:20:53 +01:00
Makefile Merge branch 'next' 2022-12-05 10:01:26 +01:00
Makefile.legacy Remove BR2_DEPRECATED 2016-10-15 23:14:45 +02:00
README docs: move the IRC channel away from Freenode 2021-05-29 22:16:23 +02:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches