Commit Graph

91 Commits

Author SHA1 Message Date
Arne Fitzenreiter
ad73008393 memtest: update to memtest86+ v6.00
This is now a version 64bit version that can also boot via efi.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2022-11-18 14:37:25 +00:00
Michael Tremer
fbd0608c2c cdrom: Rename ISO file
This is cosmetic change to have the name of the ISO file similar to the
flash image and also have all parts of it in a reasonable order.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-08-11 18:33:50 +00:00
Peter Müller
9a271cf7a8 cdrom: Symlink /etc/mtab to /proc/self/mounts
See cad2ce78dd for details.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-04-13 11:39:31 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.

While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.

Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.

In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.

Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
2022-04-02 14:19:25 +00:00
Michael Tremer
2b7c6f8e92 dracut: Remove hard-coded configuration from command line
This is now configured globally in dracut

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2022-03-14 15:18:21 +00:00
Michael Tremer
5621b0ef0a cdrom: Compress file system image using Zstandard
This patch uses the new Zstandard algorithm to compress the file system
image on the ISO image. This comes with these advantages:

* Compression is about twice as fast than XZ with the parameters we have
  selected here
* We use a lot less memory during compression and can therefore utilise
  all processor cores of the build machines
* Decompression (when installing IPFire and when creating the
  flash-image) is substantically faster

The downside is that the generated ISO image is slighty larger (~10MiB)
which I am okay with as a trade-off for the points mentioned above.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-14 08:28:46 +00:00
Arne Fitzenreiter
aafdd71b04 switch arm 32 bit arch from armv5tel to armv6l
we have no supported armv5tel board left so we can switch to the higher
arch. This now can use the vpu (still in softfp calling convention to
not break existing installations.)
this fix many compile problems, also boost is now working again.

Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-07-05 07:42:39 +02:00
Michael Tremer
b37678e922 Package extended attributes in distro.img and Core Updates
System capabilities are stored in extended file system attributes
which are by default not stored in tar balls.

This patch ensures that they are packaged and extracted.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-01-06 14:45:02 +00:00
Michael Tremer
70e7351c3e core-updates: Ensure we have no temporary data in the package
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-24 08:58:10 +00:00
Michael Tremer
64926f7599 cdrom: Cleanup everything after mastering
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-24 08:56:40 +00:00
Michael Tremer
7c62b3a587 cdrom+flash-image: Move all temporary files to /tmp
Since /tmp is now a ramdisk, we move all temporary files into it.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-21 16:03:09 +00:00
Michael Tremer
cd8ee3021c cdrom: Do not write the temporary tarball to disk
In order to remove any duplicate files in the tarball, we
have to unpack it again. The whole filesystem is written
to disk twice which is unnecessary.

This patch removes that temporary step and reduces IO
during the build.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-21 16:02:55 +00:00
Arne Fitzenreiter
590f879b34 python3: exclude __pycache__ from iso, core and packages
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-11 21:22:07 +01:00
Peter Müller
eee037b890 update disclaimer in LFS files
Most of these files still used old dates and/or domain names for contact
mail addresses. This is now replaced by an up-to-date copyright line.

Just some housekeeping... :-)

