summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-07-17Add check target to Makefilenl6720
Makefile: Move shellcheck commands from .gitlab-ci.yml. .gitlab-ci.yml: Run `make check`. Prevent partial upgrades, i.e. use '-Syu'. Prevent reinstalling already installed packages by using pacman's '--needed' option. Don't force-download the package database.
2020-07-16Fix unexpected script_path behaviourJustin Kromlinger
When one calls the `build.sh` scripts with bash instead of the shebang `$script_path` contains the filepath, not the parent dir: ``` % cd /path % grep -A2 script_path= build.sh script_path=$(readlink -f "${0%/*}") echo "$script_path" exit 0 % ./build.sh /path % bash build.sh /path/build.sh ``` This commit fixes that: ``` % grep -A2 script_path= build.sh script_path="$( cd -P "$( dirname "$(readlink -f "$0")" )" && pwd )" echo "$script_path" exit 0 % ./build.sh /path % bash build.sh /path ```
2020-07-12Explicitly add linux and mkinitcpio to packages.x86_64nl6720
linux only gets pulled in because of broadcom-wl and mkinitcpio (usually) gets pulled in by linux.
2020-07-12Don't hardcode packages in build.shnl6720
Move all required packages to packages.x86_64. Test file availability before copying them.
2020-07-11Adding linting for initcpio scriptsDavid Runge
archiso/initcpio/install/*: Setting bash shebang for all scripts and making them comform with shellcheck. archiso/initcpio/{hooks,script}/*: Setting ash shebang for all scripts and making them comform with shellcheck (for dash, as shellcheck has no ash specific ruleset). Essentially the ash based scripts should be POSIX compliant as much as possible to have an easier time writing, debugging and maintaining them. Ensuring that variables are not treated as options and introducing variable quoting. .gitlab-ci.yml: Integrating shellcheck for initcpio scripts. Closes #32
2020-07-11Remove lynx usage in configs/releng/build.shnl6720
/usr/local/bin/Installation_guide: Add a convenience script which opens the installation guide in lynx. /etc/motd: Provide a message with minimal instructions for connecting to internet and inform about the Installation_guide convenience script.
2020-07-11Remove unnecessary dialog packagenl6720
dialog was only added because it was needed for netctl's wifi-menu. Now that netctl is removed, nothing requires dialog.
2020-07-11Use /usr/bin/env in shebangsnl6720
2020-07-11Add work and out directories to .gitignorenl6720
2020-07-11Remove unneded ReadOnlyPaths from reflector.servicenl6720
configs/releng/airootfs/etc/systemd/system/reflector.service: Remove references to a nonexistent file.
2020-07-11Keep /root permissions as 750nl6720
The filesystem package installs /root as 750 not 700. Move chmod from customize_airootfs.sh to build.sh.
2020-07-11Update pacman.conf to the current version shipped by the pacman packagenl6720
2020-07-11Sort packages.x86_64nl6720
Additionally update names of renamed packages: https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/bind&id=1b097b9bcaddd65c7af4f92efef175f959395a7e https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/vim&id=807b49bf022a6d523ca6215d5b34cd1e37457bd5
2020-07-11Warn about Syslinux's reboot.c32 and poweroff.c32 requiring APMnl6720
configs/releng/syslinux/archiso_tail.cfg: APM is old and some motherboard firmwares have removed support for it. reboot.c32 and poweroff.c32 will not work on such firmwares. Add a help text to "Reboot" and "Power Off" boot menu entries that warns about requiring APM.
2020-07-11Add terminus-fontnl6720
When built with CONFIG_FONT_TER16x32, the Linux kernel includes a TER16x32 font based on ter-i32b from terminus-font. The kernel will automatically choose this font on screen resolutions larger than 1920×1080. The terminus-font package includes fonts for other character sets, which may be useful during installation.
2020-07-11Add *-terminfo packages to ease installation via SSHnl6720
2020-07-11Automatically boot the installation environment from syslinuxnl6720
Timeout is 3 seconds to match systemd-boot's configuration.
2020-07-10Adding script to run archiso in qemuDavid Runge
scripts/run_archiso.sh: A script to run a built archiso image using qemu. It can run the image on an emulated BIOS (using seabios) or UEFI (using edk2-ovmf) system. .gitlab-ci.yml: Adding scripts/run_archiso.sh to shellcheck call. Closes #28
2020-07-01Add amdgpu and mgag200 to the archiso_kms mkinitcpio hooknl6720
See https://wiki.archlinux.org/index.php/Kernel_mode_setting#Early_KMS_start .
2020-06-30Allow systemd-networkd-wait-online to succeed with one interfacenl6720
It is enough if one network interface is online, there is no need to wait for all of them. Without this, when connecting with Wi-Fi and leaving Ethernet disconnected, the network-online.target will get unnecessarily delayed.
2020-06-30Fixing issues with variable quoting and arraysDavid Runge
archiso/mkarchiso: Calls to _pacman() need to be done with multiple parameters (e.g. array) instead of one string, as string splitting is not done in that function anymore. Turning _iso_efi_boot_args from string into an array to have an easier time of passing it to xorriso. Calling xorriso within the if statements instead of providing -quiet via variable. Fixing command_install() to provide packages separately to _pacman() configs/releng/build.sh: Replacing all newlines when retrieving the packages from packages.x86_64 with spaces so they will be properly provided to "mkarchiso install".
2020-06-30Move choose-mirror script to /usr/local/bin/nl6720
/etc/systemd/scripts/ is not a standard directory. Run shellchek on the choose-mirror script.
2020-06-30Do not download a mirrorlist durring buildnl6720
Pacman's mirrolist will be updated by reflector.service in the live system.
2020-06-30Add reflector and enable reflector.servicenl6720
reflector.service will update pacman's mirrorlist after a network connection is established in the live system. Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/26 .
2020-06-30Standardizing boot loader entry formatDavid Runge
{configs/releng/efiboot/loader/entries/archiso-x86_64-{cd,usb}.conf,configs/releng/syslinux/archiso_{pxe,sys}.cfg}: Standardizing the boot loader entry format by switching all entries to the form: "Arch Linux install medium (<CARCH>[, <PROPERTY>])". This removes the distinction between "CD" and "USB" when booting in UEFI "el-torito" (as the information is not useful). Changing some of the syslinux help text as well to reflect this change. This also drops the specific <CARCH> from the syslinux help text as it is duplicated information. Closes #24
2020-06-30Add efibootmgrnl6720
It was previously pulled in as a dependency of refind. Now that refind is removed, add efibootmgr explicitly.
2020-06-30Add back lsscsinl6720
It cannot be fully replaced by lsblk.
2020-06-30Clear the screen after syslinux exitsnl6720
Reduce the time where boot loader artifacts linger on screen after the boot loader has done its job.
2020-06-30Set timezone from outside chrootnl6720
2020-06-30Enable systemd units with symlinks instead of doing it via systemctl in chrootnl6720
2020-06-30Use drop-in files for journald and logind configurationnl6720
2020-06-29Introducing shellcheck in gitlab CIDavid Runge
archiso/mkarchiso: Quoting all variables. Changing pkg_list to be an array instead of a string for easier handling. Using read to properly populate pkg_list from OPTARG with stripped whitespaces. Not exporting iso_label anymore as there seems to be no reason to do so. Introducing line breaks. .editorconfig: Setting max_line_length to 120. Adding a section for YAML files (e.g. .gitlab-ci.yml). configs/releng/build.sh Quting nearly all variables. Introducing line breaks. configs/baseline/build.sh: Quoting all variables. Introducing line breaks. .gitlab-ci.yml: Adding gitlab CI for shelleck linting of the config build scripts, mkarchiso and startup scripts in releng. Closes #19
2020-06-29IPv6 DHCPDavid Runge
configs/releng/airootfs/etc/systemd/network/20-{ethernet,wirless}.network: Making sure that systemd-networkd enables DHCP capabilities also for IPv6 ('DHCP=yes' and unsetting IPv6AcceptRA - see `man 5 systemd.network` for further information). Closes #23
2020-06-24Adding systemd-resolvconfDavid Runge
configs/releng/packages.x86_64: Due to dropping netctl from the image, no packgae currently directly pulls in a resolvconf provider. The systemd-resolvconf package is compatible with systemd-resolved which is in use on the image now and the preferred choice. Closes #22
2020-06-24Enabling iwdDavid Runge
configs/releng/airootfs/etc/systemd/system/multi-user.target.wants/iwd.service: Adding a symlink to /usr/lib/systemd/system/iwd.service to enable iwd in airootfs (and thus on the image). Closes #18
2020-06-23Removin unneeded packagesDavid Runge
configs/releng/packages.x86_64: Removing packages: * grub :rescue/ installation actions for grub should be run from within a chroot * lsscsi: lsblk provides the same functionality * netctl: we have systemd-networkd enabled by default * ntp: we have systemd-timesyncd * refind: rescue/ installation actions for refind should be run from within a chroot * vi: we have vim Closes #15
2020-06-23Fixing ownership in airootfs customizationDavid Runge
configs/releng/build.sh: Fixing wrong ownership of files when copying overlay modifications from the config's airootfs directory to the working directory in make_customize_airootfs() by using the cp flag '--no-preserve=ownership'. Thanks to Marcos Mello and Francois Dupoux of sysresccd (https://gitlab.com/fdupoux/sysresccd-src) for making this fix available. Closes #11
2020-06-23Adding nvme-cli to package listDavid Runge
configs/releng/packages.x86_64: Adding nvme-cli to the list of packages for working with NVME drives in a live environment (as discussed in FS#63769). Closes #20
2020-06-23Removing wget in favor of curlDavid Runge
configs/releng/airootfs/root/.automated_script.sh: Replacing wget with curl for the use-case of downloading a pre-specified remote startup script (changing flags where needed). configs/releng/packages.x86_64: Removing wget from the list of installed packages, as .automated_script.sh was the only reason for it being installed. Closes #16
2020-06-23Numerical prefix for systemd-networkd configurationDavid Runge
Adding a numerical prefix ('20-') to the ethernet.network and wireless.network configuration files for systemd-networkd. This way overriding them can become more predictable e.g. by providing files with a '30-' prefix. Closes #13
2020-06-23Removing custom UEFI shell boot loader configsDavid Runge
configs/releng/build.sh: Copying the edk2-shell based Shell_Full.efi to the root of the iso/ efi image as 'shellx64.efi' is automatically picked up by certain hardware and by systemd-boot. This makes all custom UEFI shell configuration obsolete. configs/releng/efiboot/loader/entries/uefi-shell-*.conf: Removing obsolete custom UEFI shell boot loader configuration. Closes #14
2020-06-23Removing efitoolsDavid Runge
configs/releng/build.sh: Removing the efitools based PreLoader.efi and HashTool.efi, as they are dead weight due to not allowing secure boot (FS#59487). Future secure boot functionality (most probably based on shim) is being discussed in FS#53864. Closes #17
2020-05-31Removing dist targetDavid Runge
Makefile: Removing the dist target. It requires to increment a number on each release. This workflow can be entirely circumvented by signed commit tags and using those for packaging.
2020-05-31Replacing dhcpcd with systemd-networkd and systemd-resolvedDavid Runge
configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules: Removing the udev rule for starting dhcpcd@.service on interfaces of the form eth* and en*. configs/releng/airootfs/etc/systemd/network/{ethernet,wireless}.network: Adding default DHCP configurations for en*, eth*, wlp* and wlan* interfaces. configs/releng/airootfs/etc/resolv.conf: Adding a symlink from /run/systemd/resolve/stub-resolv.conf to /etc/resolv.conf (in airootfs). configs/releng/airootfs/root/customize_airootfs.sh: Adding systemd-networkd and systemd-resolved to the list of services that are being enabled during airootfs customization.
2020-05-31Unsetting the root passwordDavid Runge
Due to changes in the filesystem package [1] the current /etc/passwd does not allow login without an empty root password anymore. This becomes apparent, when switching to another TTY than the one autologin is activated for. By running passwd -d root we unset the password. In the future this should go to a custom /etc/passwd file. [1] https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/filesystem&id=0320c909f3867d47576083e853543bab1705185b
2020-05-30Fixing default bootloader menu selection.David Runge
configs/releng/efiboot/loader/loader.conf: The 'default' bootloader selection of systemd-boot is based on a glob pattern. The previous pattern was not sufficient to select anything, which is why it is now made explicit (pointing to archiso-x86_64.conf).
2020-05-30Simplifying regex for script downloadDavid Runge
configs/releng/airootfs/root/.automated_script.sh: Using only one regex to match http://, https:// or ftp:// endpoints.
2020-05-30Using edk2-shell for UEFI shellDavid Runge
configs/releng/build.sh: Instead of downloading UDK2018 based edk2 UEFI shell, use the Shell binaries from the edk2-shell package. This effectively makes the use of EFI shell v1 obsolete. configs/releng/efiboot/loader/entries/uefi-shell-v*: Renaming UEFI shell entries to match the packaged edk2-shell based UEFI shell binaries. configs/releng/build.sh: Renaming the systemd-boot bootloader entries for UEFI shell (normal and full version) to reflect their file names, which are derived from the binary names in the edk2-shell package. Copying the edk2-shell based UEFI shell binaries for normal efiboot and .iso based "el-torito" efiboot mode. docs/README.build: Adding edk2-shell to the requirements in the documentation, as the package is now used to provide UEFI shell.
2020-05-30Renaming refind-efi to refindDavid Runge
configs/releng/packages.x86_64: As the refind-efi package has been renamed to refind, the package required for the releng image needs to be renamed as well.
2020-05-30Revert "Renaming refind package"David Runge
This reverts commit c16612401e2db36ae5437df2c77999d45f47d39f.