Page MenuHomeFreeBSD

isoboot - boot an ISO image that happens to be on something that isn't a CDROM under BIOS
ClosedPublic

Authored by benno on Mar 30 2018, 11:01 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 17, 1:35 AM
Unknown Object (File)
Sun, Nov 17, 1:35 AM
Unknown Object (File)
Sun, Nov 17, 12:53 AM
Unknown Object (File)
Sun, Nov 17, 12:45 AM
Unknown Object (File)
Sun, Nov 17, 12:40 AM
Unknown Object (File)
Sat, Nov 16, 10:55 PM
Unknown Object (File)
Thu, Nov 14, 6:41 AM
Unknown Object (File)
Wed, Nov 6, 8:19 PM
Subscribers

Details

Summary

This is a heavily streamlined version of gptboot that instead of looking for a UFS filesystem instead looks for an ISO image residing on the same device it got booted from.

Test Plan

Constructed a PMBR/GPT image with this in a freebsd-boot partition and stuck that in front of an ISO image and booted it.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

bcr added a subscriber: bcr.

OK from manpages. Thanks for working on this!

This revision is now accepted and ready to land.Mar 31 2018, 10:48 AM

Fix copyright on cd9660read.c.

When I first wrote this code it was inside a version of boot2.c, then got transplanted to a version of gptboot.c and then split out into cd9660read.c and so it ended up with gptboot.c's copyright when it should've had cd9660.c's.

This revision now requires review to proceed.Mar 31 2018, 3:13 PM

I'm a little confused. I think I detect vestiges of time when this used boot2, which it no longer does. What's the current design?

stand/i386/isoboot/Makefile
23 ↗(On Diff #40946)

shouldn't this be isoboot? Is it even used?

68 ↗(On Diff #40946)

I thought it was fine with them finally.

stand/i386/isoboot/isoboot.c
82 ↗(On Diff #40946)

Are these still in use? I thought we killed them in the 4.x time frame.

212 ↗(On Diff #40946)

This is silly.

Update based on feedback from imp.

benno added inline comments.
stand/i386/isoboot/Makefile
23 ↗(On Diff #40946)

Yes, it's used. I've updated it.

68 ↗(On Diff #40946)

Seems to build with this gone.

stand/i386/isoboot/isoboot.c
82 ↗(On Diff #40946)

They're still present in gptboot. I've left them for now.

212 ↗(On Diff #40946)

Maybe but we get a missing prototype error if it's not there. I've moved up with the other prototypes.

benno marked 3 inline comments as done.Apr 2 2018, 3:20 PM
stand/i386/isoboot/Makefile
43 ↗(On Diff #40950)

Is there a size limit for isoboot? If so, we should enforce it here...

stand/i386/isoboot/isoboot.c
61 ↗(On Diff #40950)

Won't block this review, but we need to kill the umpteen million copies of this.

123 ↗(On Diff #40950)

Seems like this should be common in libi386...

316 ↗(On Diff #40950)

Do you need this? This isn't boot2 as well, so at least you should update the comment :)

424 ↗(On Diff #40950)

Seems like this should be common too, but that may be beyond the scope here...

benno marked 2 inline comments as done.

Address review comments from imp.

nits for posterity...

stand/i386/isoboot/isoboot.c
2 ↗(On Diff #41101)

You're not adding your own copyright?

82 ↗(On Diff #40946)

OK. They are passed into the boot loader for really old kernels loaded directly from the boot loader... Should put this on some list to look at retiring...

This revision is now accepted and ready to land.Apr 5 2018, 6:12 PM
This revision was automatically updated to reflect the committed changes.
stand/i386/isoboot/isoboot.c
2 ↗(On Diff #41101)

No, not enough changes to warrant it.