Slashdot Mirror


Good, Portable "Virtual" Linux Distro?

Prof. Nix writes "I have been given the opportunity to redesign the Linux course for the community college I work for. This course will be taking students from the 'What's Lee-nux?' stage to (hopefully) Linux+ Certifiable in about three to four months. However, one issue I haven't solved is finding a semi-stable, highly portable, and readily accessible platform the students may pound on, and have root access, independently of their peers. The powers-that-be have already vetoed any sort of server environment accessible from off campus. We've already tried live USB drives, but we ran into many issues with non-supported hardware on students' home computers. So I'm left with the idea of virtual machines run from flash drives. My ultimate goal is to have some sort of portable system that students can use with equal ease on lab systems and personal laptops — regardless of hardware. Preferably this system would be installable on a 4GB flash drive and run an Ubuntu- or Fedora-derived OS. So I ask the people who have been in the trenches a lot longer than I — what distros should I look at?"

37 of 261 comments (clear)

  1. Slackware by vikingpower · · Score: 3, Informative

    You can fully "undress" it, down to the bare basics, and it is incredibly stable. You'll definitely run it from a 4 Gb USB stick - and your students, most importantly, will LEARN from it.

    --
    Religous speak to God. Insane are spoken to by God. When all shut up, one can finally hear Shostakovich in peace
    1. Re:Slackware by Daengbo · · Score: 5, Interesting

      Let's be serious about this here: download Portable Virtualbox, install it on a thumb drive, install whatever distro makes sense for the class (given A+, probably CentOS, Fedora, Debian, or Ubuntu) on the drive's VBox, and dd is your friend. Finished. Anyone who hoses the VM can get a fresh load.

  2. Virtual Box by bsDaemon · · Score: 4, Informative

    Can't you put the virtual disk image for as a regular file on a USB stick, then load it into Virtual Box from there? That way, no purchase necessary with regards to software to run the VM, and you can issue a standardized appliance image to start with. Of course, you need to make sure that everyone has a thumb drive of sufficient size.

    1. Re:Virtual Box by Jurily · · Score: 4, Interesting

      Of course, you need to make sure that everyone has a thumb drive of sufficient size.

      You can't even buy drives too small for this anymore.

    2. Re:Virtual Box by hausen · · Score: 5, Informative

      I ran across almost the same problem this week: needed to have a live USB, but also the ability to run inside a virtualized machine in the case the physical machine wouldn't boot it. I second the parent's opinion: VirtualBox is the way to go. It even has a "portable edition," so you don't have to ask users to install any software, neither you need to ask the lab administrator to install any software.

      I seearched a little bit and found this nice gem: http://www.linuxliveusb.com/ (notice: this is not a slashvertizement; I have no links whatsoever with the development group. Just a really satisfied user.) You just have to:

      1) install the live CD iso of the distribution of your choice (I have chosen Ubuntu, since I am familiar with it)
      2) download Linux Live USB Creator - Full Pack (w/ Virtualbox)
      3) run it, point it to the iso file, mark the persistency option (I have setup 2GB for it) and click the "lighning bolt" icon to create your live USB with a portable VirtualBox
      4) profit!

      You can either boot it as a USB hard drive, or you can run your virtualized OS under Windows clicking the "Virtualize this Key" executable! That's it! No messing with settings in grub, no modprobe, no nothing! Just use an easy GUI.

    3. Re:Virtual Box by Ian+Alexander · · Score: 3, Insightful

      Great idea. Make the students waste their time fucking around just getting the thing up and running so they can start studying while every day the quarter slips away more and more. A virtual image is a great idea - hardware incompatibilities can happen at any level of the system (kernel, X.org, HAL/DeviceKit/CUPS/SANE regressions, etc, etc), so I think a good working knowledge of Linux is probably a prerequisite to troubleshooting hardware incompatibilities. Let the students actually understand what the kernel is and how modules work before making them go fetch sources to compile kernel modules.

    4. Re:Virtual Box by element-o.p. · · Score: 2, Insightful

      ...with such little market share.

      Insightful? Seriously? That's blatant flamebait.

      --
      MCSE? No, sir...I don't do Windows. Yes, I am an idealist. What's your point?
    5. Re:Virtual Box by jumpingfred · · Score: 3, Insightful

      I don't think community college is what people mean when they talk about the ivroy tower.

    6. Re:Virtual Box by Kjella · · Score: 3, Interesting

      The post is pretty much standard trolling, but have the moderators gone on crack too? That's like say "Let's learn to drive a car. Let's start by assembling the engine..." and this is less of a problem in the workforce than on a collection of random computers. Every serious IT department runs recommended configurations of hardware and software, you don't just throw parts together, slap an OS on it and hope it works. Some hardware works flawlessly under Linux, others is a paperweight with every variation in between. If you want to run Linux you get hardware that runs Linux and it's not that hard to find, it's more that some brands support open source and others don't. Running it on random hardware is only done by people who want Linux to fail so they can mock it or those that really want the pain of dark magic command-fu or a nasty assignment in C. I really would like to see it as one of the assigned tasks though - run Linux natively from a LiveCD and run through basic checks on what works and what doesn't. That could be rather helpful information to someone trying to find a Linux friendly computer and Linux friendly accessories.

      --
      Live today, because you never know what tomorrow brings
    7. Re:Virtual Box by nabsltd · · Score: 3, Informative

      There's actually no need to buy anything to use VMware, as Player is free and allows you to create VMs...it just doesn't have some of the better features (snapshot control, etc.) of VMware Workstation.

      VMware Server is also free, and has a lot of great features. For bare-metal, ESXi is also free.

      With all that plus VirtualBox, Xen, KVM, various Microsoft offerings, etc., there really is no need to pay anything for a hypervisor.

    8. Re:Virtual Box by VTI9600 · · Score: 2, Interesting

      Given current trends toward cloud computing I bet it will soon be possible for students who are just starting out with Linux to never once have to run it outside of a virtual environment. Unless of course troubleshooting hardware is part of their job description. For most, it probably won't be.

      The problem with the original post is that he is asking for a distro recommendation when he should have asked for VM software. Common sense would dictate that you just use whatever distro is being taught in the class and pick a virtualization platform that handles it well.

    9. Re:Virtual Box by Hurricane78 · · Score: 2, Insightful

      You say that as if it were a good thing to learn and understand absolutely nothing about the devices you’you using.
      Basically this behavior trains people to play with colorful clickables on what is essentially only an appliance.
      And then you act surprised, that everyone that calls you when you work in tech support, is a fuckin’ moron...

      Sorry, it’s your own damn fault.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    10. Re:Virtual Box by SilverJets · · Score: 2, Interesting

      And then you come back to what sconeu was replying to. The point that if the home computers can't run linux off a USB stick, they're probably going to struggle to run a virtualized system.

      The solution is simple. Give the students USB sticks with a bootable linux distribution installed. Those that can run it from home can do so. Those that can't can go out and pay $300 for a computer that can or use the school's computers.

    11. Re:Virtual Box by terryducks · · Score: 2, Interesting

      But there has to be a line between getting stuff done and experimenting. if I have a deadline - I need to get stuff done, so yea I'll pick the pretty buttons.

  3. Portable Ubuntu ? by phideaux3 · · Score: 2, Informative

    Is this what you're looking for? http://portableubuntu.demonccc.com.ar/en/download

  4. Ubuntu on Ubuntu with Virtualbox by commport1 · · Score: 2, Insightful

    You could think about running 'Ubuntu on Ubuntu' - as both the main desktop OS, and another copy in a VM running VirtualBox. Anything they're trying for the first time, or that has the possibility to go wrong, they can do on the VM and snapshot + remove it as required. Once they are more capable, maybe they can start to perform tasks on the Desktop copy. If anything goes wrong and the workstation needs to be re-imaged, there's a chance the VM could be be backed up (so the work is not lost) and it's also portable, so it can be used at home.

  5. Portable Virtualbox. by sxeraverx · · Score: 4, Informative

    Look at Virtualbox: http://www.virtualbox.org/ and there are portable (current) versions out there. On there, you can install Ubuntu, Fedora, what-have-you.

  6. SUSE Studio? by sznupi · · Score: 4, Informative

    Easy customisation to your needs, has few virtual machines as targets.

    http://susestudio.com/
    http://en.wikipedia.org/wiki/SUSE_Studio

    --
    One that hath name thou can not otter
  7. Virtualbox images... by IANAAC · · Score: 3, Interesting
    can run from a USB stick or SD card.

    I run an instance of XP (Ubuntu host) from an SD card no problem. It shouldn't matter what OS the image is, it should run fine.

    1. Re:Virtualbox images... by IANAAC · · Score: 3, Informative

      Of course, it's a bit slower than running from a disk, but it's not unbearable, at least for my needs. Other than speed, no issues whatsoever. All hardware works, but that's because it's virtualized (sound, network, etc). Recognizes all USB peripherals I attach as well.

  8. Depends on the Course by Ohio+Calvinist · · Score: 5, Insightful

    I teach at the community college myself, and find that installing the OS is a really important part of learning to use it (creating partitions, mount points, swap, etc...) and is one of the first part that makes it very different from most Windows installation processes. Doing the install on a USB stick could result in students killing the Windows partition on the disk if they botch the install and accidentally put it on the hard disk. (I've had it happen).

    Using a VM host on the lab computers (either MS Virtual PC or VMWare; assuming that your lab PCs are Windows) and then allowing them to create the virtual disk on their 4GB (or larger) flash disks will give them the install experience (without risk of damaging the host system), and allow their install to be fairly hardware independent (assuming they have the same VM host on their home PC.)

    This also allows them to use a normal, general purpose distro than a stick-oriented one, that is also likely to have better textbooks available. I know any text should be good enough for derived distributions, but for students having an out-of-the-box or off-the-iso experience can alleviate a lot of first-week frustrations, and gives them a better (vanilla) resource to consult when bad things happen.

    --
    Forgive my spelling from time to time. I'm often posting during short breaks.
    1. Re:Depends on the Course by value_added · · Score: 4, Funny

      I teach at the community college myself, and find that installing the OS is a really important part of learning to use it

      Wholeheartedly agree. And while the rest of your comments have merit, I'd offer the suggestion to build on the "important part of learning" principle.

      Instead of going the VM route, just hand out Slackware CDs. Or if the kids are bright (like the kids were in my day), point them to the Linux From Scratch project and let them loose! For extra credit, you could have them figure out how to integrate their new OS in a Windows domain environment or, if that requires unavailable resources, have them install a complete Cygwin distribution on their Windows PCs to figure out creative ways to make Windows behave more sanely so that things like odd file names, line endings, a useless PATH, a nonsensical hierarchy, reliance on drive letters, security token issues, and reconciling Posix permissions don't present insurmountable challenges.

      By the end of term, they'll have all the experience they need. More importantly, they'll be prepared for the real world.

      The instructor benefits, too, as grading the students is simplified. Anyone that completes the class gets an automatic A, except for those caught cheating who get a B+. Kids that came in with a note from their parents excusing them from class gets an incomplete. Everyone else fails. And those that switched to one of the BSDs in midterm get put on the honour roll.

    2. Re:Depends on the Course by kandresen · · Score: 2, Informative

      From experience I totally agree:
      I myself tried to learn linux 3 times before I finally moved to the platform. I had my then had Redhat 5.2, SuSE, Mandrake, and some others before dropping out - the interfaces worked well, but I did not understand the fundamentals - expecially things like why I could not execute my programs etc - which I later on learned was - my programs where not in path and thus I had to make them executable and then use ./ and other issues.

      All solutions - Ubuntu, Redhat, Slackware, etc use entirely different package managers etc. This was another huge problem for me - I was learned the Redhat way and had no understanding of how I could install things myself when I needed. This is a major issue.

      Through my Linux experience in school which essentially was more about creating some basic C programs etc, I had yet no understanding of the way the system worked, why there was a /bin, /usr/bin, /usr/local/bin and so on, and I was close to drop Linux altogether.

      I did make one last attempt - Linux from Scratch http://www.linuxfromscratch.org/ : Finally a project that helped me make sense of all the Unix systems!! It took me only one single week despite having to recompile all the code! The compilation time was time to learn the fundamentals - partitioning, file system considerations, Linux Standard Base : why some things are to be in /bin, others in /usr/bin or /usr/local/bin or /opt and so on.

      As soon as I had finished the basic Linux from Scratch program, I had learned enough to use ANY Linux system; I moved to Gentoo at the time to make sure I did not forget what I had learned and improve some more. Today I use Redhat ES for servers and mostly Ubuntu for desktop.

  9. Re:In my Post Secondary by Zardus · · Score: 2, Funny

    Unless I totally misunderstood your post, Fedora Core *is* a free distro.... If I totally misunderstood your post, it's *still* a free distro, but then that information is irrelevant.

    --
    You can mod your friends, you can mod your nose, but you can't mod your friend's nose.
  10. Here are two. by zero_out · · Score: 5, Informative

    DSL works well. It's 50 MB, can boot off a USB flash stick, and comes with its own virtual environment for running within MS Windows. It's probably missing a few features you will want for teaching a course in Linux, though.

    I also like Puppy Linux. I was able to make an MP3 player out of a small thin client computer and this OS. I just had to modify a few shell scripts, and plug the TC into my home stereo.

    1. Re:Here are two. by Tigersmind · · Score: 2, Informative

      DSL works well. It's 50 MB, can boot off a USB flash stick, and comes with its own virtual environment for running within MS Windows. It's probably missing a few features you will want for teaching a course in Linux, though.

      I also like Puppy Linux. I was able to make an MP3 player out of a small thin client computer and this OS. I just had to modify a few shell scripts, and plug the TC into my home stereo.

      Exactly what I was thinking. This too http://tinycorelinux.com/ I run it on my PII.

  11. vms by Anonymous Coward · · Score: 2, Informative

    Look at vmware's site, they have a link to a second site they run which has nothing but
    "virtual appliances" which are pre configures VMs ready to run for various purposes.
    Included therein are VMs of popular LINUX / UNIX OSs. Most of those are of course free, though
    they also have various commercial VMed applications of various sorts too. Generally the VM images
    lag a few months behind the very latest releases since they're made by 3rd parties and aren't generally part of the official distribution release.

    Also look at SUSE Studio, the susestudio.com (IIRC) web site has a way to make a "custom" OpenSusE
    distribution using their online toolkit for customizing what you want in it. You probably can make
    some kind of easily virtualized ready to run system image with whatever you want in it in the 2GB
    or 1GB or 700MBy CD image or 4.7GBy DVD image size ranges.

    I believe that some distributions have a XEN enabled paravirtualized DomU image which you can use as a standard installation option, though you might have to repackage that in the form of something that includes the hypervisor itself. Look at the Xen Live CD, that has the hypervisor and some kind of UNIX OS as well if I recall correctly. xensource.org / xen.org IIRC.

    LinuxMint is a LiveCD based on Ubuntu that is pretty portable across lots of machines, though not obviously all possible hardware, but it may be worth a look.

    The problem with a virtualized system is that the hypervisor itself may not be portable to all machines either depending on the kinds of peripherals and chipsets / CPUs the hypervisor supports. Most Hardware Virtual Machines require basic VM extensions being enabled in the CPU to work, though some virtual machine platforms don't require it when you're running a 32 bit guest OS. IIRC
    you can run XEN, Virtualbox, Virtual PC VM software with 32 bit guest OSs without needing VM CPU extensions, though of course there are still only certain physical hardware types they support.
    XEN based VM hypervisors with a paravirtualized LINUX guest is probably best in a slight way for performance since the guest OS itself is compiled to be very efficiently virtualized even without HVM CPU extensions, though I can say that even without HVM extensions and a paravirtualized guest OS still some VM systems do a pretty goog job virtualizing a guest in real time.

    The last resort would be you could run a VM on a server running XEN or KVM or VirtualBox and give the students RDP or VNC remote desktop access to the VM's root, so they can be root and do whatever they want on their particular image, but not cause a security or functionality problem for the server or other VMs. Benefits of snapshotting / backup / deployment / resetting to a known good state apply. You could even provice some EC2 or other cloud hosted VM instances for people to play with at fairly low cost and fairly high performance if you need to scale up beyond the few dozen PV DomU VMs your local lab PCs could probably easily accommodate. Maybe Amazon or whatever has a academic pricing rate for their hosting, or someone else might.

  12. Make your own by houghi · · Score: 4, Informative

    http://susestudio.com/ allows you to make your own. This can then be done as USB stick, CD/DVD, VMware and what not. You can decide if you want it to be installable or not, add your own specific software and almost anything else you like.

    How far you go to make things special is up to you.

    However, you will always have non-supported hardware. Happens with any OS, except for the one that was pre-installed and then hope people have not added hardware.

    --
    Don't fight for your country, if your country does not fight for you.
  13. Re:Knoppix by element-o.p. · · Score: 2, Informative

    What's /dev/sda1comes?

    I kid, I kid.

    In all seriousness, however, what version of Linux would that *not* apply to? If you have root access, by definition, you have the ability to hose your system. Personally, I have found Knoppix to be a great Linux distro that does not require you to install it to use it. The Ubuntu LiveCD is pretty good, also. Then, of course, there is DSL and several others (although I have never personally used DSL).

    And does it need to be a one-size-fits-all solution? I have a desktop at work from which I cannot access USB thumb drives because the mobo chipset is flawed. I also have a personal laptop that has a failed CD-ROM drive, but that has working USB ports. If you choose either of those media, I have a computer that it won't work with. However, if you provide Linux on a USB stick for those who can use USB sticks and Linux on a CD for those who can use a LiveCD, you'll have *something* that works for everyone. For the one guy at the university who can only boot from a floppy...well, he will just have to buy a new computer :)

    --
    MCSE? No, sir...I don't do Windows. Yes, I am an idealist. What's your point?
  14. Re:Special Memo To Slashdot by khellendros1984 · · Score: 2, Funny

    "420" has a meaning that you seem to be missing...

    --
    It is pitch black. You are likely to be eaten by a grue.
  15. A couple recommendations by CAIMLAS · · Score: 4, Informative

    I'm a strong believer in immersion as the best way to instruct people how to do things.

    Probably the best way to go about it would be a VM disk image file sitting on the flash drive itself. Dealing with the actual flash drive might be problematic due to compatibility.

    For the virtualization, I'd probably just go with the Open Source version of Virtualbox. It can be run as a server for the lab (if need be - though not advised),

    The biggest problems with going with USB flash drives are speed and compatibility, in that order. Flash drives are still very, very slow compared to a hard disk: it will jade their opinion of the operating system due to very sluggish writes (particularly due to the virtual disk allocation on top of the flash). There are also a number of limitations with the flash drive standardization themselves, as many are utter crap. Best to verify the make/model of flash drive you pick works. (Caveat: note that vendors -very frequently- change the underlying chips in the flash drives within a single model. Expect to have to buy them in lots.)

    Honestly, given the cost of external hard disks, the lack of flash drive consistency, and your stated apparent requirements of them being able to use their own systems as well as the school lab, you might want to make a USB hard disk a class requirement instead of a flash drive.

    But: why stop there? Honestly. When I was in school, we had a lab. I had a laptop. I brought my laptop and did almost everything on my laptop in the lab - and this was way before virtualization became commonplace (VMWare existed, but just barely). There were very few classes where I needed to have anything other than what was on the laptop - Debian Linux. Students could come and use the labs at any time (though most did not, as they had their own computers which were better).

    Seriously. This is 2010, not 1998. Assuming you're not offering this as an entry-level course (you shouldn't) and you'll have at least 2nd-semester CS students taking it, there's no reason to coddle them. Just set up a CentOS or Debian system and allow students to connect to it from the campus.

    On top of that, encourage them to install Linux themselves and configure it from scratch. It'll be good for them. Make obscene recommendations, like Gentoo or (god forbid) Slackware. A certification isn't going to mean jack shit in the long run (except for maybe taking a job from someone more qualified who doesn't have the cert) if they're not intimately familiar with the material.

    This, like the virtualization question the other day, is yet another instance of "virtualization is cool so I want to apply it". It's not appropriate for every scenario (and I'd argue this is one of them, due to the added complexity and potential for outside cases).

    --
    ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  16. Virtualbox by Boyne7 · · Score: 2, Insightful

    I would definitely recommend that you use Virtualbox (as many other have recommended) as it is a fully featured desktop virtualization environment and is free as opposed to vmware workstation which offers similar features. This would also allow the more adventurous of your students to create their own virtual machines and try out different distributions. To me, part of learning linux lies in learning the differences and quirks of each of the popular distributions. Obviously learning how to use bash and use the core linux kernel is going to be the most important, but learning the difference between apt and yum, etc. are also important. As for the best distribution to use for such a class, I would have to go with ubuntu as it is definitely the most popular growing linux distribution available, this would also allow for a massive amount of information and documentation online in order for students to do their own troubleshooting, etc.

  17. Re:To only play media files... by Technician · · Score: 2, Interesting

    Grab a copy of Geexbox if all you want is a linux media player. Boot it, remove it, and it plays almost everything you can throw at it. It may be a DMCA violation in your local as it does play DVD's without the DVD consortium's blessing or license. The only downside is it is keyboard navigation. The mouse is a paperweight in the program.
    http://geexbox.org/en/index.html

    --
    The truth shall set you free!
  18. Lernstick by Linnerd · · Score: 2, Interesting

    Here's a link to the "lernstick" - this is what is actively being used in schools here (Switzerland) with an English description at: http://www.imedias.ch/lernstick/lernstick_en and downloadable at: http://www.imedias.ch/dateien/lernstick-testversion/

    It's based on Debian and meant to be used in schools and at home; There even is a boot-cd for those olden machines that cannot boot off USB.

    Additionally they have a stripped down version (lernstick pruefungsumgebung) designed to be used for exams (No Internet).

    [[ iMedias is not a company but the name of an institute of the "Fachhochschule Nordwestschweiz". The institutes charter is to support schools in using IT for educational purposes. I'm not affiliated with them, but happen to now some people there;-) ]]

  19. Re:Good plan from my experience, except hardware p by dspolleke · · Score: 2, Funny

    according to Bill Gates you need 640k maximum ..

  20. Re:The question is unfair by tepples · · Score: 2

    I know I can install Linux on almost any PC hardware made after 2001 with at least 256 megs of ram

    So how do you actually get things done with Linux on a computer with an unsupported video card and an unsupported network card?

  21. Yeah, I agree by itomato · · Score: 2, Informative

    Studio is a great place to start. Dead simple to manage, and easy to churn out revisions. You can even include the Suse virtualization stack, which provides most of the functionality of Xen's 'official' server release. Put OpenXencenter http://www.openxencenter.com/ in the live release, and you're set.

    If hardware support is an issue, have them generate a support email with a basic hardware profile. Add appropriate packages to the Live DVD, and repeat.

    Caveat: It's invite only, and it make take some time to get one through the site.

    In any case, virtualization is a great way to go, especially if you're arming these students with life skills. The physical disk (heads, cylinders, sectors, tracks) is all but abstracted, as is the concept of IRQ, bus mastering, and most of the day-to-day of ten to fifteen years ago.

    A focus on mass implementations and the real-world fallout from those applications is something I would like to see in a class. Forget about baby steps, let's get this whole awesome thing in motion and leap some real hurdles - SAN concepts, multi-homing, foundations of capacity concerns, network-scale monitoring, and configuration management should shed enough practical exposure to the real aspects of implementation (shell access, users/files, networking, filesystems, hardware, etc.) as to keep it relevant and entertaining.

    Good luck.