Fedora Core Installation on a Intel 965 XX Mother
Board
I’ve had problems booting Linux based system which are based on the Intel 965 XX Motherboards into rescue mode if I wanted to fixed something or fails though the GUI / text installation procedure. I guess this board is used predominately if you have a Intel Duo Core 2 CPU type.
Anyways to make the story short, if you trying to boot up or install a Linux distro such as Fedora Core or SUSE you need to have a kernel which supports the chipset. In case of the Intel 965 Its not supported or should I say properly recognize until 2.6.19.xx kernel.
And most Linux Distros which include Fedora Core 6, OpenSUSE 10.1 are still based around the 2.6.18.xx kernel so that’s why it fails. So you either have to wait for the next distribution or get the Linux system installed on your system then upgrade the kernel (Ie rip the Hard Disk out into a different computer install it, and update or compile your own kernel then transplant the Hard Disk Back)
Else you can do what I do just parse a couple of kernel options the bootcd or bootdvd which will happily install the system.
To boot into rescue mode so you can fixed the system with an Intel 965 XX board type this.
linux rescue irqpoll all-generic-ide
To do a Linux installation with the gui
Linux irqpoll all-generic-ide
The option irqpoll, just basially polls the devices and get the right irq. If you don’t put this option it will basically hang at some point. The all-generic-ide option tells it just use the standard ide because you can’t use specific ide support as it is unknown to the current kernel.
I did this with a Fedora Core CD/DVD 6.0 but it should be the same as any other distribution as all linux are basically based on the same source kernel except they may have specific patches.
Now this will install it but you may have to patch boot loader (grub.conf), modules (modprobe.conf) or even the root filesystem files (fstab just in case it reorders the hard disk listing be it sata or pata)
But the next thing which you do is upgrade the kernel be doing via yum, apt-get or self compile kernel etc.
Linux Rescue Disks / Grub Repair Restore
What I found most annoying is restoring the grub configuration. Normally when you boot in a rescue mode from CD. The disk would be mapped something like this ie
For PATA Disks
/dev/hda -> Controller 0 Master
/dev/hdb -> Controller 0 Slave
/dev/hdc -> Controller 1 Master
/dev/hdd -> Controller 1 Slave
Similarly for SATA Disks (USB devices, SATA device, SCSI devices are classified as /dev/sdXX under linux because of the interface)
/dev/sda -> Serial ATA Device 1
/dev/sdb -> Serial ATA Device 2
/dev/sdc -> Serial ATA Device 3
/dev/sdd -< Serial ATA Device 4
And for assumption sake, I assume that the Windows sits in the First Partition and Linux on the second Partition for sata and pata disk. Make sure you have your grub configuration file to reflect this (Grub is found in /etc/grub.conf or /boot/grub/grub.conf).
For example here is a grub configuration file for SATA and PATA disk with the assumptions I made above.
# Grub for SATA Disks
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,1)
# kernel /boot/vmlinuz-version ro root=/dev/sda2
# initrd /boot/initrd-version.img
default=0
timeout=60
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
password --md5 $1$ABABABABABABABAB
hiddenmenu
title Linux
root (hd0,1)
kernel /boot/vmlinuz-custom ro root=/dev/sda2 rhgb quiet acpi=off
initrd /boot/initrd-custom.img
title Windows
rootnoverify (hd0,0)
chainloader +1
# Grub for PATA Disks
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,1)
# kernel /boot/vmlinuz-version ro root=/dev/sda2
# initrd /boot/initrd-version.img
default=0
timeout=60
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
password --md5 $1$ABABABABABABABAB
hiddenmenu
title Linux
root (hd0,1)
kernel /boot/vmlinuz-custom ro root=/dev/hda2 rhgb quiet acpi=off
initrd /boot/initrd-custom.img
title Windows
rootnoverify (hd0,0)
chainloader +1
Typically to restore grub boot loader if it has been erase accidently or by Windows. All you have to do is boot the Linux into rescue mode. Ie for Fedora or Redhat you insert the first CD and type and the prompt.
Linux rescue
And when that boots it will give you a dumb terminal. Then you proceed to run grub and restore it ie you would type this
grub
This will run the grub terminal
root (hd0,1)
I’m telling the grub terminal that’s its configuration file ie grub.conf is installed on hard disk 0, partition 2. Note that hd0 means /dev/hda2 for PATA disks but also the same for /dev/sda1. Grub makes no distinction between PATA or SATA disks. So if I specified root (hd1,2) that would mean /dev/hdb3 for PATA or /dev/sdb3 for SATA disks.
Now then to insert the boot loader you type
Setup (hd0)
Which will install the boot loader.
Now if your unsure about the mappings of the hard disk to physical /dev/hd[a-z][XX] or /dev/sd[a-z][XX] where [a-z] would represent the number of disks within the system from a to z and XX is a numeric which represents the partition number
The useful command is using the linux fdisk command to list disk and partition information.
[root@examplemachine etc]# /sbin/fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 * 1 3187 25599546 7 HPFS/NTFS
/dev/sda2 3188 6374 25599577+ 83 Linux
/dev/sda3 6375 6642 2152710 82 Linux swap / Solaris
/dev/sda4 6643 9729 24796327+ 83 Linux
Now back to my original annoying things about grub and with certain boards ie such as Intel 965 XX boards.
I boot the linux via rescue mode ie
linux rescue irqpoll all-generic-ide
I do a fdisk disk and partition mapping
[root@examplemachine etc]# /sbin/fdisk -l
Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hdk1 * 1 3187 25599546 7 HPFS/NTFS
/dev/hdk2 3188 6374 25599577+ 83 Linux
/dev/hdk3 6375 6642 2152710 82 Linux swap / Solaris
/dev/hdk4 6643 9729 24796327+ 83 Linux
I get something like this, usually the mappings should start from /dev/hdaXX or /dev/sdaXX but it starts from /dev/hdkXX. But still Windows sits in hdk1 and Linux existings in hdk2.
Fair enough then you should be able to do this (Remember grub makes no distinction for hdaXX would be applicable to /dev/hdaXX or /dev/sdaXX)
So for /dev/hdk
grub
root (hd10,1)
setup (hd10)
But no it can’t find the device when you specify the root bit. Seems like its something to do with all those missing devices ie /dev/hda, /dev/hdb which are missing up to and until /dev/hdk. Buts its mean to enumerate from a to z. But to look at /dev nothing has been assigned for /dev/hda until /dev/hdk
So what I did because I know its mean to enumerate from a to z but hasn’t. I hard link it /dev/hda ands its partitions /dev/hdk via in the /dev. Don’t worry its in the rescue mode so it won’t do anything its just to get the grub boot loader installed.
cd /dev
ln hda hdk
ln hda1 hdk1
ln hda2 hdk2
ln hda3 hdk3
ln hda4 hdk4
then I do the same (hd0 points to /dev/hda which is hard linked to /dev/hdk)
grub
root (hd0,1)
setup (hd0)
Guess what it Works now I can actually boot my system.