How to install and run a FULL Windows XP from a USB drive

What is this about?

To keep the introduction short, Microsoft denies that booting Windows off a USB drive works.
See this page for example. It says:
Q: Can a USB storage device be the primary (and only) means of storage?
No. USB-based mass storage devices cannot be the primary hard disk storage solution on a regular system …
Or this one from the microsoft newsgroups:
Windows cannot boot from an USB drive. If your computer supports
booting from such device, you can load a boot loader to the USB device
which starts Windows XP from the HDD.
Anyway, the web is full of those. I was wondering about the same thing, as i did not want to put a Windows partition on my Linux.based work laptop, and thought it was a good idea to run Windows XP off a USB Hard drive that i just plug in when i need it, and boot from it. To put a long story short, this is exactly what i do now, thanks to the fantastic research of the people credited below. However, it took me significant time to figure out all the painful little problems, and i was not fully happy with the current official guide by Dietmar (no pun, he was the first to make ANYthing public). I wanted an easy guide that allows creating a modified version of the Windows XP CD, for painless and transparent installation to as many systems as you want.


…must go to the people that made this guide possible in the first place. In recent months, a few blokes going by the handles ofmkiaerDietmar and sisal and a few others from the 911.net forums came up with many good pieces of research on how to enable any NT-based Windows to boot from a USB-drive. Little of this guide would exist without them – in fact the only reason why i write this up is that my particular solution seems to be lower effort than any of the steps i saw before. Many of the steps here are the result of their research.

Version History:

  • v1.0 – 3rd Mar 2006
    rewritten, tested and working against two different drives with my laptop.
  • v0.9 – 29th Feb 2006
    initial version, untested

What works?

Basically, everything as far as i can see. After completing this tutorial, your Windows XP install should directly boot off your USB-drive, and be fully upgradable, DirectX games will run, all apps i tested work like normal, speed is the same as with a real HDD (you need USB2 though) – so it is in fact a fine solution as far as i can see.
Host Hardware USB hardware Successful
Dell Latitude D820 WD Pocket Drive 80gb Yes
DFI Infinity Ultra 2 Dane Elec 4GB USB Stick Yes
Asus M2A-VM HDMI Adata PD2 4GB Stick Yes
HP Compaq 6510b WD 2908A Yes
Compaq nc6400 WD2500BEV Yes
Compaq nc6400 Trekstore i.Beat 2GB No
Compaq nc6400 Hitachi DK23EA-30 No
Compaq nc6220 TrackStore DataStation XU Yes
HP Pavillion dv6700t InfoSafe USB with Toshiba SATA 250GB Yes
Compaq nc6120 Lacie 80gb Yes
Asus P5LD2-VM Vantec IDE to USB cable + Maxtor 60gb PATA Yes
Thinkpad T42 WD HDD Passport 2 Yes
Acer Aspire 5600 Ipod 20g Photo Yes
Thinkpad T43 Generic 80gb USb2 case Yes
HP Pavillion dv1000 Generic USB2 HDD Yes
Thinkpad R61 Generic USB2 / Seagate 120 GB Yes
Dell Latitude D620 PQI i221 USB stick Yes
Fujitsu Lifebook E8410C Shintaro USB2 + 80GB Samsung Yes
Dell Inspiron 6400 generic USB2 enclosure Yes
Intel 945 GNT Kingston 4GB SDHC with USB adapter Yes
HP nx6110 Sandisk Cruze 8gb Yes
HP nx6110 OneTouch4 Mini No
Dell Latitude D620 Seagate FreeAgent 500GB Yes
Acer Aspire 5710G Adata 4GB stick Yes
…and LOTS more…


This is a hobby project of mine. I will not assume ANY responsibility for the correctness of this guide, nor can I be made liable for any errors, hardware or software problems / loss that are caused by following this guide. Basically, if things screw up, its your own fault. Do not follow the guide if you fear data loss.


  • An existing Windows install for carrying out the steps in this tutorial
  • A USB2-compliant Hard disk drive (or a big USB2 stick, see remarks below)
  • An original Windows XP CD (tested only against SP1 so far, but reported to work on other versions)
  • A registered version of WinISO (or any other software that allows direct editing of ISO files)
  • The Microsoft CAB SDK
  • A CD-burning software that can handle ISO files. I like the free burnatonce

How To:

We will dump the contents of your original Windows XP CD , extract a few files from the Image using ISO modification software, edit the files, and put the modified versions back on the ISO. The resulting ISO image is burnt back onto a CD media, and can then directly be used to install Windows on your USB drive.
I am also covering a few pitfalls that happened to me, in hope they will save you a bit of time.
1) Does your computer support booting from USB?
Usually, if its an option in your BIOS boot sequence menu, the answer to this is yes. If its not there, look for BIOS updates. If you are not sure, proceed and see what happens ;-)
2) Sorting out the “Bootability” of your USB-Drive
Connect your USB drive to your computer, directly, without a Hub. Then, shut down your computer, disconnect any other hard disk drives from it, and insert your original Windows XP CD into the drive. Start the installation, and proceed to the section where you are allowed to pick a hard drive. If it goes beyond the partition selection, your drive is already fine for booting Windows XP. If not (seems to be the cases with many of the Freecom USB HDDs for example), you will get an error like “Windows is unable to find your drive, partition, data etc bla”. This is usually not a big problem. All you need to do is “properly” format the drive. Reboot into your normal Windows, and get this HP tool , and use it to format your HDD completely. I chose NTFS format, worked fine everytime i tried. After this, my drives are recognized as valid installation devices by the Windows XP installer.
(In fact, i did not manage to create a USB primary partition with FAT32 that was recognized as being installable)
3) Dumping the original Windows CD into an ISO File
Pretty easy one. Simply open WinISO, and select Actions -> Make ISO from CDROM, and save your CD image.
4) Extracting the files we need to work on
After the CD dump is done, close and reopen WinISO. Then, open the ISO file you just created using File -> Open.
Now, click the I386 folder, and select the following files (Ctrl key to multi-select)
  • USB.IN_
