Downloading and Configuring PCI & Super I/O For Linux
From RCSWiki
Getting Started
- Create your project directory within which everything will reside
- Create a build directory for your hardware base system (I typically call this build or hw)
- Create mkrootfs directory which will be used to create the root file system
- 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
- Set cross-compiler to gcc-3.4.5-glibc-2.3.6
- Change directories into linux-2.6.10 directory
- Use a similar configuration from ppc405-based platform "Walnut"
- make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- walnut_defconfig
- Then make the next changes in the Menu
- make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- menuconfig
- Menu Configuration Changes (Depending on Situation you may make more / less)
- Processor --->
- IBM 4xx options --->
- Machine Type ---> Xilinx_ML300
- IBM 4xx options --->
- 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
- Check Support for Host-side USB
- Block devices --->
- 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)
- Processor --->
- 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
