Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

My Goal

Have a USB drive (4GB) live boot to DSL (for size) with some extra software (git, hg, .vimrc + plugins, etc...) and also reserve a portion of the drive as writable (maybe symlink my home folder, etc...)

Ultimately have a portable development environment.

Ideas / Suggestions on how to accomplish this?

share|improve this question
DSL seems to be dormant, but for example Tiny Core Linux could do a good job here, I suppose. – sr_ Jan 24 '12 at 9:25
You don't need anything special, provided all the machines you're going to run it on are the same architecture (e.g., all amd64/x86-64). Though, for a development environment, I'd suggest getting a larger flash drive. All the libraries, headers, tools, etc. you want take up a fair bit of disk space. So, too, possibly will your code and object files. – derobert Sep 2 '12 at 7:11
Another approach is having a virtual machine set up for development. 4GB is too uncomfortably small for many decent IDEs, and one should strive to develop under the same OS that would be used in production. – Deer Hunter Mar 1 '13 at 20:29
Take a look at Knoppix. It has excellent hardware support and detection, which can be important for portable development environments. – Evan Teitelman May 1 '13 at 14:50

I have a similar setup with Ubuntu 11.10. I made an Ubuntu live/installer CD and booted a laptop (a desktop would have worked as well) with the CD and the USB drive mounted. Then I just installed the OS onto the USB drive (being very careful not to install onto the laptop's hard drive). Now I can boot the laptop from the USB drive and have a running Ubuntu system that uses the USB drive for its main storage. And if I want to use the laptop's installed OS (happens to be Windows), I can just shut it down, remove the USB drive, and reboot.

EDIT : I found out today that this may not be as good an idea as I thought it was. I had initialized the USB thumb drive on one system (an Acer Aspire 5050 laptop), and until today I had never actually tried to use it on another system. Today I tried booting another laptop (a Dell Precision M2400) with the USB drive. It showed me a Debian (not Ubuntu) boot menu, and I never got a working desktop environment. It's still a (rather odd) way to have a dual-boot system without touching the hard drive, but it doesn't seem to be usable on systems other than the one where it was created. (Which makes sense; there are configurations that are specific to the system on which you install.)

EDIT 2: Or maybe that isn't the problem; it's not working on the original laptop either. I might try reinstalling the OS on the USB drive.

Note that you can also write the live/installer CD image directly to a USB drive, but that doesn't give you the same thing; it lets you use the USB drive as if it were a live CD, not a fully installed OS.

share|improve this answer

Your environment will be portable (as in, can take it anywhere), but won't build portable binaries (as in, run on any distribution). Libraries and configuration varies between distributions, in come cases to the extreme of just not working (has happened several times with C++ libraries, for example). You will run into problems even trying to run stuff from distribution n + 1 on version n.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.