Select Actions -> Extract and put the resulting files into some folder to work on them.
5) Unpacking IN_ files
Use the Cab SDK (from the command line) for extracting the contents of the .IN_ files. Each of them contains exactly one .inf file. If you are unsure how to use the Cab SDK, here is an example command line: “cabarc x USBSTOR.IN_” . You should end up with three new files in the folder, called:
  • usb.inf
  • usbport.inf
  • usbstor.inf
You can now delete the .IN_ files.
6) Editing the files
This is the main job. i ll also try to explain a bit whats happening. Use a simple Texteditor like Notepad.
This file is loaded on the initial install step by the Windows XP CD installer. In this file, we will change the way Windows treats USB devices during system setup — the default is to only treat them as input devices during installation — we will change this to include mass storage driver support (which needs to be loaded into the installer much earlier in order to work).
First, move the following entries from [InputDevicesSupport.Load] to the [BootBusExtenders.Load] section , as shown here
pci = pci.sys
acpi = acpi.sys
isapnp = isapnp.sys
acpiec = acpiec.sys
ohci1394 = ohci1394.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbstor = usbstor.sys
usbehci = usbehci.sys
usbohci = usbohci.sys
usbuhci = usbuhci.sys
usbhub = usbhub.sys
usbccgp = usbccgp.sys
hidusb = hidusb.sys
serial = serial.sys
serenum = serenum.sys
usbstor = usbstor.sys
… now the same for [BootBusExtenders] and [InputDevicesSupport]
pci = “PCI-Bustreiber”,files.pci,pci
acpi = “ACPI Plug & Play-Bustreiber”,files.acpi,acpi
isapnp = “ISA Plug & Play-Bustreiber”,files.isapnp,isapnp
acpiec = “Integrierter ACPI-Controllertreiber”,files.none,acpiec
ohci1394 = “IEEE-1394-Bus-OHCI-konformer Anschlusstreiber”,files.ohci1394,ohci1394
usbehci = “Erweiterter Hostcontroller”,files.usbehci,usbehci
usbohci = “Open Hostcontroller”,files.usbohci,usbohci
usbuhci = “Universeller Hostcontroller”,files.usbuhci,usbuhci
usbhub = “Standard-USB-Hubtreiber”,files.usbhub,usbhub
usbstor = “USB-Speicherklassentreiber”,files.usbstor,usbstor
usbehci = “Erweiterter Hostcontroller”,files.usbehci,usbehci
usbohci = “Open Hostcontroller”,files.usbohci,usbohci
usbuhci = “Universeller Hostcontroller”,files.usbuhci,usbuhci
usbhub = “Standard-USB-Hubtreiber”,files.usbhub,usbhub
hidusb = “HID-Parser”,files.hidusb,hidusb
serial = “Treiber f�r seriellen Anschluss”,files.none,serial
serenum = “Enumerator f�r seriellen Anschluss”,files.none,serenum
usbstor = “USB-Speicherklassentreiber”,files.usbstor,usbstor
usbccgp = “USB Generic Parent Driver”,files.usbccgp,usbccgp
Next, we also have to write several keys into the registry. Convieniently, the txtsetup.sif allows you to specify files that are parsed and instered into the registry at install time. Insert the following in the [HiveInfs.Fresh] section:
AddReg = hivedef.inf,AddReg
AddReg = hivesys.inf,AddReg
AddReg = hivesft.inf,AddReg
AddReg = hivecls.inf,AddReg
AddReg = hiveusd.inf,AddReg
AddReg = dmreg.inf,DM.AddReg
AddReg = usbboot.inf,usbservices
and also in [SourceDisksFiles]
usbboot.inf = 1,,,,,,_x,3,,3
bootvid.dll = 1,,,,,,3_,2,0,0,,1,2
kdcom.dll = 1,,,,,,3_,2,0,0,,1,2
Finally, save and close TXTSETUP.SIF. We are done with it.
Now, open DOSNET.INF , and change the second [Files] section to look like this:
6-C) usb.inf
Change the bolded lines in the [StandardHub.AddService] and [CommonClassParent.AddService] sections:
DisplayName = %StandardHub.SvcDesc%
ServiceBinary = %12%usbhub.sys
LoadOrderGroup = Boot Bus Extender
DisplayName = %GenericParent.SvcDesc%
ServiceBinary = %12%usbccgp.sys
LoadOrderGroup = Boot Bus Extender
6-D) usbport.inf
Change the bolded lines in the [EHCI.AddService], [OHCI.AddService] , [UHCI.AddService] and [ROOTHUB.AddService] sections:
DisplayName = %EHCIMP.SvcDesc%
ServiceBinary = %12%usbehci.sys
LoadOrderGroup = Boot Bus Extender
DisplayName = %OHCIMP.SvcDesc%
ServiceBinary = %12%usbohci.sys
LoadOrderGroup = Boot Bus Extender
DisplayName = %UHCIMP.SvcDesc%
ServiceBinary = %12%usbuhci.sys
LoadOrderGroup = Boot Bus Extender
DisplayName = %ROOTHUB.SvcDesc%
ServiceBinary = %12%usbhub.sys
LoadOrderGroup = Boot Bus Extender
6-E) usbstor.inf
Change / Add the bolded lines in the [USBSTOR.AddService] section
DisplayName = %USBSTOR.SvcDesc%
ServiceType = 1
StartType = 0
Tag = 3

