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.