Commit Graph

589 Commits

Author SHA1 Message Date
nl6720
c8474f8dbe
Move the .uuid file to /boot/grub/YYYY-mm-dd-HH-MM-SS-00.uuid
To prevent the file from being accidentally missed when someone copies
the ISO's contents, let's not place it in a directory that starts with a
dot. Since all GRUB related files are in /boot/grub/, put it there too.

Instead of using a more unique UUID for the file name, use
`YYYY-mm-dd-HH-MM-SS-00.uuid` which matches the ISO's modification date
in UTC,i.e. its "UUID". If multiple ISOs would be generated in the exact
same second, the ISO 9660 modification date (i.e. its "UUID") would be
the same, so there would be not way to distinguish between the volumes
anyway. This also makes the file look less suspicious to the casual
glance.
2023-02-24 10:22:41 +02:00
nl6720
f7502001b0
configs/*/grub/grub.cfg: reuse ARCHISO_HINT and ARCHISO_UUID passed from the embedded grub.cfg
The `grub.cfg` embedded in the GRUB binaries already sets `ARCHISO_HINT`
and `ARCHISO_UUID` in most cases. To avoid performing the same searches
multiple times, use the existing variables.
2023-02-22 18:28:28 +02:00
nl6720
7c6f266ec9
configs/*/profiledef.sh: honor SOURCE_DATE_EPOCH
Ensure the **correct** date is used in `iso_label` and `iso_version`.
2023-02-22 18:03:13 +02:00
nl6720
28d2bc11e3
mkarchiso: do not place memtest86+ in netboot artifacts
Move memtest86+ to `/boot/memtest86+/` on ISO 9660. That directory is
not copied to netboot artifact output.

Netboot boot menu https://ipxe.archlinux.org/releng/netboot/archlinux.ipxe
does not have entries for memtest and archiso-manager removes these files
(not the EFI one, though) before uploading the release files anyway.
2023-02-10 08:29:37 +02:00
nl6720
0f34e4429a
configs/*/airootfs/etc/ssh/sshd_config: update to match 9.2p1-1
Update /etc/ssh/sshd_config to match changes made in
42aa04744e
and 7166713c55

The only modification remains `PermitRootLogin yes`.
2023-02-07 17:38:11 +02:00
nl6720
5587e031f3
Preload GRUB's NTFS, exFAT and UDF modules
There are claims that some UEFI allegedly natively support NTFS.
Preload the required GRUB modules to support booting from NTFS on such
systems.

Additionally preload the exFAT and UEF modules, because, why not?
2023-02-02 11:49:16 +02:00
nl6720
3f95d391ef
configs/*/grub/grub.cfg: search for a .uuid file in /.disk/ and use the volume it's on
Search for `/.disk/%UUID_SEARCH_FILENAME%.uuid` and pass the UUID of the
volume it's on as `archisodevice`. mkarchiso will replace
`%UUID_SEARCH_FILENAME%` with a hardcoded value generated using
`SOURCE_DATE_EPOCH` durring ISO build.

This allows to prepare an UEFI bootable installation medium by simply
copying the directory structure without having to touch `grub.cfg`.

Relying on the volume UUID instead of its LABEL also avoids collisions
of multiple ISOs created in the same month.

Fixes #202
2023-02-02 11:49:16 +02:00
nl6720
ab3d78860e
Update URLs
* Update mkinitcpio-archiso project link,
* Update code of conduct link,
* Update arch-releng mailing list link,
* Use HTTPS where possible,
* Replace dead link.
2023-01-29 11:11:38 +02:00
nl6720
55a1b132a0
configs/baseline/profiledef.sh: use LZMA compression for the EROFS image
Now that xz 5.4 is out and erofs-utils is built with LZMA support, it is
possible to compress the EROFS image with LZMA for higher compression.
`mkfs.erofs` trows a few warnings about using experimental features, but
they should not be an issue.