ErrorControl = 1
ServiceBinary = %12%USBSTOR.SYS
LoadOrderGroup = Boot Bus Extender
6-F) new file: USBBOOT.INF
Create a new file called USBBOOT.INF in the same directory as your other changed files, and put the following content into it:
HKLM,”SYSTEMCurrentControlSetServicesUSBSTOR”,”DisplayName”,0×00000000,”USB Mass Storage Driver”
HKLM,”SYSTEMCurrentControlSetServicesUSBSTOR”,”Group”,0×00000000,”System Reserved”
HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”DisplayName”,0×00000000,”USB 2.0 Enhanced Host Controller Miniport Driver”
HKLM,”SYSTEMCurrentControlSetServicesusbehci”,”Group”,0×00000000,”System Reserved”
HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”DisplayName”,0×00000000,”USB2 Enabled Hub”
HKLM,”SYSTEMCurrentControlSetServicesusbhub”,”Group”,0×00000000,”System Reserved”
HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”DisplayName”,0×00000000,”Microsoft USB Universal Host Controller Miniport Driver”
HKLM,”SYSTEMCurrentControlSetServicesusbuhci”,”Group”,0×00000000,”System Reserved”
HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”DisplayName”,0×00000000,”Microsoft USB Open Host Controller Miniport Driver”
HKLM,”SYSTEMCurrentControlSetServicesusbohci”,”Group”,0×00000000,”System Reserved”
7) Repack the inf files into their original IN_ format
If you have not already deleted your extracted .IN_ files, do so now. They need to be replaced. Open a DOS shell again, and navigate to the folder with your changed files. Then exceute the following commands:
cabarc n USB.IN_ usb.inf
cabarc n USBPORT.IN_ usbport.inf
cabarc n USBSTOR.IN_ usbstor.inf
The three IN_ files should now exist again.
Congratulations. All out modifications are done.
8) Inject the changed files into the ISO
Open your Windows CD image again with WinISO. Navigate to the I386 folder, and delete the following files from the ISO, saving the changes to the ISO afterwards:
  • USB.IN_
Just to be sure all is updated in the ISO, cloase and repoen the ISO in WinISO. Now, again go to the I386 folder and select “Add Files”. Now add your changed files, in detail:
  • USB.IN_
Save the ISO. You are done.
9) Burn the ISO back to CD
Feel free to use any burning package you want. I used the free and simple Burnatonce
10) Install Windows XP from the CD
Shut down your computer. Disconnect ANY internal and external hard drives (so Windows cannot find them during installation and mess up their Master Boot Records hehe). Some computers will have trouble to boot without an internal HDD attached, check in your BIOS and, if possible, remove the HDD from the boot sequence and set the USB Harddisk as the first boot device, and the CDROM as second.
Also, now connect your USB Harddrive directly to the computer, without any Hubs in between.
Windows should install just fine, with the exceptions noted below.
Issues you will encounter during installation:
  • During driver installation, the USB drivers will prompt you, as they are “not certified” – This is normal. Our changes invalidated the checksum, and therefore the driver is no longer signed. Just press “yes” a couple of times.
  • Upon completion of the install, the system will complain once on the first bootup that the pagefile does not exist. You can ignore this for now, as Windows will work fine without it. People are looking at fixing this issue, but its not critical for now.
Once everything is up and running , shut down and reconnect all your drives.
This version of the guide has been tested successfully on the follwoing hardware configurations – please email me your infos if you have successfully completed the guide, so I can add your configuration as well:
If you have troubles, please visit the forum dedicated to this tutorial.
have a lot of fun!
Emanuel Schleussinger

How to Make a USB Bootable

  1. 1

    Insert your USB into your computer. When your computer finally recognizes it, open the command prompt. There are a couple of different ways of doing it depending on your operating system.

    • This does not work on Windows XP.
    • Vista/Windows 7:
      • Start > (type in the search bar) cmd , Right click on cmd and run as administrator.

  2. 2

    Once inside the command prompt, type indiskpart , then press Enter.

    • After that, a new window, diskpart, will appear.

  3. 3

    Once inside this new window, type inlist disk . All active drives will be displayed to the command prompt.

    • After that is done, you will want to select your USB. Typically, it’s always the smallest one in size, so you will always be able to tell which one it is. Type in: select disk 1 .

    • Clean your USB. Be sure to back up all data stored on the USB you are using, because you will lose all your data in this step. Type in: clean .

  4. 4

    Now you will create a partition for the USB. Type in: create partition primary .

  5. 5

    Type inselect partition 1 . This will select the partition you have just created.

    • Now type in: active . This will make the partition active on the USB.

  6. 6

    Format your USB. This could take awhile depending on the size of the drive and the processing power of your computer. It could take anywhere from a few seconds to 45 minutes. Type in: format fs=ntfs .

    • Once completed, type in: assign .

  7. 7

    Congratulations, you now have a bootable USB.Type “exit” in command prompt

  8. 8

    Now.Insert your Windows DVD in the optical drive and note down the drive letter of the optical drive and USB media. Here I use “D” as my optical (DVD) drive letter and “H” as my USB drive letter.

    • Go back to command prompt and execute the following commands:
    • D: CD BOOT and hit enter. Where “D” is your DVD drive letter.
    • CD BOOT and hit enter.
    • After that type BOOTSECT.EXE/NT60 H: and hit enter. (Where “H” is your USB drive letter).

      USB Drive

       USB Drive

  9. 9

    Once you have done that,Open the DVD from windows explorer(My computer). You might have to right-click, then click on “Open”. select all that you see and transfer to your USB.

  10. 10

    Install your operating system. You will have to go into your BIOS, which can only be accessed when your computer first turns on. You have the option, when the computer boots, to press F2 key and access your BIOS. When you enter your BIOS, make sure your USB is plugged in and go to boot options and then boot device priority and make sure your USB is the first one on the list. That way when your computer reboots, it will load from the USB, thus enabling you to install your Operating System.

