aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* archiso/initcpio/hooks/archiso: remove option terminator from the blockdev ↵nl67202020-08-111-1/+1
| | | | | | | | | command Apparently blockdev does not support it. In an ISO made using '-s img' (Squashfs with dm-snapshot), it results in: blockdev: Unknown command: --
* Ensure all files in the ISO's Rock Ridge file system are owned by rootnl67202020-07-301-0/+2
| | | | | | archiso/mkarchiso: Add the -rational-rock option to xorriso. This is a preparatory step for creating ISOs as a regular user. See https://gitlab.archlinux.org/archlinux/archiso/-/issues/40 .
* Show mksquashfs progress bar when mkarchiso is run in verbose modenl67202020-07-301-2/+2
|
* releng: copy UEFI shell from airootfs instead of the host systemnl67202020-07-303-2/+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 .
* CONTRIBUTING.rst: use make lint to run shellchecknl67202020-07-301-1/+1
| | | | `make check` could get extended to include other things besides just linting.
* Move shell script linting into a separate make targetnl67202020-07-302-3/+5
| | | | | | | | | Makefile: Move shellcheck to a "lint" target and change "check" so that it runs "lint". This provides a more finer grained control and allows to extend "check" with things beyond just linting. .gitlab-ci.yml: Run `make lint` in the lint job.
* 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-305-16/+8
| | | | from host
* Makefile: do not install mkinitcpio hooks by defaultnl67202020-07-291-1/+1
| | | | They are not required in the host system. See https://gitlab.archlinux.org/archlinux/archiso/-/issues/34 .
* Build initramfs images only oncenl67202020-07-298-49/+179
| | | | | 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.
* archiso/initcpio/install/archiso: fix GnuPG home directory permissionsnl67202020-07-291-1/+1
| | | | | Gets rid of a gpg warning: gpg: WARNING: unsafe permissions on homedir '/tmp/mkinitcpio.*/root/gpg'
* Add license and basic documentationDavid Runge2020-07-2959-6/+1000
| | | | | | | | | | | | | | | | | | | | | | | | | 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-287-33/+37
| | | | | | | | | | | | | | 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-282-1/+28
|
* 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-284-29/+27
| | | | | | | | | 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.
* Fix baseline profilenl67202020-07-283-0/+118
| | | | | | | Install linux and mkinitcpio packages. Remove root user's password. Fixes https://bugs.archlinux.org/task/64236 .
* Set root user's shell and password with custom /etc/passwd and /etc/shadownl67202020-07-206-4/+16
| | | | Correct shadow file permissions from build.sh.
* Revert "Add GitHub Actions workflow"nl67202020-07-171-27/+0
| | | | | | This reverts commit 2993b80816be1b06f7bb57b500a47989ac3af0e9. Actions are disabled in archiso's GitHub mirror.
* Separate custom comments from shellcheck commentsnl67202020-07-176-19/+38
| | | | Having a shellcheck directive and custom comments in the same line can trigger SC1107 on old versions of shellcheck.
* Add GitHub Actions workflownl67202020-07-171-0/+27
| | | | | .github/workflows/lint.yml: Run `make check`.
* Add check target to Makefilenl67202020-07-172-13/+12
| | | | | | | | | | | 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.
* Fix unexpected script_path behaviourJustin Kromlinger2020-07-162-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Adding linting for initcpio scriptsDavid Runge2020-07-1117-156/+188
| | | | | | | | | | | | | | | | 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
* 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-114-4/+4
|
* Add work and out directories to .gitignorenl67202020-07-111-0/+2
|
* 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-112-0/+6
| | | | Timeout is 3 seconds to match systemd-boot's configuration.
* Adding script to run archiso in qemuDavid Runge2020-07-102-0/+156
| | | | | | | | | | | 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
* Add amdgpu and mgag200 to the archiso_kms mkinitcpio hooknl67202020-07-011-0/+2
| | | | See https://wiki.archlinux.org/index.php/Kernel_mode_setting#Early_KMS_start .
* 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-302-25/+42
| | | | | | | | | | | | | 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-303-1/+2
| | | | | | /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 .