Signed-off-by: Peter Müller <peter.mueller@link38.eu>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-09-10 19:20:36 +01:00
Michael Tremer
046ef135e6 Merge remote-tracking branch 'origin/efi' into next 2018-08-16 12:49:13 +01:00
Arne Fitzenreiter
b403b04a13 initrd: add early microcode load
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2018-08-05 13:32:36 +02:00
Michael Tremer
de7c8df83e cdrom: Move list of EFI modules to lfs/cdrom
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-25 10:54:35 +01:00
Michael Tremer
0efda7ac67 cdrom: Re-order arguments again
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-23 23:10:36 +01:00
Michael Tremer
5d657243cf cdrom: The order of arguments for mkisofs seems to be relevant
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-22 22:31:30 +01:00
Michael Tremer
3deac294f5 cdrom: mkisofs seems to not like the order of the arguments
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-16 22:35:21 +01:00
Michael Tremer
092bc105e4 cdrom: Run isohybrid only when we have syslinux
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:54 +01:00
Michael Tremer
a1eb776199 cdrom: Fix building GRUB image for aarch64
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:53 +01:00
Michael Tremer
4790db5f95 cdrom: Install ISOLINUX only on some architectures
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:53 +01:00
Michael Tremer
0ce1e4906e cdrom: Install iPXE only on x86
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:53 +01:00
Michael Tremer
b7407ccad5 cdrom: Install memtest only on x86
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:53 +01:00
Michael Tremer
f096a2ea98 flash-image+cdrom: Execute ARMv5-specific code on ARMv5
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:52 +01:00
Michael Tremer
6b44fee76f cdrom: Keep the EFI image on the ISO9660 file system as well
This allows systems to boot the EFI bootloader from the CDROM
file system instead of using the FAT filesystem which is for USB keys.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:51 +01:00
Michael Tremer
5765b49bff cdrom: Add grub.cfg that allows to install IPFire
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:51 +01:00
Michael Tremer
5f387a1b86 cdrom: Install GRUB into EFI image
This will start GRUB on EFI systems when booting from CD

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Michael Tremer
f4330e19b1 Fix syntax error in lfs/cdrom
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Michael Tremer
ba3cbb0cfb Adjust variables that have been renamed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Michael Tremer
7b4323c66e cdrom: Simplify commands that author the ISO image
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Michael Tremer
5f52a95646 cdrom: Build EFI-enabled ISO image
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-07-14 13:43:50 +01:00
Matthias Fischer
c22976907e tar: Update to 1.30 (V3)
For details see:
https://www.gnu.org/software/tar/

Since new 'tar' has changes in commandline option parsing,
it was necessary to adjust 'lfs/Config, 'lfs/cdrom' and
'lfs/core-updates' (thanks to Marcel for diffs and Michael for
corrections).

I have tried to make only the most necessary changes.

As always, please check.

Best,
Matthias

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-06-06 14:03:07 +01:00
Michael Tremer
0054a52bd8 tar seems to ignore the XZ_OPT variable sometimes
This caused that the xz command was called without any
extra arguments. This will now create the tar archive
first and then pass the archive through xz with our
command line switches.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-21 20:59:06 +01:00
Matthias Fischer
27267889aa xz: Performance and compression tuning (V2) - fine tuning
Changes since V1:

- Tuned some more 'tar'-command lines
- Included 'lfs/core-updates'
- Some fine-tuning

Hi,

Current results with V2 (clean builds):

'next':
'packages' => 255 MB
'ipfire-2.19.2gb-ext4.i586-full-core121.img.gz => 319 MB
'ipfire-2.19.i586-full-core121.iso' => 218 MB
Total => 792 MB

'xz-tuning':
'packages' => 228 MB
'ipfire-2.19.2gb-ext4.i586-full-core121.img.gz' => 318 MB
'ipfire-2.19.i586-full-core121.iso' => 207 MB

Total => 753 MB (-39 MB)

It would be nice if someone could review and test these. ;-)

If necessary, I can upload a complete patch.

Best,
Matthias

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-21 20:59:06 +01:00
Matthias Fischer
0d7a6f03d4 xz: Performance and compression tuning (V1)
Hi,

as mentioned in the "list", we're trying to make the archives as small as possible
using 'xz'-compression.

In order to achieve this, this patch tests the size of the memory available on the
host system.

It sets the xz-memory-limit (--memory=[N]Mib) to 70% of the available working memory,
a maximum of four xz-'worker threads' (-T4) and a compression rate of '-8' (-8).

These options are written to the 'XZ_OPT=' environment.

For details see:
https://linux.die.net/man/1/xz

I have set the number of available xz-'worker threads' (-T) to four (-T4), because during
the final tests the '-T0' parameter led to error messages snd stopped: 'cannot allocate memory'.
It wouldn't even run with 90%.

Furthermore, testing with '-T0' led to countless messages filling  up '_build.packages.log'.

E.g.:
...
xz: Adjusted the number of threads from 8 to 2 to not exceed the memory usage
limit of 1557 MiB
...

Tests took place on a 32bit-Ubuntu 16.04.4-system with 8 GB RAM and an Intel I7-2600.
Build time was about 04:30 hrs. Perhaps a 64bit-system would perform better (higher
values), but my goal was to make this run on as many systems as possible, so I choosed
these averages.

If minimum requirements (1024 MB RAM) are not met, building stops.

Current results:

'next', untuned:
ipfire-2.19.2gb-ext4.i586-full-core121.img.gz	=> 332951687 Bytes
ipfire-2.19.i586-full-core121.iso		=> 228589568 Bytes

'next', XZ_OPT: -T4 -8, 70% RAM:
ipfire-2.19.2gb-ext4.i586-full-core121.img.gz	=> 329725723 Bytes
ipfire-2.19.i586-full-core121.iso		=> 217055232 Bytes

These two resulting archives are 14760300 Bytes smaller than before.

Best,
Matthias

Signed-off-by: Matthias Fischer <matthias.fischer@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-21 20:59:06 +01:00
Michael Tremer
3ed1c621cf Revert "Add Intel microcode updates from Jan 2018"
This reverts commit d404b1dba2.

Intel has pulled these microcode updates because of
random system reboots and systems becoming unstable.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-01-24 16:08:22 +00:00
Jonatan Schlag
d404b1dba2 Add Intel microcode updates from Jan 2018
Add intel microcode to the distribution and configure dracut in a way
that the microcode is loaded early in the boot process.

Fixes #11590

Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
Acknowledged-by: Arne Fitzenreiter <arne.fitzenreiter@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-01-14 15:25:08 +00:00
Michael Tremer
348ba8e2c5 Revert "Use best XZ compression for smaller images and packages"
This reverts commit 5fd54721c2.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-10-18 12:35:19 +01:00
Michael Tremer
9dcfcb0039 Revert "cdrom: Use -8 as compression parameter"
This reverts commit 77ad762c43.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-10-18 12:35:04 +01:00
Michael Tremer
77ad762c43 cdrom: Use -8 as compression parameter
This is a better compromise on memory usage and file size

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-10-17 21:16:41 +01:00
Michael Tremer
5fd54721c2 Use best XZ compression for smaller images and packages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-10-17 15:23:26 +01:00
Michael Tremer
c061d66fca cdrom: Change format to XZ and compress in parallel
This allows us to use all processor cores to compress
the image faster.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-10-17 14:58:52 +01:00
Michael Tremer
dc7d6b204d make.sh: Cleanup of polluted environment
The build environment is using a number of variables which
occasionally conflicted with some other build systems.

This patch cleans that up by renaming some variables and
later unexporting them in the lfs files.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-05-18 12:02:03 +01:00
Arne Fitzenreiter
bfc3e1f340 Revert "cdrom: Disable memtest on x86_64"
This reverts commit 5d1c3aca0a.
2015-09-15 20:46:37 +02:00
Michael Tremer
5d1c3aca0a cdrom: Disable memtest on x86_64
memtest does currently not build on x86_64 and
we can leave it out for a moment until that has
been fixed to be able to master an ISO image
2015-09-05 10:15:15 +02:00
Michael Tremer
38c6822d3c installer: Make restoring the backup interactive 2014-10-15 23:38:05 +02:00
Michael Tremer
2d38ca795a cdrom: Strip all binaries put into the installer ramdisk 2014-08-14 14:21:55 +02:00
Michael Tremer
5315fae6b3 Move installer to its own directory. 2014-07-30 22:04:35 +02:00