This crash24375.iso image contain almost complete support for getting all your hardware going on a Intel i386/i486/i586/i686/x86_64 Pentium Pro and Pentium II III 4 systems. All AMD CPU's like Athlon T-bird XP, Duron and Cyrix CPU's and Opteron and Athlon64 should be no problem either. Network, SCSI, USB, filesystem (also ext3) support is included. I use these images always first when I get a new Intel based system in front of me. crash24375.iso : the bootable iso, boots linux kernel 2.4.37.5 this kernel is build for a i386. All possible stuff from kernel 2.4.37.5 has been enabled and possibly mostly as modules. Just burn the iso with your own favorite CD-Burn program. For instance Adaptec EASY CD-Creator can do it. see also 'HOWTO burn your DVD/CD ISO inside a Windows environment' at : http://crashrecovery.org/CrashRecoveryKit/README-BURNING-ISOS-en_US.html Here's the one-liner to burn it from a Linux system : cdrecord -v dev=ATA:1,0,0 driveropts=burnfree -dao crash24375.iso where dev=ATA:1,0,0 is /dev/hdc, your primary IDE DVD-ROM at the second IDE controller. primary/master ( /dev/hda ): DEVICE = ATA:0,0,0 primary/slave ( /dev/hdb ): DEVICE = ATA:0,1,0 secondary/master ( /dev/hdc ): DEVICE = ATA:1,0,0 secondary/slave ( /dev/hdd ): DEVICE = ATA:1,1,0 The minimum RAM to boot it is 48 Mb physical ram. This is because a 32 Mb ramdisk filesystem is created. After booting the kernel it will loads through initrd the rootrh73.img runtime. The thing has gone to big and i'm not able anymore to use 2.88 Mb floppy-emulation with mkisofs to make cdboot.img bootable inside my iso. Instead i now use the disk-emulation option. here's the one-liner to create the disk-emulated iso : /usr/bin/mkisofs -o crash24375.iso \ -b boot/diskimage.img -c boot/boot.catalog \ -hard-disk-boot -allow-leading-dots \ -l -r -J -publisher "CRK-2009083002" -p "stock" \ -V "CRK for Linux 2.4.37.5" \ -A "CRK for Linux 2.4.37.5" \ "/mnt/data/crash.2.4.37.5" here's the one-liner to create the isolinux iso : /usr/bin/mkisofs -o crash24375-rh73-isolinux.iso \ -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -allow-leading-dots -hide-joliet-trans-tbl \ -l -r -J -publisher "STOCK-2009083004" -p "stock" \ -V "CRK Linux 2.4.37.5-rh73 isolin" \ -A "CRK Linux 2.4.37.5-rh73 isolin" \ "/mnt/data/crash.2.4.37.5" The downside with disk-emulation is i have to use a physical partition on my first harddisk (/dev/sda /dev/sda1) to manipulate the contents of diskimage.img. The procedure to activate lilo is : # fdisk /dev/sda Command (m for help): p Disk /dev/sda: 255 heads, 63 sectors, 555 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 1 8001 83 Linux Command (m for help): q # mount /dev/sda1 /mnt/root # cd /mnt/root # lilo -C etc/lilo.conf # sync # sync # cd / # umount /mnt/root # dd if=/dev/sda of=diskimage.img bs=1k count=32768 here's the contents of /mnt/root/etc/lilo.conf : boot=/dev/sda map=boot/map install=boot/boot.b message=etc/message.txt compact prompt image=vmlinuz label=linux append="root=/dev/ram0 ramdisk_size=32768" initrd=boot/rootrh73.gz root=/dev/ram0 read-only IMPORTANT!! : If you use the procedure outlined above always rerun lilo on your ordinary /etc/lilo.conf . Otherwise you will only be able to boot your CRK for Linux 2.4.37.5 from harddisk ( i.e. /dev/sda1 ) afterwards. With every release of CRK for 2.4.x i will include a tar.gz tarball of the contents of the /dev/sda1 partition described above. It will be on the CRK cdrom and as a seperate download. They are located inside the boot directory and called in this case diskfiles24375.tar.gz . If you have only 48 Mb physical RAM and want to use some of the modules on the cdrom then for instance mount first a filesystem (e.g. msdos) and install a swapfile : login as root, no password required :) # mount -t msdos /dev/hda1 /mnt # dd if=/dev/zero of=/mnt/swapfile bs=1024 count=65536 # mkswap /mnt/swapfile # sync # swapon /mnt/swapfile To install extented utilities like : ( vim ftp ps telnet (tiny telnet) and reiserfs utils) run : # install-cdrom ( the install-cdrom _script_ might fail when you boot from a scsi cdrom i.e. /dev/scd0. However crash24375.iso has support for sr0 and has all regular onboard SATA controllers inside vmlinuz. So booting and mounting from a SATA DVD-ROM (/dev/scd0) or when it gets translated into a virtual IDE DVD-ROM (/dev/hda) through the BIOS will work, even with the install-cdrom script for hda -- hdd.) After that run # /cdrom/sbin/install-utils Or just copy manually from /cdrom/utils directory tree what you really need. After running install-cdrom the cdrom is mounted on /cdrom and the modules are then inside /cdrom/modules/2.4.37.5/. To use a module just find it inside the modules directory tree and just do a insmod module.o. Say for instance you have a Intel(R) PRO/1000 PCI-Express Gigabit Ethernet card. Locate the apropiate module inside modules.list. The Dual Intel® 82574L PCI-E Gigabit is supported under Linux by the e1000e.o module. ( To find out which module name is supporting which hardware I, at this time of writing, point to the Linux kernel source. This source can be found at : ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.x.tar.gz ) I have included the kernel source Documentation inside /cdrom/modules/Documentation though. Inside /cdrom/modules/dev is now the MAKEDEV package. See below how to use it. Installing the e1000e.o module is rather simple : # cd /cdrom/modules/2.4.37.5/kernel/drivers/net # insmod e1000e.o You might even consider makeing a symlink like this : # cd /lib/modules # ln -s /cdrom/modules/2.4.37.5 . This version of the crk creates this symlink after running install-utils. Then loading the driver with modprobe : # modprobe e1000e e1000e: Intel(R) PRO/1000 Network Driver - 0.5.11.2 e1000e: Copyright (c) 1999-2008 Intel Corporation. PCI: Setting latency timer of device 0d:00.0 to 64 Intel Corp. 82574L Gigabit Network Connection 0d:00.0: Failed to initialize MSI-X interrupts. Falling back to MSI interrupts. Intel Corp. 82574L Gigabit Network Connection 0d:00.0: Failed to initialize MSI interrupts. Falling back to legacy interrupts. Intel Corp. 82574L Gigabit Network Connection 0d:00.0: (PCI Express:2.5GB/s:Width x1) f797c07cM Intel Corp. 82574L Gigabit Network Connection 0d:00.0: Intel(R) PRO/1000 Network Connection Intel Corp. 82574L Gigabit Network Connection 0d:00.0: MAC: 4, PHY: 8, PBA No: 0101ff-0ff PCI: Setting latency timer of device 0f:00.0 to 64 Intel Corp. 82574L Gigabit Network Connection (#2) 0f:00.0: Failed to initialize MSI-X interrupts. Falling back to MSI interrupts. Intel Corp. 82574L Gigabit Network Connection (#2) 0f:00.0: Failed to initialize MSI interrupts. Falling back to legacy interrupts. Intel Corp. 82574L Gigabit Network Connection (#2) 0f:00.0: (PCI Express:2.5GB/s:Width x1) f7e6807cM Intel Corp. 82574L Gigabit Network Connection (#2) 0f:00.0: Intel(R) PRO/1000 Network Connection Intel Corp. 82574L Gigabit Network Connection (#2) 0f:00.0: MAC: 4, PHY: 8, PBA No: 0101ff-0ff With crash24375.iso modprobe can be used after /cdrom/sbin/install-utils has been executed. Even a /etc/modules.conf can then be used, but I haven't tested that yet. Linking the modules directory on cdrom to /lib/modules (like above shown) is i think now the easiest thing to do. After you have fired up all the modules you need, you can just umount /cdrom so your own cdrom disks can be inserted. Getting the network going : 1a. # vi /etc/hosts (plug in all your ip numbers and host names you are going to use .) 1b. # vi /etc/resolv.conf (if you have a nameserver on your network, its recommended to use and configure resolv.conf instead .) # cat /etc/resolv.conf domain company.net search company.net . nameserver 192.168.1.10 nameserver 192.168.1.15 2. Make sure the apropiate ethernet card module is loaded (see above) # cd /etc/sysconfig/network-scripts # cp ifcfg-eth0.org ifcfg-eth0 # vi ifcfg-eth0 (plug your ip number and netmask and broadcast address) # cd /etc/rc.d/init.d # ./network stop ; ./network start # ping hostname ( ping some host on the network ) Mounting a remote NFS share to make a backup over the network : 1. Here's a example : Imagine that your win2k3 server died because of a faulty service pack install. The win2k3 server is known on the network as win2003.company.net with ip-number 192.168.1.10 and netmask 255.255.255.0. Boot the win2k server with the crash24375.iso and configure the network as outlined above using 192.168.1.10 as the ip-number. Also on the network is running your redhat 7.3 workstation or server with hostname rh73.company.net and ip-number 192.168.1.21 and netmask 255.255.255.0. On the linux server rh73 configure a NFS share to be exported : [root@rh73 /]# vi /etc/exports and add this line : /backup win2003(rw,no_root_squash) [root@rh73 /]# mkdir /backup [root@rh73 /]# /etc/rc.d/init.d/nfs stop [root@rh73 /]# /etc/rc.d/init.d/nfs start [root@rh73 /]# showmount -e rh73 Export list for rh73: /backup win2003.company.net Now your NFS backup server rh73 is ready for use. We move over to win2k3 server which is booted with crash24375.iso. Make sure al modules for disk controllers like adaptec 2940U2W are loaded. Also load the NTFS file system module ntfs.o . Make sure /etc/hosts on the machine booted with the CRK contains at least these two lines: 192.168.1.10 win2003 192.168.1.21 rh73 Next mount your NTFS partitions : # cd /lib/modules # ln -s /cdrom/modules/2.4.37.5 . # modprobe ntfs # cd /mnt # mkdir part1 part2 part3 # mount -t ntfs -oro /dev/sda1 /mnt/part1 # mount -t ntfs -oro /dev/sda2 /mnt/part2 # mount -t ntfs -oro /dev/sdb1 /mnt/part3 Next make sure you have the portmapper running and then mount the NFS share. Its important that the ip-number you configured on your network card (eth0) is known by the nfsserver inside its /etc/exports. If the ip number you used is known by the local DNS servers, then use the hostname of that ip-number inside /etc/exports. # /sbin/portmap # mkdir /backup # mount -t nfs -orw rh73:/backup /backup Now just copy all the important data from /mnt/part1 2 and 3 to /backup . Getting SCSI/SAS/SATA going : 1. Make sure the apropiate scsi/sas/sata card module is loaded (see above) # cd /lib/modules # ln -s /cdrom/modules/2.4.37.5 . # modprobe 3w-9xxx ( If you have a 3Ware 9xxx card like e.g. the 3Ware 9690SA PCI-E : 3ware 9000 Storage Controller device driver for Linux v2.24.07.004. 3w-9xxx: scsi3: Found a 3ware 9000 Storage Controller at 0xda200000, IRQ: 16. 3w-9xxx: scsi3: Firmware FH9X 4.08.00.006, BIOS BE9X 4.08.00.001, Ports: 128. scsi3 : 3ware 9000 Storage Controller Vendor: AMCC Model: 9690SA-4I DISK Rev: 4.08 Type: Direct-Access ANSI SCSI revision: 05 Vendor: AMCC Model: 9690SA-4I DISK Rev: 4.08 Type: Direct-Access ANSI SCSI revision: 05 Attached scsi disk sda at scsi3, channel 0, id 0, lun 0 Attached scsi disk sdb at scsi3, channel 0, id 1, lun 0 SCSI device sda: 976541696 512-byte hdwr sectors (499989 MB) Partition check: sda:<7>ldm_validate_partition_table(): Found an MS-DOS partition table, not a dynamic disk. sda1 sda2 SCSI device sdb: 976541696 512-byte hdwr sectors (499989 MB) sdb:<7>ldm_validate_partition_table(): Found an MS-DOS partition table, not a dynamic disk. sdb1 sdb2 # tw_cli /c3 show driver model memory firmware bios monitor \ serial pcb pchip achip ctlbus /c3 Driver Version = 2.24.07.004 /c3 Model = 9690SA-4I /c3 Available Memory = 448MB /c3 Firmware Version = FH9X 4.08.00.006 /c3 Bios Version = BE9X 4.08.00.001 /c3 Boot Loader Version = BL9X 3.08.00.001 /c3 Serial Number = L340524A9220024 /c3 PCB Version = Rev 044 /c3 PCHIP Version = 2.00 /c3 ACHIP Version = 1.31A4 /c3 Controller Bus Type = PCIe /c3 Controller Bus Width = 8 lanes /c3 Controller Bus Speed = 2.5 Gbps/lane Creating extra Devices nodes : 1. Make a symlink as needed : # cd /etc # ln -s /cdrom/modules/dev/makedev.d . # cd /dev # cp /cdrom/modules/dev/MAKEDEV . # ./MAKEDEV rd/c0d0 ( DAC960 device nodes for controller0 disk0) # ./MAKEDEV ida/c0d0 ( Compaq Smart Array device nodes for c0d0 ) # ./MAKEDEV ataraid/d0 ( IDE RAID device nodes for disk0) Getting FAT32 going : 1. install the vfat.o module : # cd /lib/modules # ln -s /cdrom/modules/2.4.37.5 . # modprobe vfat # mount -t vfat /dev/hda1 /mnt ( If hda1 contains a FAT32 filesystem) Getting EXT3 going : 1. install the ext3.o module : ( With crash24375.iso ext3.o gets loaded automaticly when you mount a ext3 filesystem. Below commands are an example of how to convert from ext2 to ext3 and back.) # cd /lib/modules # ln -s /cdrom/modules/2.4.37.5 . # modprobe ext3 # mkfs.ext3 /dev/hda1 ( make a journalled ext3 filesystem ) # mount /dev/hda1 /mnt ( /dev/hda1 is mounted after this as ext3, with ps ax , you can see a extra kjournald is fired up ) # umount /mnt # fsck.ext3 /dev/hda1 ( filesystem check for ext3 , -f option will force a check ) # mkfs.ext2 /dev/hda1 ( make a ordinary ext2 filesystem ) # mount /dev/hda1 /mnt ( /dev/hda1 is mounted as ext2 ) # umount /mnt # tune2fs -j /dev/hda1 ( the ext2 filesystem of /dev/hda1 is converted to ext3 ) # mount /dev/hda1 /mnt ( /dev/hda1 is now mounted as ext3 ) # mount ( double check to see how your partitions are mounted ) Getting PCMCIA going : 1. Make sure the cdrom is mounted on /cdrom and run /cdrom/sbin/install-pcmcia . Next edit ifcfg-eth0 like outlined above in case of a pcmcia network card. Then run this : # /etc/rc.d/init.d/pcmcia start ( insert your pcmcia card , and thats it) Recovering and re-installing LILO : 1. boot your machine with the kit. Next mount your root (/) partition on /mnt : # mount /dev/hda1 /mnt Eventually mount your boot partition on top of that : # mount /dev/hda2 /mnt/boot # vi /mnt/etc/lilo.conf (adjust lilo.conf ) # /mnt/sbin/lilo -r /mnt (re-install lilo relative to /mnt) Newer versions of lilo even might need this syntax: # /mnt/sbin/lilo -r /mnt -w Getting something else going : E-Mail me at stock@stokkie.net Robert M. Stockmann Tue Sep 1 02:05:55 CEST 2009