Booted up under Windows XP SP1 (5.1.2600) - no network connection. Had to answer anoying questions.
Defragged drive. Thought this might help in the next part.
Examined control panel to learn about the drivers
System froze while looking at the control panel. Could not move mouse. Could not use Control-Alt-Delete. Had to power cycle.
Windows is suppose to be the most stable version of the OS, and it freezes while listing the devices in the system. Sheesh. I hope this isn't a hardware problem.
I wonder if the comments in Michael Jennings's Paper are true, especially those where Microsoft purposely cripples Windows XP unless you give up your privacy.
Rebooted
Examined hardware list and documented it here
Had to change the BIOS to allow this.
Got to the point where I was reformating the disk. I wanted Dual Boot,
and while I could wipe out Windows XP and reinstall, I looked for
other options. I grabbed ntfsresize (rev v1.7.1s), untarred it, and did
mcopy ntfsresize a:
to put it on a floppy on another system. Then I went back to my new
system, did a [Control][Alt][F2] to get a prompt. I then typed
cd /tmp
mcopy a:ntfsresize .
chmod +x ntfsresize
./ntfsresize -i /dev/hda2
It told me I could shrink the disk partition to 3.7GB. I decided to
shrink it to 8 GB. (Correction added March 18 2003: Szakacsits
Szabolcs told me I must have made a mistake in my notes. It's possible
because I could not cut and paste. This is what I thought I did) I
typed
./ntfsresize -n -s 8G /dev/hda2
to do a test run, then
./ntfsresize -s 8G /dev/hda2
It said
Calculating smallest shrunken size supported.... The volume end is fragmented, this case is not supported. Defragment it (windows 2000, SP, and .NET have built in defragmentation tool) and try again.
Since I had just defragmented the disk, I don't understand why it says I have to defragment it again. I did notice that when I did this, the upper end of the disk showed a bar on the graph and it is color codes as "unmovable files.". Perhaps Windows XP purposely places a marker at the end of the partition?
I guess I will have to repartion the disk and re-install windows.
Or else buy Partiton Magic. To be honest, I bought an earlier version of Partition Magic, found it unusable because it didn;t support FAT32 file systems, and it took 3 years before they added the functionality needed. I'm not real excited about this product. Since this is a brand-new machine, I might just reformat the disk.
(Here is the correction - March 17, 2003 - . Szaka said the error
I got was impossible. The other mistake I did was to run the
defragmenter before I ran ntfsresize. Szaka said the documentation
will be updated to show this change. The suggested procedure is to try things in this order:
ntfsresize
defrag
ntfsresize
fdisk
I hope this helps. Check Szaka's web site site for updates in documentation.)
One other thing - the Linux-Dell-Laptop's FAQ mentioned the need of a partition for the Suspend-to-Disk function. They say that either phdisk.exe of mks2d.exe is used under Windows. I was unable to find either file. But I did notice that there is no partition dedicated to the Suspend-to-disk function. Perhaps when I re-partition the system, I might add a partition for this.
I should also document that the system has two partitions:
Well, I think I'm going to call it quits for tonight. Tomorrow I'll reformat the disk and wipe out Windows XP.
Added page counter to the top page. Had to re-write major parts of this page to do so. Is it worth it?
Later that day I booted into Windows XP. If I'm going to wipe it out, I want to make sure I've gotten the info I need. I also searched for the Suspend-2-Disk application. Whiling the system was searching, Windows XP - that most stable OS yet, froze again. Sigh. I guess I won't mind wiping it out.
Besides - everyone should know how to re-install windows. SHOW NO FEAR
Now I have to decide on the partitioning. The current partition is (according to Disk Druid) is:
/dev/hda (Geom: 7296/255/63) (Model Fujitsu MHS2060AT)
| /dev/hda1 | vfat | 31MB | start: 1, End: 4 | |
| /dev/hda2 | NTFS | 57192 MB | start: 5, End: 7295 | |
| FREE | Free Space | 8 MB | start: 7296, End: 7296 |
I'm going to switch to FDISK, so I can define the mount points.
(Press Back)
The Suspend-To-Disk partition, which doesn't seem to exist, should be /dev/hda1 starting on cylinder 1, according to Linux-Dell-Laptop's FAQ. Shrug. Since I'm deleting all of the partitions, I might as well create one. It should be larger than memory + video RAM. I have 128MB now, but I may expand to the max of 1 GB. So I'll use 1.1GB for the dize of the first partition.
The next partition will be Windows. I'll reserve 8 GB for that.
Swap will be 2GB - twice max memory.
/boot is recommended - to protect the file system while problems booting up.
/var will be 1GB. I'm using a separate partition because if a denial of service attack fills up my logs, the rest of the system will still run. And vice versa.
/ - this should be big enough for any current and future RedHat distribution. I'll select 10 GB.
/spare - I'll make this 10 GB just to have a spare partition for CFS.
/home - this is very important. Many suggest a single partition for root and user files. I consider this idiotic. I've started a RedHat upgrade, and the upgrade failed. I was left with an unbootable system. The only choice I had was to re-install RedHat, ignoring the upgrade option. This wipes everything out. But because I had a separate /home partition, all of my files were still there. All I had to do is to re-configure the OS.
Along those lines, I create a symbolic link of /local -> /home/local - and all of the software I install goes into /local. Note that this is separate from /usr/local - which is where many RPM's install files. I want to have a separate space for my libraries and software. I can always use /usr/local/lib, but I am not forced to do so.
Using fdisk, I list the current partitions
Well, now it's time to commit. When I do this, I can't go back.
Each cylinder is 8032.5K or 8.0325 MB. (16065*512/1024)
When selecting partitions, it makes sense to make them a multiple of the cylinder size to make sure there are no wasted blocks at the end of a partition.
I wrote a perl program to calculate the size for every even cylinder boundary:
Here is an extract of the results:
| Cyl | MB | GB |
| 502.0 | 0.4903 | |
| 128 | 1004.1 | 0.9805 |
| 132 | 1035.4 | 1.0112 |
| 144 | 1129.6 | 1.1031 |
| 262 | 2055.2 | 2.0070 |
| 1046 | 8205.1 | 8.0128 |
| 1306 | 10244.6 | 10.0045 |
| S2d | 144 |
| NTFS | 1046 |
| /boot | 64 |
| / | 1306 |
| SWAP | 262 |
| /var | 144 |
| /spare | 1306 |
| /home | - the rest |
| /tmp/hda1 | 1-143 | OS/2 Hidden C: Drive |
| /tmp/hda2 | 144-1189 | NTFS Volume Set |
| /tmp/hda3 | 1190-1253 | Linux /boot |
| /tmp/hda4 | 1254-7296 | Extended |
| /tmp/hda5 | 1254-2559 | Linux / |
| /tmp/hda6 | 2560-2821 | Linux Swap |
| /tmp/hda7 | 2822-2965 | Linux /var |
| /tmp/hda8 | 2966-4271 | Linux /spare |
| /tmp/hda9 | 4272-7296 | Linux /home |
Well, I completed the partitioning. I then continued to Disk Druid where I named the partitions. I also said to check for bad blocks. I then selected the packages, (most of them. I can always delete them later) and told Red Hat to go crazy.
NOTE: I should have put my swap partition near the beginning of the disk for better performance. However, I might still to that. I can see if I can exchange the swap and suspend partitions.
This will take a while. That's good enough for tonight.
Booted RedHat
Yahoo! Xwindows, and sound seems to work.
There was an error during the boot process in ./drivers/block/xd.o: init_module: Operation not permitted.
I have not connected to the Internet yet. Last time I did a major upgrade, a hacker broke into my system while I was downloading the patches. Therefore I already have the patches on a CD I burned. I'll into patches from there before I connect.
I went to the RPMS/i386 directory and did a
rpm -Fvh *.rpm
I did the same for the other directories as well.
Dang. I jarred the system (it fell an inch) and the mouse stopped working.
I hope this doesn't mean the hardware is flaky. perhaps that's why Windows was misbehaving.
Something I do when I install a new system is to create a file after the install is done. This way I know what files I've modified after the install process. I can use find -newer to identify these files. So I executed the script
for i in / /boot /var /spare /home
do
date >$i/.FIRSTFILE
done
The output of df gives:
| Filesystem | 1K-blocks | Used | Available | Use% | Mounted on |
| /dev/hda5 | 10325748 | 2614860 | 7186368 | 27% | / |
| /dev/hda3 | 497861 | 13258 | 458899 | 3% | /boot |
| /dev/hda9 | 23916476 | 32872 | 22668692 | 1% | /home |
| none | 63196 | 0 | 63196 | 0% | /dev/shm |
| /dev/hda8 | 10325748 | 32832 | 9768396 | 1% | /spare |
| /dev/hda7 | 1138428 | 77088 | 1003508 | 8% | /var |
Did a quick check of Linux. Ran tuxracer. It was godawful slow. Completely unplayable. Work has to be done.
Installed Windows XP from CD. I apparently didn't select the right type of partition for the 8GB hda2 partition. I used the boot process to delete and create a partition in the same slot. Windows installed no problem. It did say that WIndows would mess up the boot loaded.
I then installed the Dell drivers.
Rebooted using the Linux CDROM, using "linux rescue"
Got the prompt, and typed
chroot /mnt/sysimage
grub-install '(hd0)'
Rebooted under Linux.
Removed all unnecessary services, including nfs, portmap, atd
Grabbed latest copy of
grabbed NVchooser.sh. Ran it. According to what it says, I need
NVIDIA_GLX-1.0-4191.tar.gz
NVIDIA_kernel-1.0-4191.tar.gz
and the README file
Also - the Suspend-to-disk worked. I pressed "function-(esc)Suspend" and the system worked. But I hear that the new vidia driver causes problems.
Next step is to rebuild the kernel with no changes to see if it rebuilds with no errors. Once this is done, I'll install the patches for the NVIDIA card..
Typed
cd /usr/src/linux-2.4
make mrproper
cd configs/kernel-2.4.18.i686.config .config
make dep
make
make bzImage
make modules
All looks well, so I did a
make modules_install
Then if everything builds with no errors, do a (big breath)
make install
Then reboot. If this doesn't work, you have problems. Sorry. But grub shows both the new and the old kernel when you book up. So perhaps you can still go back to the old kernel.
I also installed
tpconfig
gkrellm
i8kutils-1.8
i8krellm-2.3
I installed the NVIDIA files from the tar directory. This was easy. I did a make and make install
I then followed the documentation, changed "vesa" to "nvidia" and deleted the line that says
Load "dri"
Do this when you are not in X windows. I restarted the X driver, and the tried tuxdriver and it worked.
The i8krellm plugin for gkrellm is great. However, you have to specify "/usr/bin/i8kfan" in the GUI options. I thought it would use that as the default. But once I did, the system started running the fan every 5 seconds to cool down the laptop. I was concerned about this because the laptop was HOT and it's still winter. Without the fan control, it may be too hot to use. Gkrell has a temperature strip and so far the temperature is off the scale. It started at 150 degrees Fahrenheit. The second bug I noted is that the default unit is Fahrenheit in the graph, but the temperatures in the GKRELLM plugin are in Centigrade. The temperature ought to change to match the units of the scale. What happened was that while I had selected Fahrenheit as a graph, the fan was always running to get the value down to 50 degrees Fahrenheit. Obviously it never could.
Had to download lameOnce I did that, I could use grip to rip an album. But xmms doesn't play the tracks ripped.
I tried suspend-to-disk with the new NVIDIA driver. Failed. I followed the directions for modifying XF86Config. Not good enough. I modified the source of the nv.c code. There was a chunk of code that had "#if 0" - I changed the 0 to a one - no good. So I changed it back, and underneath it I changed the "return 1;" to "return 0;" Suspend to disk seemed to work. I tried both "apm -s" and [Function]-[ESC/Suspend] and this worked. However, I tried it again, and left the machine suspended overnight. It would not unsuspend.
I followed the instructions for getting apt setup using Robert C Dowdy's Page
I then did a apt-get install xmms-mp3
Got grip to rip and encode mp3's, so that xmms could play it. The part that needed changing was the calling to LAME. The default filename extension was *.ogg. I had to change this to *.mp3. I tried this as non-root, and I had to make sure my username belonged to group "disk" for cdparanoia to run properly.
Learned about the wonderful fact that INTEL/Microsoft has undocumented mechanism to slow down a laptop's CPU to extend battery life. Also learned that Microsoft doesn't have it working on Dells with Windows XP. Also Linux kernel 2.4 may also not have it working properly. This is just wonderful. Oe buys 1 2.4GHZ CPU but only gets 1.2GHZ performance. Oh joy.
Downloaded the unix benchmark "bench" and bonnie.c to test CPU and disk performance.
I installed CPUfreq - or rather tried to. I did this to find out what the CPU speed was, and if speedstep is causing a problem. However, I was not successful. "make modules" failed because "driver" was not defined.
make xconfig
make dep
make
make bzImage
make modules
got an error in building the modules, especially the SCSI driver (fake7.c)
script_asm.pl : Illegal combination of registers in line 72 : MOVE CTEST7 & 0xef TO CTEST7
I installed all of the compat-gcc files, as this error is caused by the gcc-3.2.7 compiler, while the kernel needs the gcc-2.96.xx compiler for stability.
So I went to the top Makefile, and changed 'gcc' to 'gcc296' and did make clean.
The line in the Makefile was changed from
CC = $(CROSS_COMPILE)gcc
to
CC = $(CROSS_COMPILE)gcc296
This didn't work.
The first is suppose to take the matched reserved word $1, which is CTEST7 in this case, and make
it upper case, which it already is. But for some strange reason, instead of changing
CTEST7 to CTEST7, (duh!) $dst_reg has the new value "COB5^@^@". The ^@ is
a null character. I was using perl 5.8.0, which is the latest stable
version. I'll have to report this to the perl bug list. Very strange.
But once I made this change, "make modules" worked fine.
cd /usr/src/linux-2.4.20
make
make bzImage
make modules
make modules_install
cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20
mkinitrd /boot/initrd-2.4.20.img 2.4.20
cp System.map /boot/System.map-2.4.20
The add to /etc/grub.conf
title New Linux (2.4.20)
root (hd0,2)
kernel /vmlinuz-2.4.20 ro root=LABEL=/ hdb=ide-scsi
initrd /initrd-2.4.20.img
After the new kernel, I had to reinstall the video drivers. Because I built the kernel with gcc296, I have to add
CC=gcc296
to both NVIDIA make files. I had to then do a
make clean
make
make install
in both NVIDIA directories.