summaryrefslogtreecommitdiff
path: root/hscript/meta.cc
AgeCommit message (Collapse)AuthorFilesLines
2023-12-11hscript: bootloader: Support EFI boot on ARMv7A. Wilcox1-4/+2
2023-12-05hscript: meta/PkgInstall: Allow negative selectionA. Wilcox1-1/+1
This allows the installation of 'negative selections' or the purposeful exclusion of packages from the installed environment.
2023-12-01Add 'rootshell' key to determine root's shellA. Wilcox1-0/+36
* Key added to code and documentation. * Tests added and pass locally on gwyn (ppc64) and fran (aarch64). * Qt UI automatically sets /bin/zsh as root's shell (ref: packages#206). * ISO image creator backend no longer has root shell hack.
2023-10-21hscript: bootloader: Stop mucking with efivarfsA. Wilcox1-14/+1
The problem was OpenRC which was fixed in packages.git. We should not have any further issues with efivarfs being read-only outside of host systems that are running OpenRC >= 0.28 and < 0.39.
2023-10-21hscript: bootloader: Take 100% control of efivarfsA. Wilcox1-24/+6
We're the executor, we can just commandeer the entire thing, host system included. There is very low likelihood of damage to a host system because we are use umount instead of making the host r/w. The only thing that could break is `systemctl reboot --firmware`, or a host-side upgrade of GRUB that somehow changes the path of the EFI stub. Both of these are almost impossible to encounter on a host that is actually running the executor. However, encountering a broken read-only efivarfs seems to be VERY common in the Installation Environment. Fixes: ab212730bd ("hscript: bootloader: Set rdwr on 'real' efivarfs")
2023-10-21hscript: bootloader: Set rdwr on 'real' efivarfsA. Wilcox1-2/+7
We have to clear the RDONLY flag on the base /sys before we clear it from the target /sys, otherwise it doesn't work. Fixes: 975b506cdd ("hscript: bootloader: Really, truly revamp EFI")
2023-10-21hscript: bootloader: Really, truly revamp EFIA. Wilcox1-10/+41
This should handle every single scenario we could be in regarding efivarfs. It also makes efivarfs errors non-fatal, as grub-install has --no-nvram for such situations. Closes: #370 Fixes: bad8487c53 ("hscript: bootloader: Hopefully fix EFI once and for all")
2023-10-20hscript: Output dest runlevel in 'svcenable' logA. Wilcox1-1/+2
2023-10-20hscript: Allow svcenable to create new runlevelsA. Wilcox1-2/+10
This is going to be useful in general for some advanced use cases, but most importantly, it will allow us to define runlevels for live media. Ref: #346
2023-03-25meta: Tidy codeA. Wilcox1-3/+4
* Use <cassert> instead of <assert.h>. * Include <cstring> for ::strerror in install env. * Consistently use ::strerror. * Remove superfluous duplicate semicolon. Fixes: #334
2020-10-15hscript: bootloader: Hopefully fix EFI once and for allA. Wilcox1-6/+7
2020-10-15Add many more various test casesA. Wilcox1-0/+12
2020-09-30meta: Run update-boot when bootloader requestedA. Wilcox1-6/+20
If the user chooses no-boot or isn't installing Adélie, this will fail quietly. But if the user is installing Adélie, this is necessary to generate bootloader configuration.
2020-09-20hscript: Remount EFI vars correctlyA. Wilcox1-4/+4
The manpage suggests that MS_BIND must be set to change R/O flag on bindmounts.
2020-08-30Rearchitect how 'bootloader' key worksA. Wilcox1-53/+62
2020-08-29hscript: Allow multiple svcenables to not breakA. Wilcox1-1/+1
2020-08-22Improve test coverage of metadata keysA. Wilcox1-17/+25
2020-07-22Add initial MIPS port, sans automatic partitionerA. Wilcox1-0/+16
Help with the automatic partitioner by parties interested in the MIPS ports of Adélie (and/or Alpine and/or postmarketOS) would be very desirable. I'm only currently aware myself of how to partition SGI MIPS64 machines. My gut tells me we probably need the `subarch` system like for PPC64, but I am not sure how non-SGI MIPS64 machines need to be partitioned.
2020-07-06hscript: Use target efivarfs path for r/w mountA. Wilcox1-2/+4
2020-06-23hscript: Implement runlevel support in svcenable keyA. Wilcox1-7/+20
2020-06-23Change Runner.Validate.hostname.Begin to allow numeric charactersA. Wilcox1-2/+2
2020-06-23hscript: meta: desperate attempt to fix EFI installsA. Wilcox1-0/+12
2020-06-13hscript: maybe implement bootloader keyA. Wilcox1-0/+77
2020-06-13hscript: bootloader: build in runtime envA. Wilcox1-2/+6
2020-06-13hscript: Stub unfinished implementation of 'bootloader' keyA. Wilcox1-0/+96
2020-06-06hscript: Update for console-setup -> kbd changeA. Wilcox1-12/+7
2020-05-29hscript: Timezone: Always remove existing localtimeA. Wilcox1-2/+2
Otherwise, if the target doesn't have tzdata installed, an existing /etc/localtime file won't be removed and we can hit an error.
2020-05-29hscript: Hostname: Create /etc if it doesn't existA. Wilcox1-0/+8
Without this, errors are seen generating Alpine images.
2020-05-26hscript: Implement (undocumented, untested) 'version' keyA. Wilcox1-0/+18
2020-05-26hscript: Convert 'int line' to a ScriptLocation objectA. Wilcox1-128/+83
2020-05-24hscript: Implement 'svcenable' key and testsA. Wilcox1-0/+44
2020-04-02hscript: Handle existing /etc/localtime in targetA. Wilcox1-0/+2
This can occur if you re-use an intermediate directory for images.
2020-04-01hscript: Rename Image flag to ImageOnlyA. Wilcox1-1/+1
Otherwise, this conflicts with the Horizon::Image namespace.
2020-03-24hscript: Implement 'Image' script optionA. Wilcox1-1/+3
This option is for generating images using Horizon. It skips most disk-related operations, except for preparing /etc/fstab. It also skips setting the running system's hostname.
2020-03-15meta: Handle underscores in architecture namesA. Wilcox1-1/+1
Otherwise, x86_64 and aarch64_be fail instantly: installfile:6: error: arch: expected CPU architecture name: 'x86_64' is not a valid CPU architecture name
2020-03-11hscript: Make target directory configurableA. Wilcox1-34/+47
This is the first step towards creating images using Horizon.
2020-02-26hscript: Refactor Keys to be owned by a Script*A. Wilcox1-42/+43
This means that a Key can introspect its Script.
2019-12-19hscript: Add 'arch' key implementation and related testsA. Wilcox1-2/+56
2019-12-05Actually refactor valid_keymaps into a reusable componentA. Wilcox1-10/+1
2019-11-04hscript: It's LCOV_EXCL_STOP, not LCOV_EXCL_ENDA. Wilcox1-1/+1
2019-11-04hscript: Mark code correctly for LCOVA. Wilcox1-5/+7
2019-11-04hscript: Language::execute: space between string and valueA. Wilcox1-1/+1
2019-11-04hscript: Implement Keymap::executeA. Wilcox1-1/+35
2019-11-02hscript: Hostname::execute: dns_domain_lo is a variableA. Wilcox1-1/+1
2019-11-02hscript: Add download_file helper and implement SigningKey::execute0.1.0A. Wilcox1-2/+45
2019-11-02hscript: Repository: append to /e/a/r, don't replace itA. Wilcox1-1/+1
2019-11-02hscript: More logging and dir creationA. Wilcox1-0/+1
2019-11-02hscript: Handle creation of directories when neededA. Wilcox1-0/+9
2019-11-01hscript: Implement Runner.Validate.keymap.ValidA. Wilcox1-3/+20
2019-10-31hscript: Implement SigningKey, add testsA. Wilcox1-0/+21