aboutsummaryrefslogtreecommitdiff
path: root/configs/releng
Commit message (Collapse)AuthorAgeFilesLines
* Build initramfs images only oncenl67202020-07-294-33/+94
| | | | | Place custom mkinitcpio.conf in airootfs. Use a custom mkinitcpio preset to specify generated image file path.
* Remove unnecessary files from releng's airootfsnl67202020-07-292-3/+0
| | | | | | | | configs/releng/airootfs/etc/fstab: /etc/fstab shipped by the filesystem package has only comments. There is no reason to replace it with an empty file. configs/releng/airootfs/etc/systemd/system/default.target: There is no harm in booting to graphical.target. releng does not enable (or even install) any service that has {Required,Wanted}By=graphical.target.
* Add license and basic documentationDavid Runge2020-07-2929-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | LICENSE: Add GPL-3.0 license. {{archiso,configs}/*,.editorconfig,.gitlab-ci.yml}: Add SPDX license identifier. Makefile: Add SPDX license identifier. Install the `run_archiso.sh` script as global executable `run_archiso`. Use -D and -t flags to install to install files more generically (without a previous call to install the directory). README.rst: Add README outlining the project's scope, how to build images from the profiles and how to test. AUTHORS.rst: Add list of all direct contributors to the repository. CONTRIBUTING.rst: Add basic contribution guidelines, explaining the linter and the license in use. Closes #7 Closes #3
* Copy files more genericallyDavid Runge2020-07-285-31/+35
| | | | | | | | | | | | | | configs/*: Copy all files that do not need a rename generically (not specifying a destination file name). Do not rename vmlinuz-linux to vmlinuz or vmlinuz.efi (as this serves no purpose and makes the scripts more complicated). Do not rename microcode (i.e. {amd,intel}-ucode.img) when copying them and change all boot loader configuration files that assume a renamed microcode image. Add note and link to Arch Linux wiki to state why memtest.bin is renamed to memtest. Copy license files for {amd,intel}-ucode and memtest more generically by placing them into subdirectories with the same name as the package (to circumenvent overwriting one other). Closes #33
* Copy /etc/skel/ to user's home from build.sh instead of customize_airootfs.shnl67202020-07-282-3/+10
| | | | Additionally copy the files to all custom user homes, not just root's.
* Set up custom user home directories and their permissionsnl67202020-07-281-1/+14
|
* Deprecate customize_airootfs.shnl67202020-07-282-7/+11
| | | | Show a deprecation notice if airootfs/root/customize_airootfs.sh is found.
* Install all packages in one go and don't copy pacman.conf to airootfsnl67202020-07-282-14/+14
| | | | | | | | | configs/{baseline,releng}/build.sh: Copy custom files to airootfs before installing packages. Instead of calling `mkarchiso init`, list all required packages in packages.x86_64 and install them all at once with `mkarchiso install`. The mkdir command which `mkarchiso init` performs is now done by make_custom_airootfs. configs/releng/build.sh: Don't copy configs/releng/pacman.conf to airootfs, it is only meant to provide a unmodified pacman.conf durring pacstrap. In airootfs, an unmodified /etc/pacman.conf will be installed with the pacman package.
* Set root user's shell and password with custom /etc/passwd and /etc/shadownl67202020-07-204-4/+4
| | | | Correct shadow file permissions from build.sh.
* Fix unexpected script_path behaviourJustin Kromlinger2020-07-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 ```
* Explicitly add linux and mkinitcpio to packages.x86_64nl67202020-07-121-0/+2
| | | | linux only gets pulled in because of broadcom-wl and mkinitcpio (usually) gets pulled in by linux.
* Don't hardcode packages in build.shnl67202020-07-122-15/+24
| | | | | Move all required packages to packages.x86_64. Test file availability before copying them.
* Remove lynx usage in configs/releng/build.shnl67202020-07-115-7/+13
| | | | | | | | /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.
* Remove unnecessary dialog packagenl67202020-07-111-1/+0
| | | | | dialog was only added because it was needed for netctl's wifi-menu. Now that netctl is removed, nothing requires dialog.
* Use /usr/bin/env in shebangsnl67202020-07-113-3/+3
|
* Remove unneded ReadOnlyPaths from reflector.servicenl67202020-07-111-1/+0
| | | | | configs/releng/airootfs/etc/systemd/system/reflector.service: Remove references to a nonexistent file.
* Keep /root permissions as 750nl67202020-07-112-1/+2
| | | | | | The filesystem package installs /root as 750 not 700. Move chmod from customize_airootfs.sh to build.sh.
* Update pacman.conf to the current version shipped by the pacman packagenl67202020-07-111-2/+1
|
* Sort packages.x86_64nl67202020-07-111-4/+4
| | | | | | 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
* Warn about Syslinux's reboot.c32 and poweroff.c32 requiring APMnl67202020-07-111-0/+8
| | | | | | | 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.
* Add terminus-fontnl67202020-07-111-0/+1
| | | | | 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.
* Add *-terminfo packages to ease installation via SSHnl67202020-07-111-0/+3
|
* Automatically boot the installation environment from syslinuxnl67202020-07-111-0/+3
| | | | Timeout is 3 seconds to match systemd-boot's configuration.
* Allow systemd-networkd-wait-online to succeed with one interfacenl67202020-06-301-0/+3
| | | | | 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.
* Fixing issues with variable quoting and arraysDavid Runge2020-06-301-2/+2
| | | | | | | | | | | | | 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".
* Move choose-mirror script to /usr/local/bin/nl67202020-06-302-1/+1
| | | | | | /etc/systemd/scripts/ is not a standard directory. Run shellchek on the choose-mirror script.
* Do not download a mirrorlist durring buildnl67202020-06-301-3/+0
| | | | Pacman's mirrolist will be updated by reflector.service in the live system.
* Add reflector and enable reflector.servicenl67202020-06-303-0/+44
| | | | | 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 .
* Standardizing boot loader entry formatDavid Runge2020-06-304-10/+10
| | | | | | | | | | | {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
* Add efibootmgrnl67202020-06-301-0/+1
| | | | It was previously pulled in as a dependency of refind. Now that refind is removed, add efibootmgr explicitly.
* Add back lsscsinl67202020-06-301-0/+1
| | | | It cannot be fully replaced by lsblk.
* Clear the screen after syslinux exitsnl67202020-06-301-0/+2
| | | | Reduce the time where boot loader artifacts linger on screen after the boot loader has done its job.
* Set timezone from outside chrootnl67202020-06-302-2/+1
|
* Enable systemd units with symlinks instead of doing it via systemctl in chrootnl67202020-06-3010-3/+9
|
* Use drop-in files for journald and logind configurationnl67202020-06-303-5/+6
|
* Introducing shellcheck in gitlab CIDavid Runge2020-06-291-86/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* IPv6 DHCPDavid Runge2020-06-292-4/+2
| | | | | | | | | 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
* Adding systemd-resolvconfDavid Runge2020-06-241-0/+1
| | | | | | | | | | 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
* Enabling iwdDavid Runge2020-06-241-0/+1
| | | | | | | | 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
* Removin unneeded packagesDavid Runge2020-06-231-6/+0
| | | | | | | | | | | | | | | 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
* Fixing ownership in airootfs customizationDavid Runge2020-06-231-1/+1
| | | | | | | | | | | | | | 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
* Adding nvme-cli to package listDavid Runge2020-06-231-0/+1
| | | | | | | | 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
* Removing wget in favor of curlDavid Runge2020-06-232-2/+1
| | | | | | | | | | | | 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
* Numerical prefix for systemd-networkd configurationDavid Runge2020-06-232-0/+0
| | | | | | | | | 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
* Removing custom UEFI shell boot loader configsDavid Runge2020-06-233-12/+4
| | | | | | | | | | | | | 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
* Removing efitoolsDavid Runge2020-06-231-9/+3
| | | | | | | | | | 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
* Replacing dhcpcd with systemd-networkd and systemd-resolvedDavid Runge2020-05-315-2/+24
| | | | | | | | | | | | | | | | | | 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.
* Unsetting the root passwordDavid Runge2020-05-311-0/+2
| | | | | | | | | | | | 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
* Fixing default bootloader menu selection.David Runge2020-05-301-1/+1
| | | | | | | 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).
* Simplifying regex for script downloadDavid Runge2020-05-301-1/+1
| | | | | configs/releng/airootfs/root/.automated_script.sh: Using only one regex to match http://, https:// or ftp:// endpoints.