Nothing changes for the releng profile, for now at least.
2022-12-17 20:11:09 +02:00
nl6720
dedfe0364c
configs/releng/syslinux/archiso_pxe-linux.cfg: replace checksum and verify with cms_verify=y
Specify `cms_verify=y` in SYSLINUX/PXELINUX configuration to use OpenSSL
CMS based method for verifying the root file system image against the
code signing certificates in the initramfs.

`checksum` and `verify` are removed since they essentially serve the same
purpose and performing all the checks just needlessly delays boot.
Additionally, the removal of `verify` allows to build the ISO without gpg,
i.e. without using `mkarchiso`'s `-g` and `-G` options.

Fixes #200
2022-12-10 12:22:41 +02:00
Jonathan Liu
9d391c0925 Add Memtest86+ to x86_64 UEFI GRUB boot menu
Implements #203.
2022-12-03 20:56:18 +11:00
nl6720
477294955a
configs/releng/airootfs/root/.zlogin: use grep -a to ensure /proc/cmdline is treated as text
This protects against the case where /proc/cmdline contains garbage triggering grep to think it is a binary.
See e.g. https://bugs.archlinux.org/task/76468 for an example.
2022-11-12 11:35:36 +02:00
nl6720
e0e4d200c1
configs/releng/airootfs/etc/mkinitcpio.conf: replace the deprecated archiso_kms hook with kms
The archiso_kms hook was moved from mkinitcpio-archiso to the mkinitcpio project.

See 7bfe4861ea and dec17db532
2022-10-25 12:18:56 +03:00
nl6720
2f9cfdf42f
configs/: remove "Copy to RAM" boot entries since it is automatic now
The default is now copytoram=auto which enables copying to RAM when the rootfs image size is less than 4 GiB and free RAM exceeds the rootfs image size + 2 GiB.

See https://gitlab.archlinux.org/mkinitcpio/mkinitcpio-archiso/-/issues/13 and https://gitlab.archlinux.org/mkinitcpio/mkinitcpio-archiso/-/merge_requests/26.

Implements #177.
2022-10-22 17:31:46 +03:00
nl6720
f4f0a3a5ec
configs/: Do not explicitly enable qemu-guest-agent.service
qemu-guest-agent.service will be started by the /usr/lib/udev/rules.d/99-qemu-guest-agent.rules udev rule.

Fixes #199
2022-10-06 15:56:18 +03:00
David Runge
3f55c95613
Order pacman-init.service after time-sync.target
configs/releng/airootfs/etc/systemd/system/pacman-init.service:
Order pacman-init.service after time-sync.target, so that time on the host is synchronized before initializing pacman.
2022-09-25 15:39:28 +02:00
David Runge
69b22dc41f
Enable systemd-timesyncd and systemd-time-wait-sync
configs/releng/airootfs/etc/systemd/system/{dbus-org.freedesktop.timesync1},sysinit.target.wants/systemd-timesyncd}.service:
Enable systemd-timesyncd which aliases to dbus-org.freedesktop.timesync1 to ensure time gets synced on the host.

configs/releng/airootfs/etc/systemd/system/sysinit.target.wants/systemd-time-wait-sync.service:
Enable systemd-time-wait-sync to ensure time is finished syncing when time-sync.target is finished.
2022-09-25 15:36:18 +02:00
Tobias Powalowski
4d64a58a90 remove ipw2100-fw and ipw2200-fw, cleanup of [core] 2022-09-22 11:01:03 +02:00
nl6720
ced3d3ffa3
Order pacman-init.service before archlinux-keyring-wkd-sync.service
archlinux-keyring-wkd-sync.service needs an initialized pacman keyring to work.

