Language Selection

English French German Italian Portuguese Spanish

The Lazy Guide to Installing Knoppix on a USB Key

Filed under

Knoppix, the famous live Linux CD that practically started the live CD trend, needs no introduction to most people. One of the things that's so great about it is that you can take it with you and boot to a familiar Linux environment on almost any modern computer, without touching the OS that's already installed on it.

Of course, it can be even more portable when it runs entirely off of an inexpensive USB key. So let's install it to a 1 GB USB key, and create a persistent home directory in which to store files. Only let's do it the lazy way, and keep use of the command prompt to a bare minimum.

You will need a copy of the latest Knoppix CD (v5.1.1 as of this writing) and, of course, a 1 GB USB key. If there's any data on that key you want to keep, save it before starting, because the key's going to get repartitioned (and reformatted) and any existing data will get wiped out.

A note about the mysterious art of booting from USB keys. Some computers can do it, and some can't. (Now that was a really technical statement, wasn't it?) The newer the computer's BIOS, the greater the possibility that it will work.

Generally speaking, there are two ways of booting from a USB key. The first way, the computer treats it as if it were booting from a Zip drive. This was the first way to go about it, and it requires special partitioning (so that your USB key's partition layout actually resembles that of a Zip drive). If your computer can only boot from a USB key using Zip drive emulation, then a saavy user's written a very good how-to about how to use a script on the Knoppix CD to do the partitioning, and posted it to the wiki. My how-to owes him a debt, because I used some of his ideas.

The current way is to simply treat the USB key as if it were a hard drive. This is the method we'll use here, due to its simplicity.

Also, note that Damn Small Linux (a tiny, 50 MB Knoppix-based distro) includes an easy-to-use script that will format and put DSL onto a USB key, using either Zip drive emulation or hard drive emulation. To avoid frustration, you might want to use Damn Small Linux to see if your computer actually will boot from a USB key as if it were a hard drive before performing all these steps!

To get started, boot from the Knoppix CD. When the (KDE) desktop is up and running, the first thing to do is to set a root password (by default, there is none) by clicking on the penguin icon next to the K menu and choosing "Set password for root" from the menu.

1. Creating a root password

2. Creating a root password, continued

Next, insert your USB key. KDE will most likely pop up a window asking if you want to either "Open in a new window" (i.e. browse the files on it), or "Do nothing." Choose to do nothing (or click Cancel), because we don't want it mounted just yet. The key's icon should show up on the desktop, usually as sda1 or sdb1. Carefully make note of its name (in the form "sdxy") for the next step.

Go to the K Menu > System and choose GParted, a GUI-based partition editor, enter your root password when prompted, and choose your USB key from the drop-down menu to the right of the toolbar. Delete the partition on it (you did back up your data, didn't you?) and create two new partitions, both FAT16. Partition one should be 750 MB; the second should take up the remaining space. (Make 100% sure you're partitioning your USB key, not your hard drive!) When you're done, the results should look similar to this:

3. Preparing for partitioning

When you're ready, click the Apply button.

Next, right-click on Partition #1 to bring up a context menu, and choose "manage flags." Set the flag on your new partition to "boot."

4. Setting the boot flag

When you're all done, it should look about like this in GParted:

5. Done partitioning

Again, at this point KDE may pop up two windows (for the two partitions you created) asking if you want to either see what's on your USB key or not. Tell it "no." Next, bring up a console window, type "su" to get root, and install syslinux on the USB key, using the command

syslinux /dev/sda1

(substitute the real name of your USB key's first partition for "sda1" here, if it's not sda1).

6. Installing syslinux

There are some files you'll now need to copy to your USB key's first partition, so go ahead and mount it and make it writeable. You do that by right-clicking on the key's desktop icon to bring up a context menu, and first select "mount" from the menu, and then "change read/write mode," pressing "Yes" when it asks for confirmation. At this point, there should be one file on your USB key's first partition, named "ldlinux.sys."

7. Mount the USB key's first partition

8. Make it writeable

Now we need to copy files off of the Knoppix CD onto the first partition of the USB key. Start up Konqueror as root by choosing K Menu > System > More Applications > File Manager - Super User Mode. Give it your root password when asked.

9. Start Konqueror as root

Open the /cdrom/boot/isolinux directory, select all the files in it, and copy them to the root of your USB key.

10. Copying files - 1

Next, rename the "isolinux.cfg" file on the USB key to "syslinux.cfg" and delete the unneeded file, "isolinux.bin." Continuing on, copy the "KNOPPIX" directory and the files at the root of /cdrom to the USB key.

11. Copying files - 2

It'll ask you if you want to overwrite "cdrom.ico" and "index.html". Let it, by clicking "Overwrite All". This step will take a while, since you're copying a file that's almost 700 MB in size to your USB key.

12. Copying files - 3

When that's finally done, you can make some changes to "syslinux.cfg," which is (as you might guess) the configuration file for syslinux. Select it in Konqueror, which (unless you've changed your defaults) will bring up KWrite (a text editor). At the end of the second line, the one that begins with "APPEND," try adding "dma noeject noprompt home=/media/sda2/knoppix.img", which does the following:

  • "dma" turns on dma settings for all hard drives and CD-ROM drives, which can speed things up
  • "noeject" and "noprompt" makes it so that Knoppix won't try to eject the CD (since you're using a USB key) and won't prompt you to remove the CD before rebooting
  • "/home=/media/sda2/knoppix.img" will load your soon-to-be-made persistent disk image

