summaryrefslogtreecommitdiff
path: root/src/initrd/btrfs-create.sh
AgeCommit message (Collapse)Author
2023-11-17Removal of functionality that depended on gpgAndrew Cady
This material wasn't removed in the original commit removing gpg, because it seemed to have documentary value. This commit serves as the documentation index. Some of this functionality should be reimplemented.
2023-11-17correct counting of btrfs filesystem devicesAndrew Cady
2023-11-17remove gpgAndrew Cady
2021-03-11initrd: umount /mnt/* before bootingAndrew Cady
2021-03-03automatically make the boot medium ejectableAndrew Cady
2021-03-02Fix to make the btrfs install method work.Andrew Cady
Just figured this out. We must change the fsuid after removing the devices, because btrfs MODIFIES the READ-ONLY SEED DEVICES to mark them unavailable after when remove them from the read-write device. When we reboot with the UNMODIFIED, IMMUTABLE seed image, btrfs cannot handle the duplicate fsuid. We detect this situation (kind of) and call btrfstune -m to change the fsuid of the /dev/mapper/samizdatcrypt single device fs. Now it just works. It would be much better to call this on the booted system on the running rootfs, but btrfs can't, so we instead call it on the initrd mount time. A more proper fix might use the partition table to mark the partition as in need of 'btrfstune -m'.
2021-03-02initrd: improve console loggingAndrew Cady
2021-03-02initrd: improve readability and robustness to recoveryAndrew Cady
The luks.secret is stored per block device, and any existing /dev/mapper/samizdatcrypt is removed before we try to create that device. This makes it more possible to recover from a failed menu-select from the emergency console.
2021-02-28ignore "btrfs device ready" failureAndrew Cady
2021-02-28initrd fixes: calls to "btrfs device ready"Andrew Cady
2020-10-11Installed and successfully ran btrfs dev rem.Andrew Cady
Ran it in the VM with the command: make install; sudo ./src/mkinitramfs-samizdat ; sudo bash ./src/parted-usb.sh Didn't use the .patch.btrfs here yet.
2020-10-11it boots to ramAndrew Cady
2020-10-10mostly old uncommitted changesAndrew Cady
committing everything without discretion rebase -i from me
2020-06-19installer: begin plaintext partition at 8MiBAndrew Cady
2020-05-07initrd: ignore failure of samizdat-password-agentAndrew Cady
2019-10-13fix luksFormat for newer initramfs-toolsAndrew Cady
2019-10-04create /home/u with btrfs subvolumes preinstalledAndrew Cady
2019-06-19remember to remove temporary directoriesAndrew Cady
2019-06-19avoid redundantly copying files into rootfsAndrew Cady
2018-07-09bugfix: new installs were never finalizedAndrew Cady
Because a non-local shell variable was accidentally overwritten, the partitions containing a fresh install to an empty disk were never relabeled to indicate finalization. They would have to be relabeled manually to boot the installed system.
2018-06-16Move unknown mountpoints before bootingAndrew Cady
If there are mountpoints outside of /root, which `run-init` does not have in its whitelist, then `run-init` will refuse to boot and will crash the kernel instead (process 1 will exit).
2018-06-13making btrfs subvolumes should be idempotentAndrew Cady
2017-04-02remove obsolete commentAndrew Cady
2017-03-28Use pxelinux "ipappend" option to choose rootfs sourceAndrew Cady
This fixes the issue described in the first 'netkeys' commit, where the network would need to be available even when it was not used. The "ipappend" option results in a $BOOTIF variable in the initrd environment. This variable is now used to determine whether to wait on the network for a rootfs & keys, or to wait on the boot device becoming available to determine whether it has the keys. That is, there may or may not be a boot device which may or may not have keys and/or rootfs, but we will always know for sure whether it does, therefore there are no races and no waiting on the network unnecessarily. The qemu.sh script was updated to provide the BOOTIF variable when PXE boot is emulated.
2017-03-28change some log locationsAndrew Cady
2017-03-28use mountpoint /plaintext for samizdat-plaintext partitionAndrew Cady
2017-03-28Ensure we can decrypt the luks key before attempting to use itAndrew Cady
This just fails earlier when the wrong GPG key is used. The correct solution is to avoid the failure by testing for GPG keys before offering disks to boot.
2017-03-26fully enable booting from installed native partitionAndrew Cady
2017-03-26Implement booting already-installed native installAndrew Cady
This option is only available if the partitions have been renamed to indicate finalization of the install. The code that finalizes the install by renaming the partitions is available, but not yet run after the install.
2017-03-26create and boot the encrypted root filesystemAndrew Cady
2017-03-25Initial support for installing to an empty disk deviceAndrew Cady
Right now, this just installs a new GPT partition table on the disk, with the partitions samizdat needs. Then nothing happens because nothing else is implemented. It will only allow a disk to be wiped like this if there are no partitions on the disk (or if the only partitions on the disk are partially-installed samizdat partitions).
2016-05-03fix the rest of the bugsAndrew Cady
2016-05-01copy more executables from initrd to rootfs (if missing)Andrew Cady
2016-05-01netbooting, with unique keys, WORKSAndrew Cady
2016-05-01don't wait for the cdrom when all we need is the gpg homedirAndrew Cady
2016-05-01get GNUPGHOME from the network-downloaded .tar instead of the cdromAndrew Cady
(if available)
2016-05-01rename now-ill-named "lvm-create"Andrew Cady