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

Reply via email to