-
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
Add buildextend-installer command to build installer ISO #306
Conversation
This is a complete WIP PR. It currently does not attempt to integrate with other outstanding PRs that may be needed to structurally build this the correct way in COSA.
|
this is a way of saying, let's not get too caught up on the structure just yet. |
at least those few comments should be addressed. I've got to take a look at the other PRs and see where this all fits in. Also I just created the github.com/coreos/coreos-installer repo where I'll be posting up the installer code for this. |
Luckily given we didn't explicitly coordinate, I believe this is actually nicely complementary to my work in This is about a PXE path (right)? Which will end up |
Nice. Sorry I haven't looked at it yet. I'm going to get the bits up at github.com/coreos/coreos-installer today and then have a look at the outstanding PRs you have open here.
Yeah I've been just using the disk image that we've been building (converting it to raw first). |
So this ISO will boot into the initramfs; in order to do an install one will need to change the kernel command line to point to the target disk image, right? (Soon we're going to need to cross the "documentation for FCOS" issue) |
Code seems sane to me! |
OK I've done a little knocking down some of these roadblocks:
This is this PR. You'll need to pull down this PR to use it.
I've upstreamed my work to https://github.com/coreos/coreos-installer/tree/master
Opened a PR here for this: coreos/fedora-coreos-config#47. As part of that PR I also have a section that includes the dracut files directly into the OSTree for fast development (see coreos/fedora-coreos-config@a8577b8). You should be able to:
You'll then need to copy the generated ISO somewhere and boot it. You can provide command line args: This is still very rough around the edges so I only suggest trying this if you like pain and can't wait :) Also noteworthy is that ignition fails creating the coreos user when trying to actually boot the generated FCOS qcow with the installer dracut module included. Haven't had a chance to debug that one yet. |
os.chmod(dst, mode) | ||
|
||
# Generate the ISO image | ||
run_verbose(['/usr/bin/genisoimage', '-b', 'isolinux.bin', '-c', 'boot.cat', |
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.
I'm guessing the genisoimage
is pulled in as a dependency of another package. It may be worth adding it to the deps.txt
.
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.
👍 - fixed
/cc @mrguitar |
fixed code review comments, rebased to latest upstream master, and also added an exception to I'm going to lift WIP for now. The other work is still in PRs elsewhere but I think we can go ahead and merge this without bothering anything else. |
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.
LGTM
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.
How about a commit message like:
buildextend-installer: New command
This will allow people to use the new installer
https://github.com/coreos/coreos-installer/
to e.g. do PXE installs to bare metal.
'-no-emul-boot', '-boot-load-size', '4', '-boot-info-table', | ||
'-rock', '-J', '--verbose', '-o', tmpisofile, tmpisoroot]) | ||
checksum = sha256sum_file(tmpisofile) | ||
buildmeta['images']['iso'] = { |
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.
Eventually we'll want to land a live-iso
or so right? How about installer-iso
?
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.
I think we're still working out those details as we may just decide to ship one ISO that can do both. Still some details to work out there. Let's cross that in a followup if you don't mind.
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.
One minor comment, otherwise LGTM!
done. though I |
added fixups from CR and rebased on latest master |
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.
Just some minor nits. But LGTM as is!
This will allow people to use the new installer https://github.com/coreos/coreos-installer/ to e.g. do ISO installs to bare metal.
fixed CR comments from @jlebon |
LGTM. |
👍 - anyone opposed to merging? |
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.
No objections to merge.
Will merge before end of day today if there are no other objections. |
Yeah nice work on this. Only issue I see is I don't think this will work w/ UEFI support, but that should be pretty simple to add later. |
Start using the new `buildextend-installer` command from: coreos/coreos-assembler#306
No description provided.