How to FIX JungleFlash’s “Unsigned Drivers” Error for portio


It seems that Microsoft has forgotten end users when it introduced a very restricted module of driver signature enforcement in Windows Vista and Windows 7. All drivers and system files must be digitally verified or they cannot run when using both 32-bit and 64-bit versions of Windows Vista and Windows 7. In the past, it was possible to turn that feature off in Vista, but due to new kernel security updates, it is impossible to turn it off without degrading security and stability of your operating system or putting your master boot records in risk by using other software alternatives.

So what is the problem with digital certificates? Well, the problem is… developers have to pay Microsoft to receive verified certificates, and that makes many applications inaccessible under Windows Vista and Windows 7. However, it is still possible to turn it off by pressing the F8 function key during system boot up, but pressing F8 every time on boot up can be a serious pain in the butt. Others have found workarounds, but most of them are too risky and may trash your master boot records, at least until now thanks to our latest tool.

How does it work?
Microsoft is aware that developers cannot submit every beta build they are testing. Microsoft has provided a mode inside Windows Vista and Windows 7 that will allow developers to test their software before they submit it to Microsoft’s labs. Unfortunately, even in that test mode drivers and system files must have a test certificate before installation.

The good thing is that it does not have to be digitally verified. That means we can load drivers by creating our own unverified certificates. Do not worry! You do not have to do anything; our Driver Signature Enforcement Overrider will do everything for you.

False Positive Alert
It has come to our attention that several Antivirus suites have listed our Driver Signature Enforcement Overrider (DSEO) as a dangerous file. That’s nonsense! DSEO is safe. These Antivirus suites are being used as a tool to remove software that Microsoft deems contrary to its outlook, instead of protecting the customer from dangerous files. Read more about it here.

Supported OSes
* Windows Vista 32-bit
* Windows Vista 64-bit
* Windows Server 2008 32-bit
* Windows Server 2008 64-bit
* Windows 7 32-bit
* Windows 7 64-bit

* Watermarks Removal Option
* Support for Windows 7
* Several Bug-fixes

So how do I use it?
First and foremost; you are using this software at your own risk, we do not take responsibility for any damages to your system, but we do not believe it can harm anyone anyway. Secondly, you must run DSEO with administrative privileges (Right click and choose Run as administrator).

1. Download the application from the link below. Right click on it and choose “Run as administrator”. Inside its main menu, press on the “Enable Test Mode” button and follow the instructions on the screen. This will enable TESTSIGNING mode, which allows unverified system files to be loaded.

2. Now all you have to do is to add the unverified signature to the required system files. To do so press on the “Sign a System File” button from the main menu, and enter specific filename including full path. For example: if ATITool64.sys from C:WindowsSystem32drivers refuses to load due to driver signature enforcement, you should type: “C:WindowsSystem32driversATITool64.sys”, and if you would like to sign more than a single file, just repeat this procedure until you’re done, and finally reboot.

After you enabled Test Mode and added signatures to the required system files, they should bypass Windows’s driver signature enforcement and load without any issues. However, if for some reason you are interested to revert it, you can re-launch the application, choose “Disable Test Mode” from the main menu, and reboot. If you encounter issues or having questions, feel free to post it on our forums.

Note: DSEO requires administrative privileges (Run as administrator).


How to correctly burn XGD3 games

Hello, I will be showing you how to make successful quality burns with an ihas b burner for XGD3 games. This is the safest and most secure method for playing backups/pirated games on your flashed console for Xbox Live. (but remember, nothing is 100% safe or risk free when using a flashed console on Live!)

*Note All text and pictures were created by me from scratch. If you wish to copy or use any of my TUT, you do not need my permission, but please give me credit.

Before I actually show you the steps on what to do, I believe having an understanding of what you are doing is important.

What is XGD3? It stands for Xbox Game Disc 3 which started rolling out onto retail Xbox 360 games about a year +ago. Compared to an XGD2, the game partition was increased by 1GB. This was meant to help developers with the increased memory for new games but also to combat piracy. The full iso of an XGD3 game now exceeded the 8.5GB limit on typical DVD DL discs.

This led to the truncate burning method. This involved pretty much burning the game as you would an XGD2. Only difference is that you just write till you ran out of room and then discarded the remaining data. The reason why this method would work is because the discarded data (around 200MB) did not contain any of the game data and was only just random padding and security checks.