Those of you who've used Knoppix will recognize those as Knoppix "cheatcodes." Putting them here means you won't have to type them at the "boot:" prompt.

13. Modify syslinux.cfg

Almost done! Now to make the persistent disk image, which does more than just store your personal files from /home/knoppix -- it also saves changes you've made to configuration files, and even allows you to install programs, just as if you were running from a hard drive. (Granted, 200 MB isn't that much room.) To start, go to the Knoppix menu (the one with the penguin icon next to the K Menu) and select Configure > Create a persistent KNOPPIX disk image.

14. Create a persistent disk image - 1

When it asks you which partition to write it to, choose the second partition on your USB key. (I know the partitions are labelled "vfat" in the screenshot, but the partitions really are formatted as FAT16. Trust me.)

15. Create a persistent disk image - 2

It'll ask you to tell it how large to make the persistent disk image. Choose a number close to, but not completely filling, the partition's capacity. 200 MB should be good.

16. Create a persistent disk image - 3

Now you're (finally) done and ready to boot from the USB key. You will have to sort of babysit the boot process, because there's a dialog box that asks if you want to actually use your persistent home that comes up. (Then again, maybe you don't want to use it all the time, especially if you're using more than one computer.) You also have to explicitly give it permission to write to your persistent home. (Hint: Use the arrow keys to move; use the spacebar to select.)

About BIOS settings and booting from a USB key: On one test machine, which has a Phoenix AwardBIOS, I have to go into the CMOS setup utility, to Advanced BIOS Features, and to Hard Disk Boot Priority, then press "Page Up" until the "USB-HDD0" entry is at the top, and then save my settings and exit. After that, it'll boot from the USB key, if it finds one. (If not, it boots from the hard drive.)

On my other test machine, which has an AMI BIOS, all I have to do is press F11 to call up a menu asking which device I wish to boot from at boot time. Naturally, this is much more convenient.

That's all, folks! Have fun. (And those of you with huge 8 GB USB keys, consider installing the DVD version of Knoppix, which has the kernel headers included -- which you need in order to install such nifty things as proprietary video drivers.)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Clarification in Article

I have followed the instructions and got a little confused here.
isolinux is a folder and has files in it. Knoppix is fighting me and not letting me copy the files, but copies the entire folder with the files. Is this right?

Open the /cdrom/boot/isolinux directory, select all the files in it, and copy them to the root of your USB key.

Also I am getting a write error when trying to edit and make the changes you have documented to "syslinux.cfg,"
It tells me it is not possilbe to write to file///media/sda1/isolinux/

I tried to complete the instructions with the isolinux folder being in /dev/sda1/isolinux (as a folder) but get an error can not find isolinux. You just get the boot prompt. I tried knoppix home=/dev/sda2 but it did not like that either.

Can you help me out?

re: Clarification in Article

Please make sure a) you know the names of your USB key's partitions (sda1/sda2? sdb1/sdb2?); Cool you've got your USB key partitions mounted read-write; and c) you've started Konqueror as root.

You'll want to copy the files in the isolinux directory (not the directory itself) to the root level of your USB key.

