Hardware : Dual-Opteron 246 Motherboard Tyan S2885 SATA Drive Seagate on controller SIL3114 Network : Intel Gigabit NIC + 3COM switch SATARAID on Front-end : Adaptec 2410SA (don't work with Fedora Core 2) OS : Fedora Core 2 i386 + OSCAR 4.0 + SIS 3.5.2 (Source) Cluster : 4 Nodes + 1 Front-end = 5 nodes with OSCAR :-)
My dear Forum, Ouf !, after a long and painful way, I can boot and install Oscarimage on my node. In my recent post, I told about my misery with SIL3114 Sata Controller onboard. There is no official driver from Tyan or Silicon Image, only binary for some redhat and Suse distro (compiled against kernel 2.4.20-18). There is some OpenSource driver, with the couple Libata and Sata_Sil, but you must take care with patches. Finally, after several failure with different kernel, i built today with success a new Fedora Core 2 based boot package (kernel 2.6.5). Kernel source package come from FC2, which include drivers for my hardware. The exception is the adaptec Sata raid card, there is no driver source and only binary driver for Redhat and Suse. The main difficulty was to understand the System Image Suite logic. This is not trivial ! I have read many post on the SIS-Suite forum and Doc too, but the information to build a working boot package is spread. An official and consolidate explaination is found Chapter 5, topic :" Creating a custom boot package (http://www.systemimager.org) and others goodies here http://www.mail-archive.com/[email protected]/msg00883.htm l Here are my comments (Quote << >> reference to the SystemImager Manual, chapter 5) : ====================== BUILD YOUR BOOT PACKAGE (Kernel 2.6) : My Experience =============================== Glossary and Preliminary : ------------------------- As i will work with Kernel 2.6.5, i download the latest SIS source from SystemImager by CVS. My working SIS release is 3.5.2 (beta). This release come with Kernel 2.6.9, patches and config file (i386, x86_64, ia64 ...). The configure file is named linux.<Arch>.config and is inside the Patche directory. I tell about the SIS kernel config file now, because this is the key for success. The SIS Kernel Config file and patche are set in order to make a fonctional Boot package. SIS Boot Pakage : The boot package from SIS include three components (http://www.systemimager.org/changes/) - Modular kernel, with essential SCSI, file system, Device and Network drivers - Boel_binaries tarball : single tarball of additional binaries, which are pulled over to autoinstall clients once network connectivity is achieved http://www.linuxdevices.com/articles/AT5974781081.html . - Ramdisk (initrd.img), based upon cramfs filesystem These 3 components are built inside the SIS tree, with the command "Make binaries" and "Make install_binaries" Steps : ------- <<1. Download the source tarball for the release of SystemImager you are using from http://systemimager.org/. >> Notes : I use CVS to get the latest release << 2. Extract the source tarball and cd into the top level of the source tree. # tar xvfj systemimager-3.0.0.tar.bz2 # cd systemimager-3.0.0 >> Notes : I install the SIS tree inside my Front-end Home directory. I build an another directory said Linux-2.6.5 where I put kernel source from FC 2 media (you have it in /tftpboot/rpm too !) with this command : "rpm2cpio <MyKernel.rpm> | cpio -mid" << 3. To add a patch to the kernel, drop your patch file in the patches subdirectory of the top level build tree. >> Notes : I don't need any patch, because my Fedora kernel come with all necessary driver. However, you should correct some patch accordingly with the Linux Kernel Version you use. In my case, not. << 4 . If you need to modify the .config file for your kernel (e.g. to turn on a driver), you can find it in the patch directory named linux.<arch>.config. >> Notes : Before, I edit the "Kernel.rul" file found inside Make.d directory. I change the Kernel Version (2.6.5 instead 2.6.9). The default kernel inside SIS release 3.5.2 is Kernel named Linux-2.6.9. It is inside the directory Src and is a tar.bz2 package. I will use Kernel-2.6.5, so i rename the default kernel OLD_linux-2.6.9.tar.bz2. I compress my own kernel "linux-2.6.5" with tar and bzip2 and move it inside Src directory, in the SIS tree. I get my own .config kernel distro file from /boot. The config file is named something like "config.386smp". I rename "linux.i386.config" and put it into patch directory. Before, I back up the default SIS linux.i386.config file. Now, I set up my own kernel with the default SIS linux.<arch>.config file. By hand or with "make xconfig" (execution inside the kernel source tree), i edit my own linux.i386.config file in the same way like the default SIS config file was : i turn off all unecessary device, filesystem and turn on all necessary module, driver, arch setting.... Take care to MTRR (OFF), MODVERSION (OFF) and CRAMFS (ON). There is others SIS special settings but i don't find guide about, this is why i use the default SIS config file like a model. I build SCSI device support and SCSI drivers as module and Network driver buit-in. Now, i execute "make kernel" from the SIS tree to build my own kernel and modules. You shoud have a bzimage in /SIS tree/src/linux-2.6.5/arch/i386/boot and your driver with .ko extension inside /SIS tree/src/linux-2.6.5/kernel/drivers/scsi. << 5 . If you created a binary module, you can copy it into the initrd_source/my_modules directory. Add instructions to the INSMOD_COMMANDS file in order to have your module loaded at install time. See comments in that file for details. >> Notes : I put "mod_scsi.ko", "dep_mod.ko", "libata.ko" and "Sata_Sil.ko" inside initrd_source/my_modules directory and add into INSMOD_COMMANDS file : insmod mod_scsi.ko insmod dep_mod.ko insmod libata.ko insmod sata_sil.ko << 6. From the toplevel of the source tree, run make binaries. See the README file for details on building prerequisites. >> Notes : You are ready to build Boel_binaries Tarball, Kernel (once again) and RamDisk (wich will include my modules). Nearly building job end, i have a error with UClibc. So i figure out it byUCLIBC_ARCH_NAME be undefined in initrd.rul and end up the job with this setting. << 7. Run make install_binaries to copy the binaries built in the previous step into the appropriate place in /usr/share/systemimager/boot directory. >> Notes : You now have a new boot package, with modules like the front-end. You copy kernel and initrd from this directory to /tftpboot and edit the file pxe.config like the OSCAR manual said. When you boot node, you should see insmod mod_scsi.ko, insmod dep_mod.ko, insmod libata.ko, insmod sata_sil.ko with progress issue. Be sure to have your SCSI device in /dev. Check the file scsi to see the status. ============================================================================ = Post-install.Node : ----------------- Now, at the reboot, I have a "Kernel Panic" But, hopefully, this is a know bug with Fedora Core 2. See page 10 http://www.csm.ornl.gov/~naughton/oscar/testing/quick_install.pdf. See this bug tomorrow. Cheers, Jerome Lefèvre ------------------------------------- Laboratoire d'Océanographie Physique IRD - Nouméa - Nouvelle-Calédonie ------------------------------------------------------- This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting Tool for open source databases. Create drag-&-drop reports. Save time by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc. Download a FREE copy at http://www.intelliview.com/go/osdn_nl _______________________________________________ Oscar-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oscar-users
