Review and Installation of Linux (Fedora Core 2)
Febuary 7th, 2005 - Well, I finaly wrote up the Fedora Core 3 install. Go to that link to get the lowdown, oh and check out the Wireless section, I found a cool new tool, and the instructions will probably work for Fedora Core 2 as well!
January 31st, 2005 - Ok minor note, I've installed Fedora Core 3 on the laptop, I'll soon add a new page that documents that install and link to it from here. Most things went pretty well, but DRI is seriously broken in the 2.6.10 kernels from Fedora. Anyways, more on that in the how-to to come.
December 27th, 2004 - Some minor notes and updates. I'm currently frozen at the 2.6.8-1.521 Fedora kernel. Kernels beyond that will not fully shutdown on power off. Also suspend to ram has stopped working on kernels after 2.6.6 from Fedora. I haven't gotten around to building my own kernels again, debating on moving to FC3 and a custom kernel this coming weekend. Also I did purchase the extended run battery and it gets about 7 hours on it, very nice :-).
June 26th, 2004 - Recompiled the 2.6.7 kernel with Pentium III as the target platform vs the Fedora default of Pentium Pro and squeked out a 215-220 fps on glxgears. Also added some links to others who have installed Linux on an MM20
June 23rd, 2004 - Ok, figured out what was causing the kernels to lock. Apparently AGPMode 4 is no longer working with the 2.6.6 and later kernels. This happened with the Fedora 2.6.6 kernel as well as a hand built 2.6.7 kernel of mine. The way to get around it is to comment out the Option "AGPMode" "4" in the xorg.conf file. Oh, and no AGPMode 2 doesn't work either. I'm going to keep working and see how to get AGPMode 4 back up and running, just not sure how right now.
June 16th, 2004 - Both the updatd Fedora Core 2 Kernels 2.6.6-1.427 and 2.6.6-1.435 cause a hard system lock at run level 5. They will boot into run level 3, but starting X windows will cause a hard lock. Sticking with the orginal kernel for now. See this BugReport 125974 for details (and add to it if you can) .
June 15th, 2004 - Ok, I did it, bought a Linksys WRT54GS and yes 802.11G works great! Very nice.
The Review and How-To:
Well I've had this new laptop for 3 weeks now and have gotten most everything working on it now. First off this thing is SO small. I'm talking under two pounds small, thinner and lighter than most of my O'Reilly tech books! I recently changed jobs and since I was loosing my trust Dell C610 with the old job, I needed to find myself a new laptop. Since I had a good desktop now, I just wanted something small and light to complement it and let me do a little writing, a little email, some web browsing, remote systems admin, and maybe a little coding hear and there. My final two choices were a Apple Powerbook 12" and the Sharp MM20. I went with the MM20, and have been happy ever since.
Here is the rundown on the hardware this thing comes with and what I think of it:
I decided to go with Fedora Core 2 for several reasons. First and foremost is the use of the 2.6 kernel. Fedora Core 1 installed fine on the laptop but, it doesn't fully support the AGP bus nor the wireless network card. So without doing a LOT of back porting and compiling I would have no Hardware 3D or wireless networking. The 2.6.5 kernel and above have built-in support for the new Efficeon front side bus which includes AGP hardware support as well as having the Prism54 drivers included for the new 802.11b/g wireless card. Then there is the fact that I've always been partial towards Red Hat distros and Gnome so I stuck with Fedora Core.
Since I had first installed Core 1 on the laptop and that had gone so easily, I thought Core 2 would be just as easy but with the additional support of my newer hardware. I was wrong, very wrong. I started the installer and it failed to recognize the touchpad. It found no mouse device. I tried again and again, and no mouse device. I tried many different kernel commands at boot to try and get it recognized and nothing. I even plugged in a USB mouse to get through the install, but soon as I was done and I tried starting X Windows with out an external mouse, X crashed complaining that it couldn't find a mouse. I fought with this for several days. Finally, I got lucky and one google search after many finally found my solution. To get this laptops touchpad to work with the 2.6 series kernels you must pass the following on the installers boot line:
linux acpi=on i8042.nomux
Without that line the mouse will never work (the acpi=on is just to make sure the installer setups the acpi system for the laptop). Later on you must add this bit to every grub kernel line you have so that your mouse continues to work. I've filed a bug 2713, but no response yet.
Stage 1 of the install: Base Install
So to get the install started I booted up the Fedora Core 2 disks and and started the install with the "linux acpi=on i8042.nomux" command. From there just follow the normal install routine and throw on what every software you want. The only thing to remember is to configure the grub boot loader to add the "acpi=on" for your power management, "i8042.nomux" for your touchpad to work, and I added "idebus=66" to try and squeak out a little more performance from the harddrive. Once the install finishes you should be good to go.
Stage 2 of the install: Wireless Networking
Ok now that the base system is on, time to get some features working. First up is that wireless card. Though the drivers are installed you need to go grab the firmware off of this site:
Go to the Firmware section and download the 220.127.116.11.arm file. Rename the file isl3890 and place it in the /usr/lib/hotplug/firmware directory. After that you can manually startup the network card using ifconfig and iwconfig. I haven't managed to get Fedora's ifcfg-eth1 scripts to setup and activate the network card correctly. Instead I wrote the following script that sets everything up and activates the wireless card for my home network:
I'm sure there is a cleaner more elegant way to do this, but this works for me. (update, found a realy cool tool, but installed it on Fedora Core 3, go to the wireless section on the FC3 Install page to get info that would probably work for FC2)
Stage 3 of the install: Synaptics Touchpad
Well, the base install gets the touchpad working, but only the very basics. No tap and drag, or tap and click. Just move and click the buttons. Thankfully it's pretty easy to add on true synaptics support. I just downloaded the synaptics diver from this site
I just followed the readme instructions to build and then install the driver. Once it was installed then I just edited my xorg.conf config file to the following for the mouse:
Section "InputDevice" Identifier "Mouse0" Driver "synaptics" Option "Device" "/dev/input/mice" Option "Protocol" "IMPS/2" Option "LeftEdge" "1700" Option "righted" "5300" Option "topped" "1700" Option "bottomed" "4200" Option "fingerless" "25" Option "FingerHigh" "30" Option "MaxTapTime" "180" Option "MaxTapMove" "220" Option "VertScrollDelta" "100" Option "misnamed" "0.06" Option "MaxSpeed" "0.12" Option "AccelFactor" "0.0010" Option "SHMConfig" "on" Option "ZAxisMapping" "4 5" EndSection
Stage 4 of the install: 3D Acceleration
For the most part this should be working from the default. The only thing I would add would be the following line in the "Device" section of the xorg.conf file:
Option "AGPMode" "4" (REMOVED for 2.6.6 and greater kernels!)
Again, just to get a little more performance out of it.
Stage 5 of the install: Harddrive performance
I went to the /etc/sysconfig/harddisks config file and enabled the "EIDE_32BIT=3" option, once again to get more performance out of it. It already defaults to DMA so nothing to be done there.
Stage 6 of the install: Power management/Battery life
Ok this is a laptop and it needs to be mobile. I wanted to try and get as much power out of this tiny thing with it's tiny battery as I could. To start with in the /etc/fstab file I added "noatime" to all the main partitions to try and reduce the number of times the harddrive gets activated during non-active moments. Harddrive motion burns battery power. Next on the list was to get some of the processor throttling tricks to work. The version of longrun that comes with Fedora Core 2 does not work with this laptop (Bug 123963). Neither does the init.d script cpuspeed. I disabled cpuspeed from running at boot. There are two things you need to do to get longrun working on this laptop. First off you need to load the kernel modules cpuid and msr. I did this using the following init.d script to load these at boot (/etc/init.d/loadcustmod ):
Next to get a working longrun utility I went to the debian source packages and latest patch from here:
I downloaded the source tarball and the patch, applied the patch and compiled. After this version of longrun was made I replaced the /usr/sbin/longrun on my Fedora Install with my new version and everything was happy again. An important note here is that this new version of longrun is supposed to support thermal scaling. This DOES NOT work on the Efficeon processor. The only thing I've managed to do with this option in lock my computer HARD. Don't use it! You have been warned.
With this new version of longrun installed it's now possible to throttle down the CPU and put the CPU into economy or performance mode. To do this I added the following script which is activated at boot time and by ACPI whenever there is a change in A/C adapter state:
This will basically limit the CPU to 600 MHz and economy mode whenever on battery power and the full 1000 MHz and performance mode when on AC Power. To get this script to run when the power adapter changes you need to add the following to the /etc/acpi/events directory. I created the adapter.conf file which handles the power mode switching as well as a power.conf that handles the power button (which will shutdown the laptop if the power button is pressed and held):
# This is the /etc/acpi/events/power.conf ACPID configuration file
# This is the /etc/acpi/events/adapter.conf ACPID configuration file
Stage 7 of the install: Suspend Modes.
Ok I didn't even try to get suspend to disk to work. I've never used it and didn't see a need to start. I have worked some on getting suspend to RAM to work. So far is suspends fine and comes back to life with no problem except one. When coming back from suspend for some reason the wireless antenna gets turned off, and I haven't figured out how to get it to turn back on without rebooting the laptop. I haven't played to much with this yet, isn't a top priority for me, but it would be nice to get it to work correctly. To have suspend work on a lid close I added another file to the /etc/acpi/events folder:
and the /etc/acpi/actions/lidbutton script:
Stage 8 of the install: The Dock.
Well this was easy. Plug in the AC-adapter to the dock, plug the docks USB cable to a USB port on my desktop (Running Fedora Core 1) and turn it on. Edited the /etc/fstab folder to include the partitions I wanted to mount (the MM20 showed up as the /de/sda device) and then start mounting. That's it. Works just like any other USB storage device. No problems at all so far.
Well, I've pretty much got everything working the way I want to now. The only things left are to get some better battery life out of it, and to improve on the suspend to memory mode. So far I love this laptop. Sure it would be nicer to have a larger screen, more processing power, and a built in DVD drive. But every time and pick up my bag to head to work and have to double check that I actually put my laptop in there because it's so light I remember why I gave up those aspects. If I need a bigger screen or more power, that's what the desktop computer is for. When I just want to be able to do a little work, read some email, and browse the web, I just sit down relax and play on my MM20 anywhere.
These are the sites that I used to help figure out how to get this laptop to work. Thank you to the authors and contributors on these sites for adding their knowledge for all to share!
Other MM20 installs: