New life for Lifebook B142 with Ubuntu 6.10
I have a Fujitsu Lifebook B142 for quite some time. I used to have there a Debian with 2.4 kernel and lot of hand tweaking. Lately I decided to give him a new harddrive with higher capacity and new Linux distro. I choosed the latest Ubuntu 6.10 Edgy Eft even thou maybe the 6.06 LTS would server better as reinstalling Linux on this device is not a job you would like to do daily, because disassembly is rather painful.
New 80GB harddisk
Putting any newer 2.5" HDD like Seagate Momentus 5400 into Lifebook is no issue, at least when you use Linux. BIOS is not able to see whole disk (B142 has maximum of 65GB), but Linux detects it correctly. I did installation of Ubuntu 6.10 on the harddrive in different computer as Lifebook is bit slower for installation. I put also original W98 on drive, but it does not boot, as MS-DOS/W98 has troubles to detected geometry of the HDD and the geometry it was installed with on faster machine which does not correspond. So I left the W98 not working, as I almost do not need them.
Poweroff and ACPI
Booting Edgy Eft takes some time but it's not that bad (cca 1:25s). I was surprised that it won't poweroff the notebook which is not nice. I already had that problem on different machine, so I tried to use acpi=force option for kernel and it powers off correctly now. What I was more surprised is that it also hibernates, which is really fine, because startup is them much shorter (33s).
Touchscreen
The other stuff that is must on Lifebook is touchscreen. It worked with /dev/input/mice but was very badly calibrated. I found evtouch driver. I already used the lbtouch driver in past, but there were no signs this will be useful with Xorg in Ubuntu 6.10. But I have to say - evtouch works! You need a bit of tweaking however
- when you copy the evtouchdrv.o to /usr/lib/xorg/modules/input rename it to evtouchdrv.so
- when you want to run calibration then you need to fool its library dependency with ln -s /usr/lib/libXaw.so7 /usr/lib/libXaw.so.8
- then just follow the instructions in the README and on the web to configure X and run calibration
Scrolling
Next thing that I did not like was slow scrolling in X apps and especial terminals. This was cause by that color resolution was set to 24 bits. Setting to 16bit resulted in pretty smooth scrolling.
Speed
There is nothing I would recommend. I only wanted to mention, that the speed of Ubuntu is quite good on Lifebook.
Windows 98 Warning
I tried to reinstall W98 on my Lifebook starting from W98 boot diskette, but I'd like to warn everybody from doing so, when Linux is already installed. Please read the article What Does FDISK to understand why. The W98 fdisk does not recognize the drive properly and overwritten part of the Linux partition. I used W98 fdisk because with Linux fdisk I was not able to create dos-bootable partition (boot floppies freeze, or DOS does not find a valid boot sector). I was aslo not able to create usable DOS partition with MS-DOS/W98 fdisk. This is probably because BIOS reported geometry of the disk is wrong and DOS uses it to does "something".
The only way how to get Windows again on lifebook with new disk is to cheat and clone old one.
How to copy old Windows partition to new disk
I managed to copy the partition from old disk to new one. Because it is not straightforward I'll describe it here.
First make an image of the old partition.
dd if=/dev/hdc1 of=lifebook_old_hda1 bs=512
list the parition table and geometry of old disk with fdisk:
Disk /dev/hdc: 240 heads, 63 sectors, 839 cylinders Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID 1 80 1 1 0 239 63 243 63 3689217 0b 2 00 0 1 244 239 63 815 3689280 8648640 83 3 00 0 1 816 239 63 838 12337920 347760 82 4 00 0 0 0 0 0 0 0 0 00 Disk /dev/hdc: 6495 MB, 6495068160 bytes 240 heads, 63 sectors/track, 839 cylinders Units = cylinders of 15120 * 512 = 7741440 bytes Device Boot Start End Blocks Id System /dev/hdc1 * 1 244 1844608+ b W95 FAT32 /dev/hdc2 245 816 4324320 83 Linux /dev/hdc3 817 839 173880 82 Linux swap / Solaris
The most important is the old geometry. You need to cheat the geometry when creating the FAT partition on the new harddrive. Use fdisks expert menu and set Heads to 240 and Cylinders to 839, then return to main menu and create FAT partition with geometry exacly the same as the old one. New partition, primary, 1, begins at 1, ends at cylinger 244 (!) - this creates parition that begins at cyl 0 and ends at cyl 243 in expert mode output. Printing partition table will print a lof of complains about not aligned partition etc. Ignore them. Change the partition type to b (W95 FAT32), change back the geometry of the new disk (heads and cylinders) and Write parition table. Now you are done with most tricky part. Verify you have same number of blocks on old and new parition! The fdisk will complain that this fat parition is not ending on cylinder boundary, ignore it, but remember that creating a following partition will need some caution.
Do not forget to enable also other parameters in BIOS like LBA, PIO/DMA mode.
Simply copy the old partition content to new one:
dd if=lifebook_old_hda1 of=/dev/hda1 bs=512
The only important thing that remains is to set the geometry in bios the same way the 6495MB disk was using. This is 13424 cylinders, 15 heads, 63 sectors. Then just boot and in grub use obvious chainloader +1.
Backup battery
Backup battery is CR1632 +3V, with soldered wires and conector.