I broke my hip skiing in January 2010, split up with my girlfriend, and was between contracts, but working on my own idea again. My recuperation required lots of walking, and losing weight, so the obvious thing to do was buy a netbook, install Unbuntu and go to India.
I chose an Asus eeePC 1101HA; the model I bought on Ebay has: Atom dual core 1.33GHz, 2G Ram, 250G hardrive, GMA500 graphics chip, and a 1366 x 768 resolution 11.6" display. On battery, its supposed to go up to 11 hours, easily manages 6, weighs less than 1kg. And feels robust.
It was possible if not necessarily easy, but I now have a dual boot Win7/Ubuntu 9.10 which can drive the internal screen, or an external monitor at full resolution, and a sensible partition map. Look left.
My eeePC came with Windows7 Home Premium installed, and with a legal product key which is not a bad thing. I booted into Windows7; installed Firefox, and Netbeans, and observed that the inbuilt screen was brilliant
Furthermore Win7 could drive my external 1600x1200 monitor rotated, something my Lenovo T60 running Ubuntu could not. In the screenshot right the two small windows are the inbuilt 1366x768, and the big window takes up the 1200x1600 external monitor.
I then trashed my Win7 installation trying to resize the partition twice in one session, and observed that Ubuntu installed no problem, but could only drive the screen at 1024x768 and the whole screen was distorted. However this Ubuntu wiki described a simple kernel rebuild procedure that would insert drivers for the Poulsbo GMA500 into the kernel. My first kernel rebuild at 45!
And so I ended up rebuilding my machine 6 times. The rest of this page describes how I would proceed if doing it again. And hopefully somebody will find it helpful. Hopefully not me. I've had enough
The Windows7 on the recovery DVD, and preinstalled on the eeePC comes with lots of goodies you'll probably never want, which clutter the registry and eat disk space. There is also a recovery partition taking up about 10G which is a nice idea, but installing grub makes it unusable. You will gain about 20G by downloading a nice clean Win7 iso image of the same edition as your licensed edition from techpp.com
If you have a Windows boot, or Virtual Box that can directly access a USB stick, then you can use the Windows 7 USB/DVD Download Tool to create a boot USB stick.
My WinXP in a virtual box had stopped talking to USB devices, and I'd trashed my Win7 so I had to make a boot Win7 usbstick the fun way.
You need the grapihical partition editor, and the ability to format ntfs. Type the following commands in a shell:
This will start the grapihical partition editor. Insert your USB stick. It must be at least 4G for Win7 or 1G for Ubuntu. Right click its icon on the desktop, and select "unmount".
In the top right corner of the "GParted" window there's a pull down prompt to select the device. Make sure you select your USB stick "/dev/sdb", or "/dev/sdc". "/dev/sda" is your hard drive and you don't want to do what comes next to your hard drive.
From the "Device menu" take "Create Partition Table". After answering yes, the whole stick will be unallocated. Click on the big grey blob of unused space to select it, then "Partition"->"New". Change the "File System" to "ntfs", then click "Add". Then "Edit"->"Apply All Operations" This will take a while. When its finished: "Parititon"->"Manage Flags" and click on the "Boot" checkbox and then "Close". Exit "gparted"
Copy all the files from the Win7 iso onto the USB stick. Unfortunately I don't know of any Unix tool that can read the Win7 iso. 7Zip can but runs only under Windows, and did work in my virtual box.
Shutdown the eeePC, insert the USB stick, and power up. When the Grey screen comes up inviting you to press "F2 to enter Setup" do so! When the "BIOS SETUP UTILITY" is running, press the right arrow until the "Boot" tab is highlighted, down arrow to "Hard Disk Drives" and press Enter. The USB stick should be listed second. Arrow down to it, and press Enter and finally F10
The netbook will now boot from the USB drive, and Windows install will take you through the procedure. You'll be asked at some state to partition the hard drive.
I just let Windows have the entire drive. There were 1 or 2 semi failed Unix experiments, and the recovery partition, and to be honest I was scared of the Windows partitioner, and knew that the Ubuntu install partitioner was good at resizing Windows partitions.
Also Windows7 needs 2 parititions, one about 100M to do with booting, and then Win7 itself. When I resized I gave my Win7 partition 30G. The delivered Win7 needs about 20G, but the clean Win7 with 6 browsers and NetBeans installed takes about 13G. So I would make the Win7 partition between 20 and 25G, if doing it again.
You can use your product key (which was on a label on the bottom of my eeePC) when Win7 asks for it. And once you connect to the Internet Win7 will automatically fetch all the correct drivers, and everything will eventually work
There are instructions on the Ubuntu website for creating a bootable USB stick under Windows, Unix, Mac etc. I used usb-creator and I observed that the installer remembers information you've entered. If mysterious things seem to be going wrong, recreate the boot USB stick to get a clean start.
First I resized /dev/sda2 to 30G. This left the rest of the disk unallocated. I then created the partitions in the table below:
| Size | Format | Mount | Use |
| 15 GB | ext4 | / | Root Karmic 9.10 |
| 15 GB | ntfs | /work | Shared with Win7 |
| 15 GB | ext3 | Scratch install | |
| 5 GB | swap | Swap partition | |
| rest | ext4 | /home | All user data |
As Win7 could drive dual monitors I wanted to be able to do Java Script work under Win7. The ntfs partition, mounted as /work is attached as the D drive under Win7.
It's very useful having a scratch partition to test install a new operating system which I'll do again when I have a better idea why the poulsbo drivers didn't work for me under Lucid. I made it ext3 to distinguish it from the Root system, to avoid partitioning accidents
Doing it again I'd mount the rest of the space as /home/big. The idea is very large items like movies and pictures go in /home/big. If this partition fills up; Unix, and user(s) will have enough space to do whatever they want on the root 15G partition. Except VirtualBox. I'd have to move my disk files to /home/big, or they'd swamp the root partition
Another advantage of having /home on a seperate partition, is that all your user data and settings will be preserved over repeated installs with the same username. However this can be a big disadvantage if you mess up your display settings. See "Step 8 External monitor".
When you click forward, ignore the message that the ext3 partition, in my case /dev/sda6, is not used. This is exactly how you want it. When operating system install withdrawl gets too bad, you can install something on this partition well isolated from this your live install.
The Grub boot menu gives you various options and then starts it's preference, your new Karmic 9.10 install if you do nothing for 8s. Use the arrow keys to move down to probably the last option Windows7 boot loader. Select this and boot Win7
Click on Start, then "Control Panel". Click on "System and Security", and then in the bottom right "Create and format hard disk partitions". This will start the "Disk Management" right.
Most of the partitions are unlabelled. (C:) will be an NTFS "File System". There'll be the 100MB NTFS boot partition, and one more NTFS partition about the size you created in the previous step. Right click on its icon and take: "Change Drive Letter and Paths...". Click "Add". Make sure the "Assign the following driver letter" is ticked and the drive is D. Click "ok".
Create or copy a simple text file onto the D: drive, which is currently empty
Boot into your Ubuntu installation. Check that the file you created on D: under Win7 can now be seen in /work.
"System"->Administration"->"Update Manager". Ignore the message that "Your system is up-to-date", and click on "Check".
Do not click on "Upgrade" or you'll get Lucid
On Monday 10 May 2010 installing the updates upgraded the kernal from 2.6.31-14-generic to 2.6.31-21-generic. The Poulsbo drivers have worked well for me on both kernel versions, but there are warnings that it was designed for and seems to work best on 2.6.31-14-generic.
Click "Install Update", and you'll get the latest kernel, and lots of vital security(bug) fixes. This will take a while, and then you'll have to restart.
You'll notice the grub menu has changed, you now have a choice of two kernels, the latest the chosen one, and both kernels also have a "(recovery mode)".
Download the file poulsbo.sh and execute the following command in the directory where you downloaded the file:
This is one of the few times you'll see both CPUs working 100% for a long time.
Compiling source code is one of the few operations where the CPU, not memory, or disks is the bottleneck. The slight dip is when one of the CPUs took time off to let me type gnome-screenshot.
Reboot, this time from grub take the recovery mode. Start a "root shell without networking". Once you have a shell prompt just a "# " to show you're superuser; type:
This will take a while, when its finished hit ctrl-alt-del, and your recovery boot will shutdown, and you will reboot into a glorious 1366x768 screen.
Start a shell and before doing anything else type:
Your 1366 x 768, or 1024 x 600 screen doesn't have many lines.
You can let an application use the entire screen by hiding the task bars. Right click on the upper task bar, and take "Properties". Tick the boxes as above, and now when you click on the grey blobs, the task bar will vanish. Click on the blob and it returns
When you checked the file from Windows on /work, you might have noticed it had a strange owner, group, and permission and was a rather ugly shade of green. chown, and chmod will not work on files in /work. Its not a Unix file system. When it's mounted owner, group, and permission are defined for all files on this partition
I needed my Xampp server to pickup files from /work, and because of the owner/permission it couldn't. You can find your uid and gid (1st and 2nd numbers) by grepping your username. Then you edit /etc/fstab
Change the line containing /work as follows. The UUID will be specific to your installation and is not to be touched:
Now you will own the files, and all will have rw permission on them. And my Xampp server can serve them
You can connect an external monitor but carefully. I always restarted with my external 1600 x 1200 attached. Your internal screen will show a cropped view of the desktop which is on your larger external monitor
Take "System->Preferences->Display" and you will see only the external monitor left. It completely overlaps the internal screen. You can do nothing useful on this page
I could turn off my internal screen with "Fn-F8", but then the external monitor would flicker annoyingly. It annoyed me having a cropped desktop on my internal screen, so I just covered it with a sheet of paper. Other than that it was perfect!
If you insist and really want to play on this make sure you've backed up your xorg.conf file. Create a new user and log in as this user. Take "System->Preferences->Display" and click on the Monitor picture. The two will spring apart as on the right, and if you select "Apply" this user will never again be able to run overlapped monitors, which in my case at least means the external monitor flickers.
This newly created user will not have the privilege to modify "/etc/xorg.conf". If you really want to try and go where I now fear to tread I'd recommend making "etc/xorg.conf" all writeable, and then using the new user to try and modify the display settings.
If and when you can't boot, or only get a flashing screen, boot into a recovery console and type:
2011-05-04 07:51:21 Mande
Got it! Tnhaks a lot again for helping me out!
You can leave a comment with the form below. Your Email address is not compulsory, and if entered will not be displayed. It will be used solely if I wish to contact you regarding a comment you made. Like to inform you it's being deleted!