Add BindsTo=etc-pacman.d-gnupg.mount to stop pacman-init.service if the mount unit suddenly enters inactive state.
2022-09-01 09:41:00 +03:00
nl6720
86540647db
configs/*/grub/grub.cfg: enable serial input and output
Try to initialize a serial device and use it for input and output.

Add more comments to grub.cfg to explain what is done.

Related to #75
2022-06-26 13:16:29 +03:00
nl6720
e654106ecf
configs/*/grub/grub.cfg: auto-boot after 15 seconds
* Set the default boot entry and its timeout.
* Add classes to menu entries to allow theming them.

Fixes #179
2022-06-23 08:27:44 +03:00
Alexander Epaneshnikov
eaa2f8ae78
change grub init tune
yes it was descriptive but too large. this fixes #180
2022-06-18 15:53:03 +03:00
nl6720
b72523e389
configs/baseline/profiledef.sh: add -E ztailpacking to airootfs_image_tool_options for mkfs.erofs
As the man page says, it saves more space, although the feature is experimental.
2022-06-18 08:47:25 +03:00
plainlinen
e51b6f6199 Use grub for uefi x64 boot modes in profiledef.sh 2022-06-09 22:39:43 -07:00
plainlinen
98de411847 Add useful grub menu entries to grub.cfg 2022-06-09 22:36:03 -07:00
nl6720
ba11c40e49
configs/: use the C.UTF-8 locale
The glibc 2.35-6 package ships with the C.UTF-8 locale included.
This means there is now a UTF-8 locale available by default and en_US.UTF-8, which requires editing /etc/locale.gen and running locale-gen, is not needed anymore.

