-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: remove anaconda #311
WIP: remove anaconda #311
Conversation
I asked andrew if he could post this. very much a WIP so hold off on deep review |
two items identified by andrew as holding up this work: 1 - ostreedev/ostree#1774 - so we don't have to hardcode a grub config (for now). I've asked robert to take a look. |
Built a few ostree RPMs that can be used for dev purposes for now: These RPMs are built from the tree at https://github.com/rfairley/ostree/commits/rfairley-bls-config-dev-rpm. I have tested the f29 RPM on Fedora Atomic Host 29. Executing the commands in this comment should now work to avoid the hardcoded grub config part. The RPMs
Running the same ostree commands as used in this PR, but with the following appended to
|
@dustymabe updated to be in sync with latest-ish master. Got a lot of hacks still in there. |
thanks @ajeddeloh ! |
iso_location="${workdir}/installer/$(basename "${INSTALLER}")" | ||
checksum_location="${workdir}/installer/$(basename "${INSTALLER_CHECKSUM}")" | ||
rm -f "$(pwd)/diskimage.raw" | ||
truncate -s 8G "$(pwd)/diskimage.raw" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's get the size from image.yaml
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we parse image.yaml
into anything readable by bash anywhere?
# HACK ALERT - wait for partition rescans | ||
sleep 2 | ||
# FIXME ostree needs symlinks | ||
mkfs.ext2 "$(getpart ${disk} 1)" -L boot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ext 2 ?
# FIXME ostree needs symlinks | ||
mkfs.ext2 "$(getpart ${disk} 1)" -L boot | ||
mkfs.fat "$(getpart ${disk} 2)" -n EFI-SYSTEM | ||
mkfs.xfs "$(getpart ${disk} 4)" -L root |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently we also force on -m reflink=1
but eh...I guess we can just take that default from mkfs in the near future.
ostree admin init-fs rootfs | ||
ostree pull-local "$ostree" --repo rootfs/ostree/repo | ||
ostree admin os-init fedora-coreos --sysroot rootfs | ||
ostree admin deploy "$ref" --sysroot rootfs --os fedora-coreos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The fedora-coreos
values are ${name}
in cmd-build.sh
.
checksum=$(cat rootfs/boot/ostree/*/{vm*,init*} | sha256sum | cut -d ' ' -f 1) | ||
vmlinuz=$(basename rootfs/boot/ostree/*/vm*) | ||
initrd=$(basename rootfs/boot/ostree/*/init*) | ||
echo "Checksum is: $checksum initrd is $initrd vmlinuz is $vmlinuz" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This data is more canonically stored in the BLS fragment.
insmod xfs | ||
set root='hd0,gpt1' | ||
set hash="HASHHASH" | ||
linux16 /ostree/fedora-coreos-${hash}/VMLINUZ no_timer_check console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 ip=dhcp rd.neednet=1 rw $ignition_firstboot root=LABEL=root ostree=/ostree/boot.1/fedora-coreos/${hash}/0 coreos.oem.id=qemu systemd.mask=systemd-firstboot.service |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, definitely better to use the data from the BLS here right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still working on getting that working, but yeah that's the idea at least for the time being
Since #380 landed as promised I'm happy to do the rebase of this PR myself - do you have any outstanding changes? |
@cgwalters if you can rebase, I can pull this in |
Fedora IoT still uses anaconda support in in rpm-ostree and related because of the status of certain required HW support. I'm not sure how this relates to assembler but please be aware of other consumers and ensure coordination. |
@nullr0ute this is just for COSA, which is only used for building FCOS/RHCOS. Anaconda support will remain in rpm-ostree. |
Right, though personally I'd like to at least have COSA used to build Silverblue and other things.
Technically it's the inverse, Anaconda supports rpm-ostree via rpmostreepayload.py; I don't personally see us adding many new features but I will certainly personally help maintain the code and fix bugs if any important ones come up. |
Closing in favor of a much less stale #556 |
Very rough atm