Now it doesn’t take a genius to figure out how unsafe and unreliable the truncate method is. This is where the great C4E comes along and creates his awesome burner max fw for Lite-On ihas b burners. The new fw unlocks the DVD DL discs from 8.5 to 8.7GB and allowing a full burn of an XGD3 image. The only downside to this is that you are pushing the discs past their designed capacity. This then leads to worrying about getting a proper quality burn.

Correct settings for getting quality burns can vary greatly for each person. The settings I will be telling you to choose in this TUT will be ones that seem to have worked the best for most people. You can tweak them through trial and error later for better results. The reason why settings vary is because of all the variables that exist (many different computer configurations, quality of burner chipset, quality of lasers, etc.). These variables exist because we go past the design capacity of the disc.

Things you need
– Image file of game (.iso) already properly stealth patched through ABGX (make sure autofix is set to lvl 3)
– DVD+R DL disc (highly recommended to choose verbatims)
– Lite-On ihas b burner flashed with burner max fw
– Imgburn
– Kprobe2

Why verbatims? Because they are high-grade quality discs (considered the best from tests), and since you’re pushing the discs past what they were intended, you’re going to need them. Better quality burns means less chance of errors and less work for your laser. There is no real reason not to use them. So I’m going to be assuming you are using verbs for this TUT. Also if possible try and get ones that are made in Singapore (this helps ensure high-grade quality).

Alright enough reading paragraphs; let’s get burning!

1) Put your blank DVD+R DL disc (should be a verbatim) into the burner and open Imgburn (ensure you have latest version). Now choose “Write image file to disc”

2) Find out which type of verbatim disc you have by looking at the box on the right. Beside MID it will either say mkm001 or mkm003. Remember which one you have. Also ensure you flashed your ihas burner correctly by seeing that 8.7GB is free on the disc.


3) Now let’s change the settings to the default settings for burning XGD3 games (settings that people have the most successful quality burns). Click advanced settings near the lower right corner.

Next choose the Lite-On tab. Now enable all except OverSpeed and clear OPC history. Be sure to click the change button above the OK for it to take effect.

*Note you could have already chosen these settings in the EEPROM utility when you were flashing your ihas burner. It does not matter which one you use to enable them. But if you want to disable them, make sure they are both disabled in Imgburn and the EEPROM utility.

4) Now go to Tools -> Settings -> Write. Disable Burn-Proof and make sure layer break is set to Calculate Optimal. For Preform OPC, check it for mkm003 discs and uncheck it for mkm001.

5) Almost done with settings! Now click on the I/O tab -> Page 2. Set the buffer size to 512MB

6) Now it’s time to burn! Click browse file under Source and select the .dvd file. (if you do not have one for some reason, just open notepad and save as .dvd but abgx should have at least created one for you if you ran your iso through it). Also make sure the iso is in the same folder as your .dvd


7) Now select your write speed. For mkm001 choose x2.4. For mkm003 choose x4. Now before you click burn, try to minimize the use of your computer resources as much as you can (close everything that you do not need at this time, browser, Skype, anti virus, etc. You can use the task manager processes tab to help, but make sure you know exactly what processes you are ending). Do not do anything while the game burns. This will help a lot in making sure you get a good quality burn.

Now click burn! Go make a snack or something while it burns.
There is no need to verify in Imgburn as it will tell you nothing useful. We will check our burn with kprobe2.

Checking Burn Quality 
Open up kprobe2. Leave all the default settings alone and only change the speed to 4x. Start the test and do what you did with Imgburn by closing all applications and not starting any new ones while the test is being done.
A good quality burn is one where PI max is less than 100 and PI avg is less than 5. PIF max less than 4 and PIF avg less than .20 (remember this is just a guideline, it is up to you to make the call if you think it is a good enough burn.)
Once test finishes, you should get something similar to this.

This is my burn with the same settings in the TUT (I can get a little better results with disabling SmartBurn and enabling BurnProof). Getting spikes at layerbreak is pretty common. As you can see my PI turned out very nice, but my PIF spiked to 5. Does this mean my burn was bad and the game will not play well? Not at all, games can still play pretty smoothly with poor quality burns(unless weak laser) but will fail any CIV (content integrity verification) checks or possibly any other hidden security checks.

In my case, this disc will most likely work fine, as it almost meets the guidelines of a good burn, and should pass any CIV or other checks.

Hopefully your burn came back with good results from the settings chosen in the TUT. Don’t freak out if it didn’t, as this is pretty common. You will have to play around with the settings to try and find what works best for you but be prepared for a lot of coasters! :p

Tips and Tricks for ensuring good burns
– Make sure the iso is on your local hdd and not on some portable device.
– Reduce as many applications running on your comp. (you can use tsk mng to help with this)
– defrag hdd
– Burn in safe mode
– using a sata connection
– dont let your computer go to sleep/screensaver while waiting for burn

Tips and Tricks when getting poor burns
– Try burning mkm003 at x2.4 or mkm001 at x4
– turning on or off OPC
– clearing OPC cache
– Play around enabling and disabling force/online hypertuning, OverSpeed, and SmartBurn in imgburn and/or EEPROM utility
– Changing buffer size, en/disabling buffer recovery.
– try different media

**If you still have trouble getting good results and have tried almost all these settings to no avail then feel free to post a listing of all the settings you tried as well as roughly what the results were. More details the better. Then hopefully we can determine the problem from there.

Getting read errors with very good burn results
– Replace laser (they sell for cheap)
– Pot tweaking you xbox dvd drive (adjusting the laser) You require a multi meter and a small screwdriver. You simply measure and reduce the resistance in your laser, giving it more power to read games. There’s a good guide posted by Ubergeek on Team Xecuter you can follow, it is pretty simple.

Thanks and I hope you enjoyed my TUT.
Feel free to post questions and/or any constructive criticism about it

How can I stop being prompted to unlock the ‘default’ keyring on boot?

henever Ubuntu boots up, a dialogue pops up asking me to unlock my default keyring.
Is there some way this can unlock automatically through PAM or some other magical way?
enter image description here

Be warned that this will make your keyring accessible without a password. Period. You don’t have to be logged in to view it
With that being said,
I think the simplest way is to set the password for the keyring to an empty password — you will not be prompted for a password then:
  1. Open Applications -> Accessories -> Password and Encryption Keys
  2. Right-click on the “login” keyring
  3. Select “Change password”
  4. Enter your old password and leave the new password blank
  5. Press ok, read the security warning, think about it and if you still want to get rid of this dialog, choose “use unsafe storage”.
Again, as the message says: This will expose all your passwords (e.g. email passwords) that you chose to save in the default keyring to anyone using your computer or having access to your files and is therefore not recommended.
Addendum for Ubuntu 11.04:
  • In the default Unity session, you can start the application by clicking on the Ubuntu logo in the top left corner, then typing Password, and selecting Password and Encryption Keysfrom the search result.
  • In the classic session the path to start the application has changed to System → Preferences → Password and Encryption Keys
Addendum for Ubuntu 11.10:
  • In the default Unity session, you can start the application by clicking on the Ubuntu launcher (the first item) in the Unity launcher bar on the left side, then typing Password, and selecting Password and Encryption Keys from the search result.
  • In the classic session (from the gnome-session-fallback package) the path to start the application has again changed to Applications → Other → Password and Encryption Keys

Compiling and installing software from source in Linux

The procedure >

The installation procedure for software that comes in tar.gz and tar.bz2 packages isn’t always the same, but usually it’s like this:

tar xvzf package.tar.gz (or tar xvjf package.tar.bz2)
cd package
make install

If you’re lucky, by issuing these simple commands you unpack, configure, compile, and install the software package and you don’t even have to know what you’re doing. However, it’s healthy to take a closer look at the installation procedure and see what these steps mean.

Step 1. Unpacking >

Maybe you’ve already noticed that the package containing the source code of the program has a tar.gz or a tar.bz2 extension. This means that the package is a compressed tar archive, also known as a tarball. When making the package, the source code and the other needed files were piled together in a single tar archive, hence the tar extension. After piling them all together in the tar archive, the archive was compressed with gzip, hence the gz extension.
Some people want to compress the tar archive with bzip2 instead of gzip. In these cases the package has a tar.bz2 extension. You install these packages exactly the same way as tar.gz packages, but you use a bit different command when unpacking.
It doesn’t matter where you put the tarballs you download from the internet but I suggest creating a special directory for downloaded tarballs. In this tutorial I assume you keep tarballs in a directory called dls that you’ve created under your home directory. However, the dls directory is just an example. You can put your downloaded tar.gz or tar.bz2 software packages into any directory you want. In this example I assume your username is me and you’ve downloaded a package called pkg.tar.gz into the dls directory you’ve created (/home/me/dls).
Ok, finally on to unpacking the tarball. After downloading the package, you unpack it with this command:

[email protected]: ~/dls$ tar xvzf pkg.tar.gz

As you can see, you use the tar command with the appropriate options (xvzf) for unpacking the tarball. If you have a package withtar.bz2 extension instead, you must tell tar that this isn’t a gzipped tar archive. You do so by using the j option instead of z, like this:

[email protected]: ~/dls$ tar xvjf pkg.tar.bz2

What happens after unpacking, depends on the package, but in most cases a directory with the package’s name is created. The newly created directory goes under the directory where you are right now. To be sure, you can give the ls command:

[email protected]: ~/dls$ ls
pkg pkg.tar.gz
[email protected]: ~/dls$

In our example unpacking our package pkg.tar.gz did what expected and created a directory with the package’s name. Now you mustcd into that newly created directory:

[email protected]: ~/dls$ cd pkg
[email protected]: ~/dls/pkg$

Read any documentation you find in this directory, like README or INSTALL files, before continuing!

Step 2. Configuring >

Now, after we’ve changed into the package’s directory (and done a little RTFM’ing), it’s time to configure the package. Usually, but not always (that’s why you need to check out the README and INSTALL files) it’s done by running the configure script.
You run the script with this command:

[email protected]: ~/dls/pkg$ ./configure

When you run the configure script, you don’t actually compile anything yet. configure just checks your system and assigns values for system-dependent variables. These values are used for generating a Makefile. The Makefile in turn is used for generating the actual binary.
When you run the configure script, you’ll see a bunch of weird messages scrolling on your screen. This is normal and you shouldn’t worry about it. If configure finds an error, it complains about it and exits. However, if everything works like it should, configuredoesn’t complain about anything, exits, and shuts up.
If configure exited without errors, it’s time to move on to the next step.

Step 3. Building >

It’s finally time to actually build the binary, the executable program, from the source code. This is done by running the makecommand:

[email protected]: ~/dls/pkg$ make

