Is it possible to PXE boot Partition Logic /Visopsys?

Discussion about Visopsys Partition Logic
Post Reply
PorkChops
Posts: 2
Joined: Tue Jul 10, 2018 1:08 am

Is it possible to PXE boot Partition Logic /Visopsys?

Post by PorkChops »

Is there a way to PXE boot Partition Logic / Visopsys? The tiny floppy or ISO images can be loaded easily enough via PXELINUX/memdisk, but then Visopsys needs to "find" the boot device in order to access whatever other files it requires and so it is unable to complete its initialization -- for example:
PXE-Visopsys-floppy.png
PXE-Visopsys-floppy.png (9.09 KiB) Viewed 34282 times
Is it possible to load all of Partition Logic / Visopsys into memory so that it could be booted via PXE?
User avatar
andymc
Posts: 590
Joined: Tue Nov 16, 2010 7:20 pm

Re: Is it possible to PXE boot Partition Logic /Visopsys?

Post by andymc »

Hi PorkChops, welcome.

I'm afraid I haven't tried this at all, I think it would need some minor(ish) code tweaks, but I haven't looked at that protocol for a long while. I don't quite remember how it all works. The floppy or ISO images do contain everything needed to boot the system, but yes when the kernel starts up, it needs to be able to figure out where they are. The obvious thing that you suggest is to tweak the kernel so that it will accept a RAM disk as the boot device. It does have a RAM disk driver, so most of what would be needed should already be coded.

The way the ISO image works is that it has a minimal floppy image, with the kernel, which then loads the ISO filesystem from the media. Maybe the more correct way is for the kernel to contact the DHCP/BOOTP server for the full image, or something like that. That would need a bit more coding, and also support for a lot more network adapters :-)
nextvolume
Posts: 30
Joined: Sun Sep 01, 2013 7:58 pm

Re: Is it possible to PXE boot Partition Logic /Visopsys?

Post by nextvolume »

Yes, it is indeed possible and I have done it in the past, back when 0.74 was current I was tinkering with the kernel a bit, I got the idea to boot Visopsys on a set-top box that netbooted via DHCP. I even implemented a 16-color VGA driver.
It worked, but as it had no network support, it was mostly a demonstration.
You need to embed a filesystem image in the Visopsys kernel, fix the ramdisk driver up a bit and then pass a pointer to the filesystem image data to the ramdisk driver. I used floppy disk emulation with gPXE.
I remember having problems with loading somewhat big kernels, that was a bit limiting. That requires some work (loading kernel at a different address and changing the setup...).
This really needs to be automated ;)
It is a bit old but if someone wants I can try to see if I still have this and upload it here.
Visopsys@Unhaut - http://unhaut.fav.cc/visopsys
PorkChops
Posts: 2
Joined: Tue Jul 10, 2018 1:08 am

Re: Is it possible to PXE boot Partition Logic /Visopsys?

Post by PorkChops »

The goal for me is to PXE boot Partition Logic, so network support is not a requirement. I'd be very interested if you are willing to look for it and upload it...
User avatar
andymc
Posts: 590
Joined: Tue Nov 16, 2010 7:20 pm

andymc

Post by andymc »

Yes nextvolume, if you still have that and/or diffs of the changes you had to make, that would be great to start playing with.

I haven't done a partition logic release in a while but I should do (the disk manager has a number of improvements) and this would be another reason to update it
User avatar
andymc
Posts: 590
Joined: Tue Nov 16, 2010 7:20 pm

Re: Is it possible to PXE boot Partition Logic /Visopsys?

Post by andymc »

If anyone here is still interested, the newly-released version 0.85 may do what's required here. I implemented it for Coreboot/SeaBIOS support: if you create a file /ramdisk in the root of the floppy disk image, the loader will load the boot medium into memory and pass the address to the kernel, which will create a RAM disk for it and proceed to boot from that. That was all it needed, no?
Post Reply