Commit Graph

2220 Commits

Author SHA1 Message Date
Michael Tremer
9db251ee0b linux: Tidy up the messy KVER variable
This variable never actually held the kernel version. There were always
suffixes appended and other things changed about it. This makes it a lot
simpler as this variable now holds the actual kernel version.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:09:17 +00:00
Michael Tremer
8ea702f3f8 make.sh: Fix build with kernels < 6.0.0
unshare(8) seems to fail with kernels older than 6.0.0 when mounting
the /proc filesystem in the inner namespace. This seems to be an bug
where unshare does not even try to mount the /proc filesystem but tries
to make its mount propagation private.

This is now solved in that way that we will use unshare on newer kernels
but will fall back on manually mounting the /proc filesystem once we have
entered the chroot environment.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:06:23 +00:00
Michael Tremer
f3c360cd6e make.sh: Swap mount propagation
When we create the outer mount namespace, we still want to receive any
mounts from the host system which is why we set it to slave.

The second mount namespace should be a copy of the outer one but should not
propagate anything back to the outer mount namespace.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-19 18:05:16 +00:00
Michael Tremer
5e45d49e97 make.sh: Don't abort the build if the terminal is being resized
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-16 15:57:12 +00:00
Michael Tremer
7eecaf4e71 make.sh: Forward the proxy configuration to the chroot shell
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-15 15:44:31 +00:00
Michael Tremer
ecacbaacba make.sh: Cleanup the images directory, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-08 18:31:01 +00:00
Michael Tremer
3e0719398a make.sh: Fix passing the build directory find-dependencies
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-08 18:30:15 +00:00
Michael Tremer
f5160566b2 make.sh: Bring up the loopback device in the new namespace
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 16:17:39 +00:00
Michael Tremer
07358a9fc5 make.sh: Grant network access when downloading packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 14:11:04 +00:00
Michael Tremer
dae1ac41e3 make.sh: Bind-mount /etc/resolv.conf and /etc/hosts
This allows us to have name resolution in the shell without any manual
configuration.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 13:45:08 +00:00
Michael Tremer
91942800f9 make.sh: Entirely disable network access in the build environment
Except when in the shell.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 13:38:30 +00:00
Michael Tremer
64feedbcf6 br2684ctl: Drop package
This tool is now part of linux-atm.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-06 09:12:45 +00:00
Michael Tremer
cf4b9118e3 make.sh: Show the packages that failed to download
https://lists.ipfire.org/hyperkitty/list/development@lists.ipfire.org/thread/VCTWCJKYKCGN7TUKMYWVJY3QUX4FIDT5/

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-08-02 17:56:17 +00:00
Michael Tremer
357211c24f Start Core Update 188
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:21 +00:00
Michael Tremer
a44e11e8bb make.sh: Only catch the error code that triggered the timer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
b368b19020 make.sh: Ignore directories as packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
59e07d4ba8 make.sh: Store the PID in a variable to avoid $! being overwritten
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
63faf35972 make.sh: Fix checksum generation of the toolchain once again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
b1cf1d9cfb make.sh: Join compression arguments as a string
Otherwise, the array gets split and tar cannot identify which option
belongs to where.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
a8e1086954 make.sh: Use the print_line function for correct padding
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
2c33bdf0e5 make.sh: Don't be verbose when creating the packages dir
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
56312598b3 make.sh: Erase the line when resizing the screen
This should leave less clutter, but there is still some.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
9bdc9a5b80 make.sh: Remove the PWD variable
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
0de9b40351 make.sh: Refactor the terminal output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
1ab2481875 make.sh: Enable the timer for the toolchain, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
a3bd0672b3 make.sh: Always create /root in the chroot environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
75493bbcb3 make.sh: Fix mounting the QEMU helper binary
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
1090b297aa make.sh: Set PATH before entering the chroot environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
54d59f56c2 make.sh: Fix toolchain checksum validation
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
c08841bb49 make.sh: Export BUILD_DIR and LOG_DIR
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
829f2b465e make.sh: Create the /tools symlink to the right place
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
a28226714b make.sh: Pass extra options in lfsmake1
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
64192acb7f make.sh: Use less aggressive compression for Zstandard
Otherwise this takes way too long.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
d4ad987a5d make.sh: Drop stripping
This will massively improve the build process because we will only strip
the files that we need. The build system will remain as is.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
8f1c5b617d make.sh: Correctly pass ZSTD_OPT
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
cd89b58820 make.sh: Use --long for Zstandard compression
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
36fb6a6605 make.sh: Create Core Update packages, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
f43ebebce4 make.sh: Create loop devices as block devices
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
eba9f280f8 make.sh: Don't drop into the lfs/ directory when entering a shell
This is not a very useful place to be.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
20e4920621 make.sh: Refactor building packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
27d0a2c477 make.sh: Simplify the initial configuration a little bit more
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
ba844d1dc8 make.sh: Change execute() so that it can be used outside the namespaces, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
560b9ecc81 make.sh: Use the new package function to download sources
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
abbcbd1a97 make.sh: tail on the preparation log file, too
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
dd813c6bc8 make.sh: Explicitely download packages when building the toolchain
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
761e95ad0c make.sh: Don't revalidate the images all the time
Calling b2 causes make to verify all source which creates a lot of IO.

This is not really necessary because install will do the same and the
build would fail if the source checksums didn't match.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
449f2879af make.sh: Refactor the execute function
The first version was a little bit messy with all the checks in all
sorts of places. We now create one large array and update it whenever
the configuration changes.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
9fc24981fa make.sh: Create a large unified function to run commands
This now includes the toolchain for which we need to set up the same
environment, except slightly differently.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
e9fcb8c36d cdrom+flash-images: Write images to the images directory
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00
Michael Tremer
28fa687731 make.sh: Split environment and make variables
This got very messed up in the past and I think we would benefit greatly
from splitting this again for a less cluttered environment in the build
chroot and reusability of the make commands for the different stages.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2024-07-22 15:21:20 +00:00