Note that make needs the Makefile for building the program. Otherwise it doesn’t know what to do. This is why it’s so important to run the configure script successfully, or generate the Makefile some other way.
When you run make, you’ll see again a bunch of strange messages filling your screen. This is also perfectly normal and nothing you should worry about. This step may take some time, depending on how big the program is and how fast your computer is. If you’re doing this on an old dementic rig with a snail processor, go grab yourself some coffee. At this point I usually lose my patience completely.
If all goes as it should, your executable is finished and ready to run after make has done its job. Now, the final step is to install the program.

Step 4. Installing >

Now it’s finally time to install the program. When doing this you must be root. If you’ve done things as a normal user, you can become root with the su command. It’ll ask you the root password and then you’re ready for the final step!

[email protected]: ~/dls/pkg$ su
[email protected]: /home/me/dls/pkg#

Now when you’re root, you can install the program with the make install command:

[email protected]: /home/me/dls/pkg# make install

Again, you’ll get some weird messages scrolling on the screen. After it’s stopped, congrats: you’ve installed the software and you’re ready to run it!
Because in this example we didn’t change the behavior of the configure script, the program was installed in the default place. In many cases it’s /usr/local/bin. If /usr/local/bin (or whatever place your program was installed in) is already in your PATH, you can just run the program by typing its name.
And one more thing: if you became root with su, you’d better get back your normal user privileges before you do something stupid. Type exit to become a normal user again:

[email protected]: /home/me/dls/pkg# exit
[email protected]: ~/dls/pkg$

Cleaning up the mess >

I bet you want to save some disk space. If this is the case, you’ll want to get rid of some files you don’t need. When you ran make it created all sorts of files that were needed during the build process but are useless now and are just taking up disk space. This is why you’ll want to make clean:

[email protected]: ~/dls/pkg$ make clean

However, make sure you keep your Makefile. It’s needed if you later decide to uninstall the program and want to do it as painlessly as possible!

Uninstalling >

So, you decided you didn’t like the program after all? Uninstalling the programs you’ve compiled yourself isn’t as easy as uninstalling programs you’ve installed with a package manager, like rpm.
If you want to uninstall the software you’ve compiled yourself, do the obvious: do some old-fashioned RTFM’ig. Read the documentation that came with your software package and see if it says anything about uninstalling. If it doesn’t, you can start pulling your hair out.
If you didn’t delete your Makefile, you may be able to remove the program by doing a make uninstall:

[email protected]: /home/me/dls/pkg# make uninstall

