This crash2225-sparc.iso image contain almost complete support for getting all your sun hardware going. Supported should be all sun4c, sun4d, sun4m, and sun4u machines. This crk is based upon RedHat 6.2 Sparc. Network, SCSI, filesystem support is included. crash2225-sparc.iso : the bootable iso, boots linux kernel 2.2.25 this kernel is build for generic sparc and sparc64 hardware. All possible stuff from kernel 2.2.25 has been enabled and possibly mostly as modules. The /usr/src/linux/.config file from RedHat 6.2 Sparc was used as a guideline. Just burn the iso with your own favorite CD-Burn program. For instance Adaptec EASY CD-Creator can do it. The minimum RAM to boot it is 16 Mb physical ram. This is because a 8 Mb ramdisk filesystem is created. At the SILO boot: prompt just type and according to your sun hardware platform the right kernel will be started, either 32 or 64bit. After booting the kernel it will load through initrd the rootrh62.img runtime. And again there are 2 versions of that rootrh62-s32.img and rootrh62-s64.img because also the glibc version is either a 32 or 64bit version. here's the one-liner to create the iso : /usr/bin/mkisofs -o /root/crash2225-sparc.raw \ -l -r -L -J -V "CRK Linux 2.2.25 Sparc" \ -P "CRK-2003110301" -p "stock" \ -A "CRK Linux 2.2.25 Sparc" \ -S boot/cd.b -B boot/second.b -s /etc/silo.conf /crk mkisofs-1.12b5-6.src.rpm was used to build mkisofs-1.12b5-6.sparc64.rpm. This rpm already contains the silo-patch to enable mkisofs to create sun bootable cdroms. here's the contents of /crk/etc/silo.conf : partition=1 read-write timeout=100 message=/etc/message.txt default=linux image[sun4u]=/boot/vmlinux64.gz label=linux alias=crk append="root=/dev/ram0 load_ramdisk=1 ramdisk_size=8192" initrd=/boot/rootrh62-s64.img root=/dev/ram0 image[sun4c,sun4d,sun4m]=/boot/vmlinux32.gz label=linux alias=crk append="root=/dev/ram0 load_ramdisk=1 ramdisk_size=8192" initrd=/boot/rootrh62-s32.img root=/dev/ram0 If you have only 16 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=16384 # mkswap /mnt/swapfile 16384 # sync # swapon /mnt/swapfile To install extented utilities like : ( vim ftp ps telnet (tiny telnet) and reiserfs utils) run : # install-cdrom After that run # /cdrom/sbin/install-utils Its convenient to run after this # /cdrom/sbin/install-modules Or just copy manually from /cdrom/utils/$(uname -m) directory tree what you really need. After running install-cdrom the cdrom is mounted on /cdrom and the modules are then inside /cdrom/modules/$(uname -m)/2.2.25/ . 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 Sun Happy Meal 10/100 fastethernet card. This card is supported under Linux by the sunhme.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.2/linux-2.2.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 sunhme.o module is rather simple : # cd /cdrom/modules/$(uname -m)/2.2.25/net # insmod sunhme.o You might even consider makeing a symlink like this : # cd /lib/modules # ln -s /cdrom/modules/`uname -m`/2.2.25 . This is however also done by /crom/sbin/install-modules. Basicly after /crom/sbin/install-modules has been run one can just run: # modprobe sunhme and even a /etc/modules.conf can 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 : 1. # vi /etc/hosts (plug in all your ip numbers and host names you are going to use .) 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 Ultra50 server died because of some error. The Ultra50 server is known on the network as u50.company.net with ip-number 192.168.1.10 and netmask 255.255.255.0. Boot the u50 server with the crash2225-sparc.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.1 workstation or server with hostname rh71.company.net and ip-number 192.168.1.21 and netmask 255.255.255.0. On the linux server rh71 configure a NFS share to be exported : [root@rh71 /]# vi /etc/exports and add this line : /backup u50(rw,no_root_squash) [root@rh71 /]# mkdir /backup [root@rh71 /]# /etc/rc.d/init.d/nfs stop [root@rh71 /]# /etc/rc.d/init.d/nfs start [root@rh71 /]# showmount -e rh71 Export list for rh71: /backup u50.company.net Now your NFS backup server rh71 is ready for use. We move over to u50 server which is booted with crash2225-sparc.iso. Make sure al modules for disk controllers like adaptec 2940U2W are loaded. Also load the UFS file system module ufs.o : mount -t ufs -o ufstype=sun /dev/sda1 /mnt Make sure /etc/hosts on the machine booted with the CRK contains at least these two lines: 192.168.1.10 u50 192.168.1.21 rh71 Next mount your SunOS and Solaris UFS partitions : # cd /lib/modules # ln -s /cdrom/modules/2.2.25 . # modprobe ufs # cd /mnt # mkdir part1 part2 # mount -t ufs -o ufstype=sun /dev/sda1 /mnt/part1 # mount -t ufs -o ufstype=sun /dev/sda2 /mnt/part2 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,rsize=8192,wsize=8192 rh71:/backup /backup Now just copy all the important data from /mnt/part1 and 2 to /backup . Getting SCSI going : 1. Make sure the apropiate scsi card module is loaded (see above) # cd /lib/modules # ln -s /cdrom/modules/`uname -m`/2.2.25 . # modprobe aic7xxx ( If you have a Adaptec aha2940U2W card) Creating extra Devices nodes : 1. Make a symlink as needed : # 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 ) Getting FAT32 going : 1. install the vfat.o module : # cd /lib/modules # ln -s /cdrom/modules/`uname -m`/2.2.25 . # modprobe vfat # mount -t vfat /dev/hda1 /mnt ( If hda1 contains a FAT32 filesystem) Recovering and re-installing SILO : 1. boot your machine with the kit. Next mount your root (/) partition on /mnt : # mount /dev/sda1 /mnt Eventually mount your boot partition on top of that : # mount /dev/sda2 /mnt/boot # vi /mnt/etc/silo.conf (adjust silo.conf ) # /mnt/sbin/silo -f -r /mnt (re-install silo relative to /mnt) Analysing your Sparc/Sparc64 hardware using openprom /proc filesystem : 1. load the openprom.o module : # modprobe openprom # cd /proc/openprom # cat model 'SUNW,501-2486' # cat name 'SUNW,Ultra-1' # cat banner-name 'Sun Ultra 1 UPA/SBus (UltraSPARC 167MHz)' # etc. Getting something else going : E-Mail me at stock@stokkie.net Robert M. Stockmann Last changed Sun Sep 22 11:57:06 CEST 2002