Find the answer to your Linux question:
Results 1 to 4 of 4
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Lightbulb An operating system to boot other operating systems

    Hey there, everyone!

    First of all, let me introduce myself and my problem, feel free to skip to the question at the bottom of the post, but I know most of the Linux community likes to know the problem to try to overcome it with a different solution.

    I work at an University as a junior system analyst, in the sector I work, we have six labororatories with an average of 30 computers each. We use a wide variety of software, including paid closed-source and computer demanding ones. From network analysis software to 3D modeling and CAM/CAD, on Linux and Windows.
    It's not an easy task to have all those labs operating 100% of the time with full functionality, requiring extensive maintenance and software updating and replacing, but at the same time security and privacy for our users.
    We've been using Clonezilla's imaging system to restore all the computers per laboratory using Broadcast. This takes a lot of time to set up, around 4~5 hours per lab to complete. It works and is not THAT hard to work with, but with the increasing number of computers in our network we'll be soon overloaded with repetitive and time consuming tasks.

    We came up with multiple ideas on how to solve this, the main one being:
    - Have a server and an image for each computer model, which is then loaded via PXE to the user (Like Xen)

    Yesterday, while discussing the problem we thought of something that seemed really nice, if we could get it to work, I'll try to explain it.

    The problem:
    Each client computer would have 3 Partitions (suggested).
    One of them, will store the Windows operating system, the other one will store the linux operating system and, the last and most important one:

    It'll be something like a "GRUB operating system", it let's you select which of the two systems will be booted into, but not only that! It'll check a registry file on each one of them and compare it to an image stored on a server. Now, here comes the fun part: If the comparison returns a "different images" state, it WILL NOT boot into the operating systems, but warn the user that there's an 'update' available and aks if it should update. From now on, it'll erase the system partition and start copying a new one from the server (not sure how we're going to optimize this yet, but it is not our main problem).

    The Question:
    Is there any way to make, or even, is there any operating system available that will let us boot into another operating system? Something like the "Asus Express Gate"

    Ps.: We're currently studying the gPXE solution.
    Last edited by moothz; 08-02-2012 at 05:55 PM.

  2. #2
    You could do this w/a tiny Linux partition/OS. It could run entirely in RAM actually. It could mount the Win/Lin partitions, check the files, access your network server, and compare files and then, when the user selects the proper OS from a menu (a text-based menu, for starters - you can do it with Bash), it could run a grub command in the background that does a modification to grub that performs a one-time boot of a specific kernel enry, when the system reboots. This of course means that grub is installed as the bootloader on the first disk, and that all 3 OSs are valid boot entries, and that of course, your "Grub" Linux OS is the default entry.

    you could even put your OS re-imaging routines as grub entries, using PXE, so that all 5 menu items could be valid user selections.

  3. #3
    We've managed to do it!
    Well, not exactly how we wanted, but it's pretty good.

    We set up a debian clean system and edited inittab and rc.local so it would show a script instead of the terminal login screen.
    The script consists of a whiptail menu which selects the operating system to be booted, after selecting it, the system is rebooted on the selected OS. In the next restart, the user is brought to the "Menu operating system" again.

    To switch operating systems ONCE we used:
    sudo grub-reboot SYSTEM_ID_HERE && sudo reboot > /dev/null 2> /dev/null

    If you set the GRUB timeout to 0 seconds the user doesn't even notice the system is restarting. I attached the scripts used in case anyone wants to take a look at them.
    Attached Files Attached Files

  4. $spacer_open
  5. #4
    I would think it might be easier just to get a hypervisor install that baremetal and then use that to run your other operating systems as virtual OS's

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts