mini-mis

The HP Mini 1000 Mi Edition has one of the most interesting and innovative Linux interfaces found on any netbook. BusinessWeek describes the Mi Edition netbook as running Linux the same way that a TiVo does. In other words, you’d never even know it was Linux if you weren’t paying attention. Because you’re not greeted with a typical operating system desktop and start menu, command line, or dock. Instead when you launch the computer you see a home screen that’s almost cellphone-like with quick access to your music, movies, browser bookmarks, and an internet search bar.

Underneath the shiny program launcher and home screen, the HP Mini 1000 Mi Edition is running Ubuntu 8.04 Linux. And if you want to bring up a terminal window, the Synaptic Package Manager, or other apps you can do that. Mi Edition certainly isn’t perfect. It has a few quirks. But it’s still interesting to at least take for a test drive — even if you don’t actually have an HP Mini 1000. We’ve already seen that it’s possible to install Mi Edition on other netbooks like the Acer Aspire One. But HP’s installer will overwrite any data on your hard drive, which means you’ll need to reinstall Windows, OS X, or your Linux distribution of choice if you decide not to stick with Mi Edition.

But there’s another way. For the last few weeks I’ve been helping Adam McDaniel debug a method for building a LiveUSB with Mi Edition installed. The process takes about 30 to 60 minutes (not counting the time it takes to download the disk image from HP’s servers), and when you’re done you should be able to run Mi Edition from a USB stick, SD card, or other removable storage. This is a persistent installation, which means any files or settings that you change will be stored on the flash card.

Adam is the developer behind the Array kernel for the Asus Eee PC and he’s included some steps in this tutorial for adding support for Eee PC hardware. In other words things like wireless should work out of the box if you’re using an Eee PC 900, 901, or 1000 series netbook. (Update: Adam tells me the steps should be exactly the same for the Acer Aspire One or the MSI Wind U100. If you have another netbooks, odds are that adding the Array kernel will not add wireless support, so you’ll probably want to leave the kernel alone). There are still a few kinks. For instance, I can’t get audio working on my Eee PC 1000H yet, and when I put the netbook to sleep it stubbornly refuses to wake up.

The complete instructions are after the break. You’ll need a computer running Linux (the instructions were written for Ubuntu, but should be similar for other distros), and a 2.5GB or larger USB flash drive or SD card. Keep in mind, we tested these steps on an Eee PC 1000H. While you should be able to load the operating system on netbooks with similar hardware like the Acer Aspire One or MSI Wind U100, some of the hardware, such as the wireless card might not be supported.

HP Mini LiveUSB Setup Instructions

Written by Adam McDaniel

The following instructions can be used to create an bootable HP Mini LiveUSB stick that will NOT overwite your entire netbook. These steps allow you to try out the HP Mini (Dennis) interface on an EeePC, Acer Aspire One, MSI Wind, any non-HP netbook that has a 9″ display or higher.

Not all non-HP hardware is supported. Madwifi wireless drivers are available for the EeePC 900, but the Dennis installer will not provide wireless on later models, nor wired connectivity. Instructions are provided for setting up wireless/wired connectivity for most netbooks. (See Step 17)

Enjoy!


Adam McDaniel

1. Insert your USB Key. It must be minimum 2.5G in total size.

2. Launch GParted to manipulate the USB Key’s partition table.

$ sudo apt-get install gparted
$ sudo gparted

3. Select your USB Key’s drive in the top right This document assumes your usb key is found in /dev/sdb
Delete any existing partitions.

  1. Right click on any existing partitions, select “Delete”
  2. Click “Apply”

Your partition table should now be clear:

dd4sb8wx_11492kcjwg3_b1
4. Add in a single ext3 partition to your USB Key.

  1. Right click on the “unallocated” partition, select “New Partition”
  2. Use Maximum Size available.
  3. Create as: Primary Partition
  4. Filesystem: ext3
  5. Click “Add”
  6. Right click on “New Partition #1”, select “Format to…”, “ext3”
  7. Press “Apply” in the tool bar to apply the changes to the USB Key. (This may take a while to complete.)

5. Set the partition to include the “boot” flag.

  1. Right click on the “/dev/sdb1” partition, select “Manage Flags”
  2. Place a check by “boot”
  3. Click Apply.
  4. Click Close.

dd4sb8wx_11492kcjwg3_b
Your partition is now complete. Close GParted.

6. Open a terminal and create the working directory structure

$ mkdir ~/hpmini-liveusb
$ cd ~/hpmini-liveusb
$ mkdir dennis-install
$ mkdir rootfs
$ mkdir bootfs
$ mkdir dennis-liveusb

7. Download the not-so-secret dennis recovery image from Ubuntu:

$ wget https://dennis:[email protected]/dennis/images/gm-1/dennis-stable-install-usb-gm-1.img

8. Convert to root.

$ sudo su

9. Mount your usbstick into the dennis-liveusb directory.

# mount /dev/sdb1 ./dennis-liveusb

10. Mount the downloaded install image to the dennis-install directory

# mount -o loop ./dennis-stable-install-usb-gm-1.img ./dennis-install

11. Mount the install image’s bootfs

# mount -o loop ./dennis-install/bootfs.img ./bootfs
# mount -o loop ./dennis-install/rootfs.img ./rootfs

12. Begin building the liveusb structure.

# mkdir dennis-liveusb/boot
# cp -vau ./bootfs/* ./dennis-liveusb/boot
# cp -vau ./rootfs/* ./dennis-liveusb

*Editor’s Note: Go grab a cup of coffee. This step is going to take a while.

13. There’s a minor change needed to the rootfs’s initramfs-tools directory.
Edit the file ./dennis-liveusb/etc/initramfs-tools/disk

# gedit ./dennis-liveusb/etc/initramfs-tools/disk

*Editor’s Note: You can use any text editor, so if you’re more comfortable with mousepad, kate, or another text editor, fire it up.

14. Find lines 28-37:

*Hint: if using vim, type “:set number” to view line numbers.

If using gedit, goto Edit > Preferences > Display Line Numbers

28       for device in ‘hda’ ‘hdb’ ‘sda’ ‘sdb’; do
29         echo “checking device /dev/${device}”
30         if [ -e /sys/block/${device}/removable ]; then
31            if [ “$(cat /sys/block/${device}/removable)” = “0” ]; then
32               echo “found harddisk at /dev/${device}”
33               found=”yes”
34               break
35            fi
36          fi
37       done

Change the first line to only contain the possible mount points where your LiveUSB image will exist on the target system. For most systems, the we should look for the USB first on /dev/sdb then /dev/sdc and finally /dev/sdd.

Also, we need to modify one of the IF checks. We WANT removable drives to kick in. Update line 31 to test for removable devices by setting 0 to 1.

After you perform these two changes, your block should look like this: Red text is code that has changed, grey code should remain the same.

28       for device in ‘sdb’ ‘sdc’ ‘sdd’; do
29         echo “checking device /dev/${device}”
30         if [ -e /sys/block/${device}/removable ]; then
31            if [ “$(cat /sys/block/${device}/removable)” = “1” ]; then
32               echo “found harddisk at /dev/${device}”
33               found=”yes”
34               break
35            fi
36          fi
37       done

Save the file and close gedit.

15. Install grub on the usb stick.

# grub-install –root-directory=./dennis-liveusb –recheck /dev/sdb1

*Note, if you get an error during the grub-install talking about the missing boot record, or the error “boot/grub/stage1 not read correctly”, make sure that /dev/sdb1 is flagged as ‘bootable’ in GParted or fdisk.

16. The Array.org eeepc kernel can be installed onto the Live USB, This will provide wireless and wired connectivity for non-hp hardware. The steps here based on https://www.array.org/ubuntu/setup-hardy-alt.html

# cd ./dennis-liveusb
# wget https://www.array.org/ubuntu/dists/hardy/eeepc/binary-i386/linux-image-2.6.24-21-eeepc_2.6.24-21.39eeepc1_i386.deb
# wget https://www.array.org/ubuntu/dists/hardy/eeepc/binary-i386/linux-ubuntu-modules-2.6.24-21-eeepc_2.6.24-21.30eeepc6_i386.deb

17. Mount over the /dev directory onto the LiveUSB image.

# mount –bind /dev ./dev

18. Install the eeepc kernel’s deb packages. Since the HP Mini is LPIA architecture but the packages are i386, we need a “more persuasive” dpkg command.

# chroot . dpkg –force-architecture -i *.deb

Ignore the warnings: “dpkg – warning, overriding problem because –force enabled: package architecture (i386) does not match system (lpia)”

19. Depending on your model of netbook, your wireless card’s driver may not auto-load on bootup. Adding the following modules to /etc/modules will ensure that regardless of your netbook, you should have wireless.

# echo ath_pci >> ./etc/modules
# echo rt2860sta >> ./etc/modules
# echo r8180 >> ./etc/modules

*Note, ath_pci is needed by EeePCs 900 and earlier.
– rt2860sta is needed by EeePCs 901 and later, plus the Acer Aspire One.
– r8180 is needed by the EeePC 701SD, plus the MSI Wind.

There is no harm in including all three modules, regardless of your device.

20. Remove the downloaded debs, unmount ./dev

# rm *.deb
# umount ./dev

21. Thats It! Unmount everything else we’ve done so far and logoff as root.

# cd ..
# umount ./dennis-liveusb
# umount ./rootfs
# umount ./bootfs
# umount ./dennis-install
# exit
$

22. Transfer the USB key into your EeePC and reboot!

You will need to press <ESC> on the BIOS loading screen. Doing so will open the Boot Menu.
Select your USB key, the HP logo should soon appear.

Support Liliputing

Liliputing's primary sources of revenue are advertising and affiliate links (if you click the "Shop" button at the top of the page and buy something on Amazon, for example, we'll get a small commission).

But there are several ways you can support the site directly even if you're using an ad blocker* and hate online shopping.

Contribute to our Patreon campaign

or...

Contribute via PayPal

* If you are using an ad blocker like uBlock Origin and seeing a pop-up message at the bottom of the screen, we have a guide that may help you disable it.

Subscribe to Liliputing via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 9,546 other subscribers