Implements #175.
2022-06-09 08:27:50 +03:00
Alexander Epaneshnikov
2a1f44bbbf
fix boot menu entry sorting
I guess new systemd changed this
2022-05-28 15:23:02 +03:00
Alexander Epaneshnikov
3bacf05618
add accessible copytoram entry 2022-05-28 13:35:26 +03:00
Alexander Epaneshnikov
a7e33374fd
enable beeps in boot menu 2022-05-28 13:35:26 +03:00
Pellegrino Prevete
c335d5d392
Update baseline and releng profiledef.sh to support ia32 uefi mode. 2022-05-25 14:52:22 +00:00
Pellegrino Prevete
4e20b30faf
Add GRUB configuration files to baseline and releng profiles. 2022-05-25 14:50:49 +00:00
Darren Ng
a8f7762769 bind-tools has been replaced with bind 2022-05-17 02:17:56 +00:00
nl6720
8c837ca23b
configs/*: add VMware and Hyper-V guest packages and enable their services
* open-vm-tools package, vmtoolsd.service and vmware-vmblock-fuse.service for VMware.
* hyperv package, hv_fcopy_daemon.service, hv_kvp_daemon.service and hv_vss_daemon.service for Hyper-V.

Related to #118.
2022-04-30 12:07:36 +03:00
nl6720
dc681dc90f
configs/releng/airootfs/etc/xdg/reflector/reflector.conf: use mirrors that support both IPv4 & IPv6
This ensures that IPv6-only systems get working mirrors.
2022-04-28 17:52:40 +03:00
nl6720
4ef705847d
configs/releng/packages.x86_64: add open-iscsi
It is needed for installing Arch on an iSCSI target.
2022-04-28 13:42:10 +03:00
nl6720
ed24bbaa8e
configs/releng/packages.x86_64: add dmidecode
It is useful for finding information about the system's hardware and firmware.
2022-04-07 18:25:06 +03:00
nl6720
09b0428128
configs/releng/airootfs/etc/systemd/system/etc-pacman.d-gnupg.mount: use ramfs
When using tmpfs, it is possible that parts of it end up getting put in swap space (only if there is one).
This may not be desired, so use ramfs instead.
2022-04-06 18:10:37 +03:00
Tobias Powalowski
d185d09aab remove crda, removed from core recently 2022-04-05 16:42:54 +02:00
nl6720
ee2a721cea
Revert "Merge remote-tracking branch 'origin/merge-requests/239'"
People get scared by it. See https://gitlab.archlinux.org/archlinux/archiso/-/merge_requests/239#note_61954.

This reverts commit b5011af3f4, reversing
changes made to 07d8035624.
2022-04-04 15:20:52 +03:00
nl6720
b5011af3f4
Merge remote-tracking branch 'origin/merge-requests/239'
* origin/merge-requests/239:
  add needed files

See merge request !239
2022-03-31 19:49:30 +03:00
Kristian Klausen
0db3a42fb8 configs/releng: Improve motd
Fix #167
2022-03-29 18:56:50 +02:00
Alexander Epaneshnikov
cec14d8b50
add needed files
this fixes #167
2022-03-29 19:31:14 +03:00
nl6720
e5bdf0c6ab
configs/{baseline,releng}/: disable systemd-gpt-auto-generator
When booting the ISO, you can observe a message that systemd-gpt-auto-generator has failed:

    systemd-gpt-auto-generator[197]: Reading EFI variable /sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f.
    systemd-gpt-auto-generator[197]: open("/sys/firmware/efi/efivars/LoaderDevicePartUUID-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f") failed: No such file or directory
    systemd-gpt-auto-generator[197]: EFI loader partition unknown, exiting.
    systemd-gpt-auto-generator[197]: (The boot loader did not set EFI variable LoaderDevicePartUUID.)
    systemd-gpt-auto-generator[197]: Failed to open device: No such device

Seeing as it started to appear relatively recently, it may be a systemd bug.
Since we do not want any GPT partition automounting in the live environment anyway, systemd-gpt-auto-generator can simply be disabled.

Fixes #164.
2022-03-25 17:38:10 +02:00
Eric Toombs
0c6ecb6b89 syslinux PXE: Forced all TFTP paths to be absolute
By default, syslinux interprets TFTP paths as relative to the location of the *.c32 modules, regardless whether a path starts with a slash. Without the `::` that I added to all of these paths, syslinux cannot find these files. It searches for them in /%INSTALL_DIR%/syslinux//%INSTALL_DIR%/boot/x86_64/vmlinuz-linux, etc.
2022-03-25 10:44:45 -04:00
nl6720
720516e6fd
configs/releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf: update ExecStart
Update the drop-in to more closely match getty@.service of systemd 250.

Use example from https://wiki.archlinux.org/title/getty#Virtual_console
2022-01-28 11:03:05 +02:00
nl6720
18bb8c2b45
configs/*/airootfs/etc/systemd/network/20-ethernet.network: add a comment to document why an interface name glob is used
This documents the changes made in !177 inside the .network files themselves.

Related to #142.
2022-01-22 19:17:34 +02:00
mono wock
8b1788e1bf Add linux-firmware-marvell for Surface Pro 6 wi-fi 2022-01-22 11:46:40 -05:00
nl6720
e785ee2cee
configs/releng/airootfs/etc/mkinitcpio.conf: remove archiso_shutdown
The archiso_shutdown hook has been obsolete since mkinitcpio 16.
https://lists.archlinux.org/pipermail/arch-dev-public/2013-December/025742.html

Related to mkinitcpio/mkinitcpio-archiso#8.
2021-12-02 14:49:10 +02:00
Howard Hicks
679bfc8c9f Fixes failure to retry script download. Tested and verified the issue is resolved.
The curl --retry-connrefused option is used with not instead of the --retry <num> option to add an extra type of failure to retry on, without --retry <num> it does not retry at all even on a connection refused. 

https://man.archlinux.org/man/curl.1.en
2021-11-30 22:03:09 +00:00
Tom Yan
2f88ba3cc1 Add grub and refind back
"rescue/installation actions for {grub,refind} should be run from
within a chroot" is a false statement. See --boot-directory of
grub-install and --root of refind-install. (In the case of grub,
there are people that do not use the ugly grub-mkconfig at all.)
2021-11-30 18:40:45 +00:00