summaryrefslogtreecommitdiff
path: root/Meta/build-image-qemu.sh
AgeCommit message (Collapse)Author
2022-03-30Meta: Fix e2fsck variable on macOS in build-image-qemu.shTom Maisey
Despite carefully adding homebrew's e2fsprogs to the PATH, the script then defined E2FSCK as if we are always on Linux.
2022-02-19Meta: Explicitly set number of available inodes for genext2fsGunnar Beutner
According to its manpage genext2fs tries to create the file system with as few inodes as possible. This causes SerenityOS to fail at boot time when creating temporary files.
2022-02-05Meta: Fix problematic `e2fsck` behavior (Debian)Στέφανος
Under Debian `e2fsck` is found in `/sbin/` which does not match the existing "version" the script currently uses (`/usr/sbin/e2fsck` versus `/sbin/e2fsck`); therefore I added a simple `if` condition to remedy the situation by verifying whether the original path exists or not, so I can use the one Debian expects. Special thanks goes to Tim Flynn a.k.a. `trflynn89` for his valuable feedback.
2022-02-01Build: Remove hardcoded executable pathLucas CHOLLET
Let which find the fuse2fs executable path for us, as it is not in `/usr/sbin` in every distro.
2022-01-28Meta: Check if gdu is part of GNU coreutilsMika Sundland
2022-01-13Meta: Use fuse2fs if available to avoid root when building imageChris Frey
The fuse2fs tool that is part of e2fsprogs-1.46 has a 'fakeroot' mount option. This allows a non-root users to modify file ownership and permissions without actually being root. This package is available in Debian bullseye and buster-backports. If available, the script assumes the user wants to use it. Otherwise, it falls back to the usual root requirements. Now that root is not required, the root check in build-root-filesystem.sh is not necessary. Since build-root-filesystem.sh has 'set -e' enabled, removing this check will not cause a change in functionality.
2022-01-13Meta: Use consistent indents in build-image-qemu.shChris Frey
This is a whitespace only commit to avoid confusion with the next feature commit.
2022-01-13Meta: Do not ignore error message with execChris Frey
When calling sub-programs from shell with exec, the useful || die idiom does not actually do anything, since the first script is gone.
2021-12-29Meta+Documentation: Don't rebuild disk image for every run on OpenBSDtuftedocelot
2021-08-18Meta: Assume and find GNU duMartin Åberg
We want to use use the 'du' option '--apparent-size' which is a GNU coreutils extension. GNU coreutils is a build dependency so we know it is available. With this commit we first try to pick up du as 'gdu', and if that fails, try 'du' instead.
2021-08-18Meta: Create memory disk before mounting it on FreeBSDMartin Åberg
There was previously a case where the build-image-qemu.sh script decided to mount an existing disk image, but without creating the memory disk device and recording its /dev file name. After this commit, We create the memory disk device just before it is used to mount the disk image.
2021-08-13Meta: Tune default QEMU disk sizeJean-Baptiste Boric
Having lots of small files in Base/ may require more inodes in the ext2 filesystem than the format utility sets aside by default. Let's make a more educated guess since we have a rough idea of how many inodes we need by counting files and directories.
2021-07-24Meta: Add Homebrew paths for macOS on M1 to the PATH env variableGunnar Beutner
2021-07-03Meta: Prefer to use the QEMU binaries from the toolchain directoryGunnar Beutner
2021-06-17Meta: Increase additional space for disk imagesGunnar Beutner
Previously we'd add 100MB on top of what du returned for the Root directory. This increases that to 500MB.
2021-05-16Meta: Run 'du' with '--apparent-size', except on macOSSiddharth Kapoor
Fixes #7172.
2021-05-09Meta: Always try genext2fs as fallback to build disk imageEric Butler
If mounting disk image fails (e.g. fuse is not available on macos), always try using genext2fs before giving up.
2021-04-23Meta: Re-use existing disk image where possibleGunnar Beutner
This adds support for re-using and re-sizing existing disk images. Disk images are checked with e2fsck prior to re-use and a new disk image is automatically created when that check fails.
2021-04-20Everywhere: Replace SERENITY_ROOT with SERENITY_SOURCE_DIRPanagiotis Vasilopoulos
2021-02-14Build: Sprinkle some portability, fix on OpenBSDjoshua stein
realpath(1) is specific to coreutils and its behavior can be had with readlink -f Create the Toolchain Build directory if it doesn't exist before calling readlink, since realpath(3) on at least OpenBSD will error on a non-existent path
2020-10-20Build: Modify various parts to allow the build to succeed on FreeBSDLaurent Cimon
2020-07-28Meta: Fix style of image building scriptsPeter Elliott
Oops. I didn't know there was a style guide for the scripts.
2020-07-28Meta: Calculate image size based on size of Build/Root and BasePeter Elliott
This reduces the size of the default build, while allowing people to install as many ports as they want, without having to manually specify disk size.
2020-06-21Meta: default SUDO_UID and SUDO_GID to 0 in build-image-*.sh scriptsEmanuele Torre
In the GNU coreutils version of chown, ":" is a valid argument (the command will result in a no-op), but POSIX chown does not consider that valid. If the user who ran build-image-*.sh was root, SUDO_UID and SUDO_GID would not be set and, if the version of chown installed on the system did not allow passing just a ":" as argument, the script would fail. Let's default the value of SUDO_UID and SUDO_GID to 0 just in case.
2020-06-21Meta: get rid of sync.sh using the technique used in the previous commitEmanuele Torre
2020-05-22Build: Add DockerfileYonatan Goldschmidt
2020-05-14Build: Switch to CMake :^)Sergey Bugaev
Closes https://github.com/SerenityOS/serenity/issues/2080