aboutsummaryrefslogtreecommitdiff
path: root/configs/releng
Commit message (Collapse)AuthorAgeFilesLines
* Pass profile directory as parameter to mkarchisoDavid Runge2020-08-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | **archiso/mkarchiso**: Change all override option parameters (i.e. `-A`, `-C`, `-D`, `-L`, `-P` and `-g`) to not directly override the global variable they are tied to, but instead using an `override_` prefixed variable. Add `_set_overrides()` to use `override_` prefixed variables (if set) to override those without a prefix. Remove `-B` (a profile directory) from the list of parameters. The profile directory is now provided as separate non-option parameter. Add a call to `_read_profile()`, `_set_overrides()` and `command_build_profile()` to the fallthrough option of the switch-case checking `command_name` - a non-option parameter to mkarchiso. This effectively provides the possibility to set the profile directory using a non-option parameter, while still maintaining compatibility to legacy named arguments used in the configs' `build.sh` scripts. Extend the warning in regards to legacy `build.sh` based commands to mkarchiso by providing an EOL with archiso v49. Change the help output to reflect the changes and further elaborate on the legacy commands used by `build.sh` scripts. Change help output to be ordered alphabetically. Add help output for `-r` and `-g` options. Call `_set_overrides()` for legacy commands that accept one or more of the overriden options (i.e. `command_init`, `command_install`, `command_prepare` and `command_iso`). Various style fixes. **configs/{baseline,releng}/build.sh**: Change call to mkarchiso to use the profile's directory as a named argument instead of an option-argument. **README.rst**: Fix documentation on how to call mkarchiso with a profile directory. Fix wording and ordering of option arguments for run_archiso documentation. Fixes #52
* archiso/mkarchiso: create an empty /etc/machine-idnl67202020-08-181-0/+0
| | | | Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/42 .
* Deprecate build.sh scripts and old mkarchiso commandsnl67202020-08-172-304/+4
| | | | | | Replace build.sh scripts with calls to mkarchiso -B "profiledir" build_profile. Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/37 .
* archiso/mkarchiso: allow choosing boot modes from profiledef.shnl67202020-08-171-1/+1
| | | | | | | | | | | Boot mode names are: - bios_syslinux.mbr: SYSLINUX in MBR - bios.syslinux.eltorito: SYSLINUX (ISOLINUX) via El Torito - uefi-x64.systemd-boot.esp: systemd-boot on ESP in MBR - uefi-x64.systemd-boot.eltorito: systemd-boot on ESP via El Torito It is not yet possible to create an ISO with only El Torito or only MBR boot modes!
* archiso/mkarchiso: start preparing a build_profile commandnl67202020-08-171-0/+12
| | | | | | | Nothing is implemented yet! configs/releng/profiledef.sh: A test profile.
* configs/releng/packages.x86_64: replace exfat-utils with exfatprogsnl67202020-08-111-1/+1
| | | | exfatprogs uses the kernel's driver unlike exfat-utils which provides a FUSE driver.
* configs/releng/syslinux/archiso_pxe.cfg: add "checksum" and "verify" boot ↵nl67202020-08-111-3/+3
| | | | | | | options An ISO's checksum and GPG validation primarily matters when PXE booting, so it would be appropriate to enable these options for releng. They should protect against booting a corrupt image.
* releng: copy UEFI shell from airootfs instead of the host systemnl67202020-07-302-1/+2
| | | | Fixes https://gitlab.archlinux.org/archlinux/archiso/-/issues/35 .
* releng: place custom sshd_config in airootfsnl67202020-07-302-1/+116
| | | | | Properly track the file instead of modifying it on-the-fly with customize_airootfs.sh. See https://gitlab.archlinux.org/archlinux/archiso/-/issues/21 .
* Use latest synced mirrors instead of ageDavid Runge2020-07-301-1/+1
| | | | | | configs/releng/airootfs/etc/systemd/system/reflector.service: Use the 70 mirrors synced most recently (--latest) instead of a specific time since last sync (--age). According to FS#67399 using 1hour as sync age is too short, as it sometimes leads to empty list.
* Install mkinitcpio-archiso-hooks in airootfs instead of copying the hooks ↵nl67202020-07-302-11/+1
| | | | from host
* 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