Is it possible to use FOG to network boot/diskless as well? (or what tools could)
-
Hello, i’m very interested in this project because i’m wanting to play around with drive imaging across multiple operating systems, and was looking for something free/open source and you fit the bill.
I am pretty sure I will end up trying to use this project one way or another, I am just trying to see whether it may also have use in a related task. I would like to set up storage virtualization so that all hard drives can be on one easily managed server. I need this to work MultiOS so ideally this would boot from PXE and load a boot image from a central server for the desired operating system - windows, mac, or linux for instance.
I am wondering if there may be some way to do this using FOG, even if it’s a bit clunky or a workaround or not really what it’s intended for. Such as having the PXEboot first load something which creates a RAMdisk or sets up a network drive to in some way work as a virtual local drive. So that a standard operating system could be loaded to install to C:/ and then having that state mirrored to the network server. The RAMdisk option would obviously be limited to on board ram, the network version could be larger but would be limited by bandwidth.
If FOG is not appropriate could someone suggest something which might be an option? I would really like to remain as multiOS friendly as possible and with PXEbooting because it can use even very old hardware. Something proprietary to only one system is not as much use to me.
-
Well… the answer is a bit complex.
Could you do what you want with fog, yes.
Your limiting factor is not FOG, or the hardware its the target OS you want to netboot. If the target OS supports netbooting then the FOG environment would help you get there.
You can netboot most linux operating systems, with the exception of DOS based Windows systems and WinPE systems you can’t netboot MS Windows operating systems because they aren’t designed that way. MS WIndows based operating systems have hardware drivers that expect to talk to real hardware and not a virtualized storage system.
Other issues I can see is that if you want to create a ram disk for this virtualized disk, your system will need to have enough ram to support the in memory disk as well as enough RAM to run the OS. The linux OS FOG uses loads its kernel and virtual hard drive in memory and runs out of memory, that is why FOS executes so fast. All of that is transferred from the FOG server to the target over pxe and http protocols.
-
@george1421 said in Is it possible to use FOG to network boot/diskless as well? (or what tools could):
Well… the answer is a bit complex.
Could you do what you want with fog, yes.
Your limiting factor is not FOG, or the hardware its the target OS you want to netboot. If the target OS supports netbooting then the FOG environment would help you get there.
You can netboot most linux operating systems, with the exception of DOS based Windows systems and WinPE systems you can’t netboot MS Windows operating systems because they aren’t designed that way. MS WIndows based operating systems have hardware drivers that expect to talk to real hardware and not a virtualized storage system.
Other issues I can see is that if you want to create a ram disk for this virtualized disk, your system will need to have enough ram to support the in memory disk as well as enough RAM to run the OS. The linux OS FOG uses loads its kernel and virtual hard drive in memory and runs out of memory, that is why FOS executes so fast. All of that is transferred from the FOG server to the target over pxe and http protocols.
It is possible I don’t understand very well what i’m asking either. I remember playing around with a long time ago software that would both create ramdisks and mount network drives as local even under DOS. I can’t remember what it was called. My guess was that if a software could make ram/network seem like a hard drive transparent to the system, even though Windows wasn’t designed for it, it should use it the same. (possibly with issues at reboot time admittedly, but first thing sfirst) I assumed Windows was all file based, except for the loader pointing to it where to start on the hard drive. Alternately if there were software to make it look like block level storage.
I know there were OS specific ways to do this at least for XP (ATAPI over ethernet or something) where a remote drive on the network was mounted as local. But that’s only for XP. Hence I was wondering if there was some way that could work for more than one system.
One specific desire for this setup is basically for a low budget LANparty server which i’d like to set up at various conventions (sci fi, anime, etc) where instead of any worry about installing and such, you just have people load one ‘gaming image’ which boots the OS and a selection of games were playing already configured up, in the correct versions and similar, with less hassle. Where any spare mobo and gpu can add another station without needing another hard disk and going thru a full install to add it - just point to the network and boot. I’m told that alot of internet cafes use something similar for their gaming setups but I dont know what it is and am sure it’s not free.
-
@george1421 I suppose another expansion on the question would be that just like there are liveCD’s for even windows 98 and XP and Windows 10 now people have made, where it loads some things into RAM, and other parts of the filesystem are on the CD rom… I would like to know if there is some way to create a setup where FOG could load the RAM part of that minimum core, enough to see the network, and load the rest through normal network shares and such.
I mean if it can be set up for windows 98 and XP off read only media I assume there must be a way to make it work over the network whether read or write media. I’m mostly curious how to get that ‘core OS’ booted up in the first place, but my understanding is it’s very much like that… you create a sort of custom install, image the drive, and then this is loaded into RAM which at least gets you up to the desktop.
I don’t even mind possibly using existing liveCD’s as a mounted ISO for this process - provided PXE could mount an ISO and load the existing CD file system from it. Then I could if nothing else just learn how to make custom live CD’s and use that as a workaround (to get FOG to boot it) instead of trying to directly hack it.
-
@maximillian I think you’re thinking FAR too into this.
FOG doesn’t have this capability, but the utilities FOG uses do.
iPXE is more than capable of doing what you’re requesting, and you CAN configure your menu’s and whatnot through fog to do what it is you are wanting. The difference, here though, is FOG is meant to do (generally speaking) very specific things and actions. Due to this, it’s not something WE (the fog people) are going to “support”. Meaning, we can tell you it’s possible, we can even help lead you in the direction, but as far as a single “goto” resource for something like what you’re requesting is FAR out of scope of what FOG is.
I’m not trying to sound rude or anything, but It’d be like asking a Small Engine repair shop to install a turbo charger on your Truck. They have the utilities and tools to do the job, but it’s not something they would be “expected” to do or walk through with a person.
-
i’m willing to help point you in the direction of a few possibly helpful resources, just because this sounds like fun.
the main thing you’ll need to look into for this is ipxe boot methods. you can find all of the official documentation you need at ipxe.org and you can find many examples of ipxe boot menus and how to use them on this forum as well as here https://netboot.xyz/ and here https://github.com/robinsmidsrod/ipxe-phpmenuwith all that in mind, the only way you’re likely to get a Windows system to network boot (beyond just a WinPE type boot environment) is probably going to be by using ipxe to configure a iSCSI drive for it to boot to. even then don’t expect wonderful performance.
you’re probably better off setting up a system where the computers can be reimaged quickly (with fog) and you can install their games quickly onto them. here’s a project that can help with the quick game installs https://github.com/junkhacker/lancache
-
@Tom-Elliott No I understand that. Part of it is just curiosity how it all works. Part of it a desire to hack around and see what else it can be made to do, even if some of those ideas are a little halfbaked still. Sometimes i’m not sure if the best way to do something is by hacking an existing tool to do something unusual, vs trying to do it from scratch by using other tools entirely.
Mostly I just stumbled across this really cool program (which is FOG), that I never heard any of the people in my other little communities seem to know of, so I was trying to figure out what else I can do with this new tool and maybe show them an example. When I finally get a chance to install it and mess around some more it will probably be more clear what I should and shouldn’t do with it.
-
@Junkhacker Thanks for the suggestions. It will be a little while before I can be able to test all this stuff - this was mostly searching for leads to follow up later when I have a little more time. (like hopefully by this summer) Knowing that it can take months to ask the right sets of questions which take a few rounds to fully understand how something works and what to do with it.
When I finally get a chance to play with and learn things specifically set up for it, i’ll be posting everywhere including here, and in the subcommunities I think will be interested in whatever nerdly-cool setup i’ve come up with.
PS - FWIW I wasn’t necessarily planning iSCSI, just the ATA over Ethernet type hacks others have done in the past which as long as each OS supports it, i’m hoping should work without too much hacking. But I need to mess around with OS level files probably for things like Win98 to do what I want, so that also has to be learned about.
-
@maximillian Keep us posted, I am VERY interested to see your work/what you find!