43 replies on “How to run HP Mi Edition from a USB flash drive”

  1. I got a problem at step 10
    “you must specify the file system type” !! anyone help.

  2. I’ve made all the steps (except 16-20) with my SD-Card and tried to run it on HP mini 2140. HP Logo appeared, but after that I could see only cursor on the black screen. Does anybody have an idea, what is wrong on it? Maybe screen resolution? I tried it on HP 2140 (1024×576) and on my external monitor (1920×1080)

  3. This sounds great. I just bought an HP mini 311 but it does not have Linux or the HP QuickWeb as they call it. Do you know someone who would save me the time and sell an SD memory configured like this? I bet you could sell hundreds of them on ebay.

  4. Awesome instructions! I got it working on my HP Mini 1035nr. I had to edit the script in initrd.img as noted in the comments. It is running with all devices (as expected). I only followed the instructions up to the grub install step.

    As I didn’t have a Linux machine handy, I used an Ubuntu live-usb stick on the mini to install to a SD card on the mini. That’s called bootstrapping :). The $15 4GB card is not doing the speed any favors, but it works! I can easily switch between XP and MIE. Thanks again!

  5. Could someone emulate a mini and install mi on it? Just a suggestion from a novice geek.

  6. Can’t somebody just make an iso of what needs to be on the flash drive for a HP mini 1035nr or probabley for any mini 1000? I dont have access to another computer but would like to get into linux. email me at [email protected] if anybody has a solution.

  7. For grub install problem do this
    “grub-install –root-directory=./dennis-liveusb –recheck /dev/sdb1”
    !Do not copy and paste!!!!
    because the flag — show as single line.

  8. k thanks to atlanto I was able to figure this out.

    copied initrd.img from usb drive to desktop, renamed initrd.gz, “gunzip initrd.gz”, extracted all contents using File Roller (xubuntu 9.10 beta), edited scripts/disk, “find . -depth -print | cpio -ov > ../initrd.img-2.6”, “gzip initrd.img-2.6”, “cp initrd.img-2.6.24-19-lpia /media/disk/boot/”.

    but now I get
    “No filesystem could mount root, tried: ext3 ext2 msdos vfat”
    “Kernel panic – not syncing: VFS:Unable to mount root fs on unknown-block(8.3)”

    1. I think the problem is the 16GB pSSD is formatted in NTFS (Windows 7). Since I upgraded my mini to 2GB of RAM I think it should be possible to mount in a ramdisk.

  9. I stopped at Step 16 since I want to use this on a HP Mini as a secondary OS on a USB drive. I completed all of the steps with out errors, though I had to correct (?) Step 15 with double hypens on the options. I use F9 to select my USB drive with MIE on it, I see text “Starting up …” then the HP logo but the progress bar never fills and I see no activity on the USB LED activity light. After a few seconds the logo goes away and I just have a blinking cursor.

    1. Have you been able to get this to work? It seems that I have the same problem as you.

  10. Brad and Adam, thank you for showing the way on this. I have a windows XP Mini 1000 and I want to try MIE.

    My problem: I am not able to install grub on the usb stick in step 15. I am running Ubuntu 8.10 (from another usb stick) The stick I am running from shows up as /dev/sdb1 and the stick I am building to shows up as /dev/sdc1.
    I run the command as:
    grub-install –root-directory=./dennis-liveusb –recheck /dev/sdc1

    It returns with the “More than one INSTALL_DEVICES.” error and then shows usage for grub-install.

    Everything else seems to be there. But, of course, when I try the stick I get “Missing operating system”.

    I am a Linux newbie, and I don’t feel competent to install grub from the command line.

    Any suggestions?
    Thanks,
    Tim

  11. Great guide, I’m looking forward to try this software I’ve read good things about. But I’m stuck at the 11th step, # mount -o loop ./dennis-install/bootfs.img ./bootfs
    mount tells me that I need to give a filesystem type and I don’t know which one I’m supposed to give. My mount version is mount-2.12r (the one that came with my eee pc 1000).
    Any help would be greatly appreciated.

    1. Ah, bootfs.img is a squashfs image. Technically, if you wanted to specify the filesystem type on the command line you’d type (as root or prefexied with sudo):

      # mount -o loop -t squashfs ./dennis-install/bootfs.img ./bootfs

      Technically, you need squashfs 3.1 or greater installed. If you’re running on Ubuntu 8.10 then squashfs 3.4 is provided. (I’d expect Ubuntu 8.4 to also work)

      However, if you’re not running Ubuntu you may not already have squashfs 🙁

      Try this out first:

      sudo modprobe -v squashfs
      sudo modinfo squashfs

      If either return an error or no output, you have an unforeseen problem 🙁

      1. Out of curiosity, anyone able to get the audio working for the Aspireone?

  12. I got to step 15 and I got the error: More than one install_devices?

    I am installing from my Eee 901 to the SD card, so I had to change the it to sdc1, but that’s it. I tried getting rid of the recheck, and that worked, but it wouldn’t boot. Any suggestions?

    1. nevermind, it was just something didn’t get copied and pasted right. I’m still not able to boot though – I get a flashing cursor, no grub. I tried reinstalling grub, no luck. Any suggestions?

      1. Next time you try booting from the SD card, try hitting Esc as soon as
        possible — at the point where you’d normally see Grub pop up. It’s
        probably running in quiet mode, but invisibly. If you can get the grub
        menu to pop up, hit “e” to edit the line, then select the second
        option (should be the kernel) and hit “e” again. Delete the section
        that says “quiet splash” and then hit “b” to boot.

        This time you should see a bunch of text fly by and then it will
        probably get stuck on something. Let us know where it gets stuck and
        we might be able to figure out what went wrong.

        1. Thanks Brad, but it’s still the same problem. I tried changing the menu.lst file on a different computer, removing quiet and splash, same thing. The HDD activity light doesn’t flash at all, it just sits. I feel like I must be doing something wrong with GRUB. I tried updating to a different BIOS (thinking my machine was having issues booting USB) but even then, same issue.

          1. I have the same issue. Removing “quiet splash” gives the following error (repeating):

            Mounting: mount -o rw,noatime,nodiratime /dev/sda1 /root
            mount: Mounting /dev/sda1 on r/oot failed: Invalid Argument
            Did not find /root/bin
            sleeping for 2 seconds….

            (repeating forever)

          2. I get the same error as Tim…it tries to mount /dev/sda1 even though I’ve made the changes noted above. I’ve been trying to figure out where it fails, but the console moves by so fast it’s extremely difficult.

            I’m actually trying to run this ON an HP Mini1000 via SD card. That way I can drop into MIE whenever I want. I don’t think there’s anything wrong with the card, it must be the init scripts. Argh!

          3. Same here. (trying to mount /dev/sda1 as /root eternally… run on Mini 1000 booted from SD card)
            I had to…
            Extract initrd.img
            Modify scripts/disk (same as step 13-14)
            Re-create initrd.img
            Now I’m using MIE on my Mini 1000 xp. Thanks a lot.

  13. Somewhat off-topic, how can I view the HP software repository for the Mini 1000 Mi to see what apps. are available?

  14. Thanks for a great effort. I tried the install per instructions. Although I did some programming in college many years ago, I am a newbie as many of the others coming to this page will be. First when using gparted, there is an apply missing before setting boot flag if I remember correctly so I’m guessing if in doubt hit apply if the directions don’t work for you..

    I name the drive gparted showed when first running: /dev/sdb1 and that is probably where the problem comes in…

    To avoid typing errors I found that the commands could be copied and pasted using ctl shift V to paste. This expedited things greatly.

    When it comes to compiling I have a reasonably fast computer (athlon x2 dual core running about 3.1 ghz I think) and used an 8gb sandisk cruzer (which is fast enough for vista powerboost, and the fastest USB drive I own) and the compiling took well over a half hour. I’m sure most of that was reading / writing to the usb drive, but much longer than a cup of coffee.

    With all the compiling it would have been nice to know when it was done, so if the next one to try it could post what the final compiled line is, I’m sure it would help many. Unfortunately I managed to forget it in my haste to try this new OS. I did give it 5 minutes after there was no noticable activity before attempting next steps.

    After completing the steps, I tried unmounting the drive, got a warning that data was still waiting to be written to the drive. I waited 5 minutes and assumed there must have been an error somewhere but not fatal, so I removed the drive and hoped for the best.

    Unfortunately I must have gotten something wrong as no OS was found and my netbook went on to boot with the SD drive instead. Very disappointing.

    Going back to my desktop with Ubuntu 8.1 installed I was told I didn’t have the permission to access the usb drive.
    Scanning system with gparted, after about 10 minutes of scanning, it’s now showing up on gparted with a warning “unable to find mount point Unable to read the contents of this file system! Because some of the operations may be unavailable.” but has ext3 and boot read.

    If anyone has any suggestions I would be grateful. In the mean time I am fairly happy with the easypeasy install I did for the netbook with directions from pendrivelinux and the gOS running my ancient laptop with install also from pendrivelinux so it’s not like I am a total screw up attempting such things!

    1. Thanks for your feedback. I added the “click apply” instructions.

      Unfortunately it’s hard to say exactly how long this process will
      take. It doesn’t just depend on the speed of your computer, but also
      on the speed of your flash memory. The “grab a cup of coffee” section
      actually consists of copying the contents of the image file to your
      flash drive or SD card. I’ve found it often takes around a half hour,
      but one day I tried it on a speedy SD card and it went much faster.

      Since you’re not actually compiling anything here, you won’t get a
      message when it’s done. Rather, you’ll notice that text stops flying
      by and you’ll see a command prompt. What was the step at which your
      screen went blank?

      You’re correct that the easiest way to avoid mistakes is to copy and
      paste the commands directly into the terminal. I’m not sure what went
      wrong with your install, but my only recommendation at this point
      would be to reformat the flash drive and try again.

      1. Brad,

        thanks so much for the followup. My screen never went blank. The screen timed out 2x, but when I hit the mouse it was still writing to the drive. It stopped processing (info flying by), I waited 5 min to be sure it was finished, finished with directions and waited a few min to make sure it was finished and tried to dismount. That’s when I got the “still writing, unable to dismount” type error. Waited a few more mins and finally assumed it was either finished or caught in a loop and waiting further was pointless.

        After quick formatting with winxp I managed to transfer 3.97GB from the same computer and HD (other boot) to the same thumb drive in 12 mins. Of course I’m comparing apples and oranges. I guess linux does not support usb2 with the xt3 filesystem?

        I’m fairly confident I messed something up (most likely drive name?) before the “coffee break”.

        I’ll try again when I have the time next week.

        1. Hmm… that is strange. If you were *able* to continue the steps, then
          it must have meant that it did finish writing all of that data to your
          drive. But yeah, the amount of time it takes to copy isn’t analogous
          to copying from Windows, because you’re actually copying files from a
          disc image one at a time to the proper locations on the flash drive.
          And there may be other reasons this takes so long, but Adam could
          probably explain them better than me.

          Let us know if your second attempt yields better results!

  15. Excellent news! Do you think dual booting WinXP and HP Mi Edition is far off? I like the look of HP Mi Edition but would really like the possibility of using XP once in a while.

    1. In theory, you can modify these instructions and run them from an
      Ubuntu LiveUSB to install to a partition on your hard drive and create
      a dual boot system. In theory anyway. I tried this myself and ran into
      a few problems. If I figure out a way around them I’ll let you know.

  16. couldn’t you use DD to create an IMG that can then be written back to the USB stick ? and by you i mean Adam or yourself ? there is DD for windows

        1. In other words you make the IMG i’ll figure out the windows side 🙂 deal

  17. Many of us who want to try this don’t have Linux installed already. I’d say the vast majority don’t have it installed and don’t know another computer running it to get this started… any chance you can prepend the instructions for doing this with a WIn XP system or is it impossible…?

    Thanks!

    1. Unfortunately Adam and I aren’t aware of an easy way to do this in
      Windows. If anyone has any suggestions, we’re all ears.

    2. Hey everyone,

      i just put together a copy of HP’s MIE in a working Live-CD ISO. This was from a 110 computer, so i have no idea if it will work on other models with the correct ethernet drivers. I had to create it with remastersys after copying the restore partition and installing it on an old computer that was not a netbook since i use Ubuntu Netbook Edition instead on my netbook. It was actually pretty funny watching it install, because i guess since the machine was crappy and not an HP it displayed the COMPAQ logo instead of the ubuntu or hp logo.

      and while not perfect it does seem a shame to waste all that money they paid canonical to develop it. I am attempting to host it on the same crappy computer with apache2 at the moment, but if someone perhaps can host it for awhile that would be cool. Maybe a torrent or a mirror?

      I sometimes turn this computer off at night and other times dont turn it on for weeks, so if you need me to turn it on for a while just tell me. https://76.76.91.164/hp-linux-8.04.iso

      keen101 [at] gmail [com]

    3. Hey everyone,

      i just put together a copy of HP’s MIE in a working Live-CD ISO. This was from a 110 computer, so i have no idea if it will work on other models with the correct ethernet drivers. I had to create it with remastersys after copying the restore partition and installing it on an old computer that was not a netbook since i use Ubuntu Netbook Edition instead on my netbook. It was actually pretty funny watching it install, because i guess since the machine was crappy and not an HP it displayed the COMPAQ logo instead of the ubuntu or hp logo.

      and while not perfect it does seem a shame to waste all that money they paid canonical to develop it. I am attempting to host it on the same crappy computer with apache2 at the moment, but if someone perhaps can host it for awhile that would be cool. Maybe a torrent or a mirror?

      I sometimes turn this computer off at night and other times dont turn it on for weeks, so if you need me to turn it on for a while just tell me. https://76.76.91.164/hp-linux-8.04.iso

      keen101 [at] gmail [com]

Comments are closed.