If you see weird text scrolling on your screen (but at this point you’ve probably got used to weird text filling the screen? 🙂 that’s a good sign. If make starts complaining at you, that’s a bad sign. Then you’ll have to remove the program files manually.
If you know where the program was installed, you’ll have to manually delete the installed files or the directory where your program is. If you have no idea where all the files are, you’ll have to read the Makefile and see where all the files got installed, and then delete them.

Scrap.tf – Automated TF2 bots that scrap bank and trade items

Scrap.tf is a website that you can log in with steam to scrap bank items quickly through the many trade bots that the site offers. You can get in a queue to scrap-bank your weapons and it doesn’t matter what class each weapon is, just how many you trade. You can trade up to 200 items at once, giving you about 8 refined metal for all of those items. It is a good resource for idlers with TF2idle accounts to scrap all of their dropped weapons for a given week, or weeks if necessary.

Scrap.tf also has other trade bots that can bank items or even sell you items. There are hat trading bots, item trading bots, and even key trading bots. Keys can be bought for 4.44 refined as of right now. You could then use those keys to buy items from the item banking bot, which offers earbuds (buds), max’s severed heads, and bills, among other things.

Good luck fellow TF2ers.

Kill a Process by Process Name from Ubuntu Command Line

There are a number of ways to kill a process if you know the name of the process. Here’s a couple different ways you can accomplish this. We are going to assume that the process we are trying to kill is named irssi
kill $(pgrep irssi)
killall -v irssi
pkill irssi
kill `ps -ef | grep irssi | grep -v grep | awk ‘{print $2}’`
These techniques can be useful in shell scripts, where you wouldn’t know the process ID and would need to restart or kill a process.

RPi VNC Server

What does it do?

Sometimes it is not convenient to work directly on the Raspberry Pi. Maybe you would like to work on it but from another computer by remote control. You can do this and the remote computer can even be anywhere in the world over the internet. This tutorial shows how you can view and control the raspberry pi desktop from your computer’s desktop by using special software.

What do you need?

  • A Raspberry Pi
  • A boot SD card for the Raspberry Pi
  • A network connection (Ethernet or WiFi)
  • Special software on both the Raspberry Pi and the remote, controlling computer

What skill level is required?

This project does not require any coding or compilation. Very basic Linux and networking knowledge would be useful, but not essential.
You need to…
  • Install software
  • Enter basic Linux commands
  • Use standard software tools (Windows/Linux/Mac) to add software to your PC
  • Connect computers using ethernet cables

How does it work?

The commands described below start a “virtual” graphical session. Instead of using a hardware framebuffer, this uses RAM for a framebuffer. It also opens a network channel or port that allows programs on other computers (if they provide the password) to show the framebuffer and provide mouse and keyboard events.
This way you can run a desktop session on the raspberry pi, but display and control it elsewhere.
Because the framebuffer isn’t the real framebuffer you cannot take advantage of the GPU to accelerate operations on the screen.

Overview of this project

You need to
  • Install VNC (Virtual Network Computing) server software on the Raspberry Pi
  • Start the VNC server software
  • Install a VNC client on another computer
  • Connect over a network from your computer to the Raspberry Pi


Log in to your Pi and install the Tight VNC Package
$ sudo apt-get install tightvncserver
Next Run TightVNC Server which will prompt you to enter a Password and an optional View Only Password
$ tightvncserver
Once that is done you can start a VNC server from the shell prompt. This example starts a session on VNC display zero (:0) with full HD resolution:
$ vncserver :0 -geometry 1920x1080 -depth 24
(If fonts appear the wrong size, add ‘-dpi 96’ to the end.) Or you could create a script to save typing in the whole thing.
$ nano svnc.sh (call the file whatever you like)
Add the lines:
vncserver :0 -geometry 1920x1080 -depth 24 -dpi 96
Ctrl-x y <return> (To Exit Nano and Save)
Set the file to Execute
$ chmod +x svnc.sh
then to run
$ ./svnc.sh
Run at boot.
Start a root session
sudo bash
Create a file in /etc/init.d with a suitable name such as vncboot with the following content.
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.

#! /bin/sh
# /etc/init.d/vncboot


export USER HOME

case "$1" in
echo "Starting VNC Server"
#Insert your favoured settings for a VNC session
/usr/bin/vncserver :0 -geometry 1280x800 -depth 16 -pixelformat rgb565

echo "Stopping VNC Server"
/usr/bin/vncserver -kill :0

echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1

exit 0
Modify the file permissions so it can be executed
chmod 755 /etc/init.d/vncboot
Enable dependency based boot sequencing
update-rc.d /etc/init.d/vncboot defaults
If enabling dependency based boot sequencing was successful, it says
 update-rc.d: using dependency based boot sequencing
But if it says
update-rc.d: error: unable to read /etc/init.d//etc/init.d/vncboot
then try the following command
update-rc.d vncboot defaults
Reboot your Raspberry PI and you should find a vncserver already started.
Install Tight VNC on your desktop from the link below or most VNC clients work I believe.
Or install it using your package manager. The following works on my ubuntu 11.10 workstation
sudo apt-get install xtightvncviewer
Then use <Your Pi IP>:1 (e.g. as the host name when connecting.[1]
Works Great, select full screen from the tool bar and a full 1080p 24bit desktop is yours from anywhere.
  1.  You can put your raspberry pi in /etc/hosts on Linux systems. I think you can make such a file on windows too. Then you can refer to your raspberry pi as “rpi” or whatever you called it.

Getting VNC Server to Work on a Specific User

Instead of using the script in the Raspberry Pi wiki, use this one provided by “PenguinTutor”:
# /etc/init.d/tightvncserver
# Customised by Stewart Watkiss
# Set the VNCUSER variable to the name of the user to start tightvncserver under
eval cd ~$VNCUSER
case "$1" in
su $VNCUSER -c '/usr/bin/tightvncserver :1'
echo "Starting TightVNC server for $VNCUSER "
pkill Xtightvnc
echo "Tightvncserver stopped"
echo "Usage: /etc/init.d/tightvncserver {start|stop}"
exit 1
exit 0
Now, change the VNCUSER=pi to your desired username, so for example: VNCUSER=jsmith
That’ll make it boot on the username of which you want it to boot on… but I then received the grey screen error when remotely accessing the Pi from my computer, now the way you fix this is, open up the xstartup file that was created when VNCSERVER executes on your desired username. Now the way you access it and edit it is by:
sudo nano .vnc/xstartup 
.vnc is usually in the home directory.
Delete everything that is in xstartup (or not in as mine was), and add this:
xrdb $HOME/.Xresources
xsetroot -solid black
/usr/bin/lxsession -s LXDE &
Now it should work.

Does Your Openbox Configuration Settings Not Start on VNC?

You’ll often find yourself in a position where VNC will start, but you’ll get things such as multiple virtual desktops appearing, and you try to save it in the “Openbox Configuration Manager,” and they go away for a second, but then you find you’ll restart the Pi and then they appear again. Here’s how to fix it:
Create, or edit the current autostart.sh file which is located in:
Edit using “Nano” or any other text editor, I use Nano as it is the most comfortable for me, so do:
sudo nano .config/openbox/autostart.sh/
Add the line: exec openbox-session
Now add the line exec openbox-session again in .vnc/xstartup and now it should work.
But you can’t really save the setting in Openbox Configuration Manager on VNC, but you have to do it manually; so you open this file:
nano .config/openbox/lxde-rc.xml
Scroll down to: <desktops>
You should see a bunch of stuff there, but only focus on this: <number>6</number> or something similar.
Change the number of desktops you want within the <number></number> bit.
I changed mine to 1, because that’s all I want.
It should now work!

Limitations and Alternatives

In this example TightVNC has been used. This is a popular and relatively friendly program that uses the VNC protocols and is included in most GNU/Linux distributions. However it does have it’s limitations. The biggest of these is that it creates new desktops for each connection. It may be that what you want to do though is view and control the same desktop that shows on the monitor/TV plugged into the Raspberry Pi. To do this a better tool to use is x11vnc. This is more powerful but less easy to use. However if you already have a desktop running it will latch on to it and share it as a default. This too is fairly popular and included in many GNU/Linux distribution repositories such as Raspbian.

Security Considerations

Be aware that basic VNC is not secure. It is not encrypted unless you are advanced in setting it up. If you use it over the internet it can result in criminals “bouncing” you off your connection and taking over. There are even computer robot tools that try to do this. You must set a password but even then it is sometimes possible to take over someone’s connection after they have entered it. A good tip is to set the server to shift from the default port 5900 to something else chosen randomly as long as it is spare.