Downloading and Configuring PCI & Super I/O For Linux

From RCSWiki

Revision as of 20:12, 19 September 2008 by Bhuang2 (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Getting Started

  1. Create your project directory within which everything will reside
  2. Create a build directory for your hardware base system (I typically call this build or hw)
  3. Create mkrootfs directory which will be used to create the root file system
  4. Download Mainline Linux 2.6.10
    • Although Xilinx Git Repository is currently more popular in Xilinx's FPGA designs, it 's recommended to use an old version Linux for projects that required PCI & Super I/O functions on ML-410. At the time of this writing, PCI & Super I/O functions are not directly supported by Xilinx Git Repository. Other mainline Linux kernel of which the version is higher than 2.6.20 has updated Super I/O driver to version 0.25. Our work has been proved feasible on Linux 2.6.10 with all functions working smoothly.
    • wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.gz
    • tar xzf linux-2.6.10.tar.gz
    • This will create a directory called linux-2.6.10 which we will configure later

Configuring PCI & Super I/O for Linux

  1. Set cross-compiler to gcc-3.4.5-glibc-2.3.6
  2. Change directories into linux-2.6.10 directory
  3. Use a similar configuration from ppc405-based platform "Walnut"
    • make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- walnut_defconfig
  4. Then make the next changes in the Menu
    • make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- menuconfig
  5. Menu Configuration Changes (Depending on Situation you may make more / less)
    • Processor --->
      • IBM 4xx options --->
        • Machine Type ---> Xilinx_ML300
    • Platform options
      • Set Initial kernel command string to console=ttyS0,115200 root=/dev/ram
    • Bus options
      • Check PCI device name database
      • Make sure that PCI support and Legacy /proc/pci interface are checked
    • Device Drivers
      • Block devices --->
        • Set Default RAM disk size (kbytes) to 65536
      • ATA/ATAPI/MFM/RLL support
        • Check ATA/ATAPI/MFM/RLL support
        • Check Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
          • Check Include IDE/ATA-2 DISK support
          • Check Include IDE/ATAPI CDROM support
          • Check PCI IDE chipset support
            • Check Generic PCI IDE Chipset Support
            • Check Generic PCI bus-master DMA support
              • Check Use PCI DMA by default when avaiable
              • Check ALI M15x3 chipset support
      • SCSI device support
        • Check SCSI device support
        • Check SCSI disk support
        • Check SCSI CDROM support
        • Check SCSI generic support
      • USB support
        • Check Support for Host-side USB
          • Check USB verbose debug messages
          • Check USB device filesystem
          • Check OHCI HCD support
          • Check USB Mass Storage support
    • File systems
      • Check Ext3 journalling file system support
      • Check Minix fs support (As an example, we will later mount a Minix file system on a ATA hard drive)
      • CD-ROM/DVD Filesystems --->
        • Check ISO 9660 CDROM file system support
        • Check Microsoft Joliet CDROM extensions
      • DOS/FAT/NT Filesystems --->
        • Check MSDOS fs support
        • Check VFAT (Windows-95) fs support
      • Partition Types --->
        • Check PC BIOS (MSDOS partition tables) support
        • Check Minix subpartition support(As an example, we will later mount a Minix file system on a ATA hard drive)
      • Native Language Support --->
        • Check Codepage 437 (United States, Canada)
  6. Make sure the xparameters_ml40x.h from Hardware Base System is copied to:
    • linux-2.6-xlnx/arch/ppc/platform/4xx/xparameters/xparameters_ml300.h




Continue on with the Configuring Root File System

Personal tools