Truth be told, it's easier to do this at the bash prompt. For example (as root, and assuming the first partition on your USB key is "sda1"):

# cd /media/sda1
# cp -av /cdrom/boot/isolinux/* .
(don't forget the dot "." at the end)
# mv isolinux.cfg syslinux.cfg
# rm -f isolinux.bin

(The "#" represents the root prompt; don't type it.)

And to edit "syslinux.cfg", try doing it using mcedit, as root, also in a console.

(Trying to be lazy sometimes has its drawbacks. I admit to running "kcontrol" as root and changing the mouse setting to double-click to open files before doing anything with Konqueror. Makes it much easier to select files -- instead of unintentionally opening them -- that way.)

I had the same problem

What I did was save a new file called isolinux.cfg. Then I deleted the syslinux.cfg file and renamed the new isolinux.cfg to syslinux.cfg

Upon finishing, I rebooted and the key booted and I got as far as the bootup screen that says hit enter to start knoppix or F2 or F3 for help or boot options. and there it sits. Sad Any ideas? Could this have something to do with the appended options? dma perhaps? Any help running this down would be greatly appreciated as I've been trying to get linux on a stick now for days. This is as close as I've been able to get so I'm assuming it's something simple because the stick does boot. (UNlike the attempts with the Fedora approach). Many thanks for the great writeup, and TIA for any help running down the glitch!

Part 2

U of H student Tom

I also tried to edit the syslinux.cfg and get the same message. Seems like some type of security on the file.

Part 3

U of H student Tom
I right clicked on the file and went to properties and clicked on permissions gave everyone read and write and still get an error. "Could not change permissions".

Part 4

I went to the Shell console
typed in su
got to root@Knoppix

cd /media/sda1(Worked)

cp -av /cdrom/boot/isolinux/* . (don't forget the dot "." at the end)

balder.img -> cp: cannot create regular file Read only file system. same
boot.msg same

cp: overwrite './cdrom
.ico, overriding mode 0555?

Files did not copy.

mv isolinux.cfg syslinux.cfg
rm -f isolinux.bin

Seems like the CD being in read only mode is causing issues. Should I have loaded it to RAM?

U of H student Tom

Got it

I rebooted the machine and this time used the USB Knoppix copy I had versus running the CDROM version, went to root changed to SU, check the mounting status of the TOBE USB stick, updated to write access and ran the commands and it worked.

It works fine!

Some nice ideas there. Thank you



When Knoppix was first released it was heralded as revolutionary in the Linux world. Its autodetection and configuration capabilities were unsurpassed. Many of my colleagues remarked that if 'KNOPPIX can't do it, Linux can't do it'. Theoretically, one would be able to get a Knoppix CD, pop it into an arbitrary system, run it, save one's data to a partition, USB stick, etc....), reboot and the existing system would be left completely as it was before the CD was placed in the system.

- - - - - - - - - - - - - - - - - - - - - - - - - - -
don't buy World of Warcraft Gold, make'em.


Hello !

Thank you very much for the information. I need all this information to do something..Thanks again Knoppix

Libros Gratis

need a step-by-step note for booting knoppix DVD from USB flash

First of all, thanks knoppix and this nice step-by-step note for installing knoppix boot image onto a USB pendrive.

I downloaded a Knoppix 5.2.0 DVD and want to put it on a 8GB USB pendrive. I followed the steps in this note and failed because of the size limit for a FAT16 partition.

There are two really huge files under the KNOPPIX directory on the knoppix 5.2.0 DVD: KNOPPIX (2.0 GB) and KNOPPIX2 (2.1 GB). I can not copy them into one FAT16 partition which was made to 4GB on my pendrive. 4GB is already the ultimate limit for a FAT16 partition.

Is there a note for making a Knoppix DVD to boot from high-capacity pendrive? Moreover, is the FAT16 partition a must for booting from a USB pendrive? Is it possible to make the partition to be ext2? I appreciate in advance for your kind help!

Great help

Thanks a lot, it was of a great help for me.
I made a change in step 4 where I created only one partition (4Gb) in FAT32, it's working well.... seems to.

thanks again,

¦ All computers wait at the same speed

partition problems

If you go with one partition, do you lose your persistent storage option?

I have a 4MB and have been messing with it too much, with no luck. If I make a second partition, I cannot mount it in winXP to use it there (I tried both FAT16 and FAT32 -- of course, ext2 wouldn't work either). It boots ok, but that's about it.
Is there any way to get persistent storage with a bigger USB drive and allow WinXP to read/write?

I think this guide was

I think this guide was written especially for even lazy users like me Smile
I understood almost all of that, but file syslinux.cfg
it still insufficient clear for me.
Is "timeout" string really have influence for anything?

No Such Device

I created 2 partitions inside an extended partition, on a 2 GB USB stick. I didn't get the "manage flags" option so I set the 1st partition to "Active", which I guess is the same as boot. The properties in Knoppix identified the USB drive as sdc1, yet when I ran the command "syslinux /dev/sdc1" from root, I got: "no such device".


I am using Knoppix 5.1 & booted the live disk, with the USB stick already in. I was able to set permissions, mount & un-mount the device & create partitions, so I guess it must be mounted.

My knowledge of Linux is basic, so I don't know how to hotplug.

News NOT Support

Tuxmachines is a NEWS (and Review) site - perhaps you'd find answers to your tech support questions on a TECH SUPPORT Site.

Re: Support.

Point taken about the forums, anyway it still didn't work so I gave up. However the method I found below worked, on re-start I had to remove & re-insert the stick, to make the PC boot from USB, (hotplug?):

The home-page of the above site, has a list of USB install tutorials for various Linux distros.

re: support

I think what Vonskippy meant was that although your support questions are more than welcomed at Tuxmachines, they will probably receive faster and perhaps more accurate responses at forums that specialize in the software about which you're asking.

Superb Tutorial!

White modifying the KNOPPIX configuration file, those having the flash drive as 'sdbX' please use 'sdbX' in place of 'sdaX'.

Had a charm bro... Thank!


Thank you very much for this EXCELLENT tutorial.
I'm kind of new to Knoppix and Linux on the whole and this tutorial provided me structured and clear information and screenshots, exactly what I needed.
I've tried two other similar tutorials just yesterday, without success. This one did the trick!
I swear, if I could, I'd start humping you right away from happiness. *joke* =D
Thanks once again!
[sCYTHe] aka 88scythe

Installing Knoppix 6.2 from DVD on a 16GB USB Key

I followed your instructions verbatim, until I came
to a show stopper problem.
You say at step 11:

10. Copying files - 1

Next, rename the "isolinux.cfg" file on the USB key to "syslinux.cfg" and delete the unneeded file, "isolinux.bin." Continuing on, copy the "KNOPPIX" directory and the files at the root of /cdrom to the USB key.

Well, on the knoppix dvd, the directory KNOPPIX is almost 4GB in size.

Our root partition on the USB stick is 750MiB.

Could you be a little more exact as to which files in the
KNOPPIX directory shoudl be copied to our USB root partition?



More in Tux Machines

KDE4 and Plasma 5 for Slackware

  • KDE4 and Qt4 deprecation in FreeBSD
    This is a reminder — for those who don’t read all of the FreeBSD mailing lists — that KDE4 is marked deprecated in the official ports tree for FreeBSD, and will be removed at the end of this year (in about 20 days). Then Qt4 will be removed from the official ports tree in mid-march. Since both pieces of software are end-of-life and unmaintained upstream already for several years, the kde@ team at FreeBSD no longer can maintain them. Recent time-sinks were dealing with OpenSSL 1.1.1, libressl, C++17, .. the code is old, and there’s newer, nicer, better-maintained code available generally by replacing 4 with 5.
  • KDE Plasma 5 for Slackware – end of the year edition
    I just uploaded a whole new batch of packages containing KDE Plasma5 for Slackware. The previous batch, KDE 5_18.10 is already two months old and has some library compatibility issues. The new KDE 5_18.12 for Slackware consists of KDE Frameworks 5.53.0, Plasma 5.14.4 and Applications 18.08.3. All this on top of Qt 5.11.3. Compiled on the latest Slackware -current, it’s running smoothly here on my laptop. I decided against upgrading to QT 5.12.0. This is a new LTS release, but I will wait for the other distros to find bugs in this new software. Next week, KDE will release KDE Applications 18.12.0 and that too is something I want to check a bit before releasing Slackware packages. Therefore it’s likely that a new batch of packages containing Qt 5.12 and KDE Applications 18.12 will see the light shortly after the New Year.

Programming: GCC, LLVM, Rust, Ruby and Python

  • GCC 9 Guts Out The PowerPC SPE Support
    It should come as no surprise since it was deprecated in this year's GCC 8 release, but the PowerPC SPE code has been removed. This isn't to be confused with conventional POWER/PowerPC but rather PowerPC SPE that is for the "Signal Processing Engine" on older FreeScale/IBM cores like the e500. It's not all that important these days and doesn't affect newer versions of the 64-bit Power support.
  • LLVM's OpenMP Runtime Picks Up DragonFlyBSD & OpenBSD Support
    Good news for those using the LLVM Clang compiler on OpenBSD or DragonFlyBSD: the OpenMP run-time should now be supported with the latest development code.
  • Nick Cameron: Rust in 2022
    In case you missed it, we released our second edition of Rust this year! An edition is an opportunity to make backwards incompatible changes, but more than that it's an opportunity to bring attention to how programming in Rust has changed. With the 2018 edition out of the door, now is the time to think about the next edition: how do we want programming in Rust in 2022 to be different to programming in Rust today? Once we've worked that out, lets work backwards to what should be done in 2019. Without thinking about the details, lets think about the timescale and cadence it gives us. It was three years from Rust 1.0 to Rust 2018 and I expect it will be three years until the next edition. Although I think the edition process went quite well, I think that if we'd planned in advance then it could have gone better. In particular, it felt like there were a lot of late changes which could have happened earlier so that we could get more experience with them. In order to avoid that I propose that we aim to avoid breaking changes and large new features landing after the end of 2020. That gives 2021 for finishing, polishing, and marketing with a release late that year. Working backwards, 2020 should be an 'impl year' - focussing on designing and implementing the things we know we want in place for the 2021 edition. 2019 should be a year to invest while we don't have any release pressure. To me, investing means paying down technical debt, looking at our processes, infrastructure, tooling, governance, and overheads to see where we can be more efficient in the long run, and working on 'quality of life' improvements for users, the kind that don't make headlines but will make using Rust a better experience. It's also the time to investigate some high-risk, high-reward ideas that will need years of iteration to be user-ready; 2019 should be an exciting year!
  • A Java Developer Walks Into A Ruby Conference: Charles Nutter’s Open Source Journey
    As a Java developer, Nutter began looking for an existing way to run Ruby within a Java runtime environment, specifically a Java virtual machine (JVM). This would let Ruby programs run on any hardware or software platform supported by a JVM, and would facilitate writing polyglot applications that used some Java and some Ruby, with developers free to choose whichever language was best for a particular task.
  • Good ciphers in OpenJDK
  • Don’t delete the same file in its own directory
  • Create a home button on the pause scene

Audiocasts/Shows: Going Linux, Linux Thursday and More

  • Going Linux #358 · Listener Feedback
    This month we have voice feedback from Paul, suggestions on alternatives for G+, a question on OpenVPN, feedback and problems moving to Linux. Troy provides a Going Linux story on software for Linux users.
  • Linux Thursday - Dec 6, 2018
  • Gnocchi: A Scalable Time Series Database For Your Metrics with Julien Danjou - Episode 189
    Do you know what your servers are doing? If you have a metrics system in place then the answer should be “yes”. One critical aspect of that platform is the timeseries database that allows you to store, aggregate, analyze, and query the various signals generated by your software and hardware. As the size and complexity of your systems scale, so does the volume of data that you need to manage which can put a strain on your metrics stack. Julien Danjou built Gnocchi during his time on the OpenStack project to provide a time oriented data store that would scale horizontally and still provide fast queries. In this episode he explains how the project got started, how it works, how it compares to the other options on the market, and how you can start using it today to get better visibility into your operations.

Best Lightweight Linux Distros for Older Computers

Don’t throw away that old Pentium III tower and CRT monitor just yet! While that old laptop in the closet may not be able to run Windows 10 or macOS Mojave, it doesn’t mean it’s destined for the dump. Many Linux distributions are made specifically for utilizing the ancient, underpowered hardware found in older machines. By installing these lightweight distros, you can breathe new life into an old PC thought to be long past its prime. Here are the best lightweight Linux distros that we’ve picked out from the pile. Read more