Windows7 dual monitors 1366 x 2368

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.


Internal Screen 1366 x 768 external monitor 1600 x 1200

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.

Karmic 9.10, poulsbo & Windows7

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


Without Poulsbo drivers 1024 x768

Step 1: Create Windows7 boot USB stick

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:

sudo apt-get install gparted
sudo apt-get install ntfsprogs
sudo gparted

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".


GParted: Creating bootable ntfs formatted USB stick

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.

Step 2, Reinstall Windows7

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

Step 3, Install Karmic 9.10

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.

Partitioning

First I resized /dev/sda2 to 30G. This left the rest of the disk unallocated. I then created the partitions in the table below:

SizeFormatMountUse
15 GBext4/Root Karmic 9.10
15 GBntfs/workShared with Win7
15 GBext3Scratch install
5 GBswapSwap partition
restext4/homeAll user data

partitioning on install

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.

Step 4, Boot Win7


Windows7 creating D: drive 1366 x 768

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


Updating kernel 2.6.31-14-generic to 2.6.31-21-generic 1024 x 768

Step 5, Update Karmic

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)".

Step 6, Compile poulsbo drivers into kernel

Download the file poulsbo.sh and execute the following command in the directory where you downloaded the file:

wget http://dl.dropbox.com/u/1338581/Gma500/scripts/poulsbo.sh && sh ./poulsbo.sh

Rebuilding the kernel 1024 x 768

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:

dpkg-reconfigure psb-kernel-source

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.

Step 7, Some Housekeeping

Start a shell and before doing anything else type:

cd /etc/X11
sudo cp xorg.conf xorg.conf.good1366x768

Setting hide buttons for task bar

Display Preferences: Laptop 11", no external monitor

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

cd /work
ls -l

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

grep francis /etc/passwd
(result) ==> francis:x:1000:1000:Francis Cagney,,,:/home/francis:/bin/bash
sudo gedit /etc/fstab

Change the line containing /work as follows. The UUID will be specific to your installation and is not to be touched:

UUID=5780D42D1D35A08A /work ntfs defaults,nls=utf8,umask=007,gid=46 0 0
   ==>
UUID=5780D42D1D35A08A /work ntfs defaults,nls=utf8,umask=002,uid=1000,gid=1000 0 0

Now you will own the files, and all will have rw permission on them. And my Xampp server can serve them

Step 8, External monitor

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


Display Preferences: Laptop 11", Samsung 20"

Display Preferences: Samsung 20" obscuring Laptop 11"

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.

sudo cp /etc/xorg.conf /etc/xorg.conf.good1366x768

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.

sudo chmod 0666 /etc/xorg.conf

If and when you can't boot, or only get a flashing screen, boot into a recovery console and type:

cp /etc/xorg.conf.good1366x768 /etc/xorg.conf



2011-05-04 08:51:21 Mande

Got it! Tnhaks a lot again for helping me out!
2012-09-24 22:12:43 Ingerul

You can't install wndoiws on an external hard drive.Its possible you had a virus that corrupted your drive, or the drive may be failing. I would use one of the disk utilities such as seatools form seagate website they are free and will check your disk for bad sectors, just google seatools.If your disk is still good when you come to choose a partition you should have the option to just delete the biggest partition and then choose quick format to ntfs, then continue with the install
2013-06-04 10:52:31 backlinks

Very neat article post. Much obliged.
2014-12-13 11:08:23 Jessie

Times are chniangg for the better if I can get this online!

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!

Name Email

Comments



CAPTCHA Image

To verify please type the characters you see in the picture above.

Reload Image