First of all, you'll need a cross-compiler environment ready like CYGWIN or Linux, then you need the CVS kernel, then compile, then upload/test it. More detailed instructions follows:
// SETUP OUR WORK DIR # mkdir -p /usr/src/hri // CVS CHECKOUT OF UCLINUX MODULE FOR REGISTERED USERS # export CVS_RSH=ssh # cvs -z9 -d:ext:$EMAIL:/cvsroot/hri co uClinux // FIXME: test anonymous example # cvs -z9 -d:pserver:anonymous@cvs.sf.net:/cvsroot/hri co uClinux // FIXME: download and install sample .config on uClinux/ dir // SAMPLE CONFIG_CMDLINE for ramdisk boot: CONFIG_CMDLINE="ro console=ttyS0 single root=/dev/ram0" // SAMPLE CONFIG_CMDLINE for nfs mounting: CONFIG_CMDLINE="ro console=ttyS0 single root=/dev/nfs nfsroot=put.server.ip.addr:/nfs ip=this.unit.ip.addr:put.server.ip.addr:put.default.gw.ipaddr:255.255.255.0:hostname-smc:eth0:off" // FIXME: add server side instructions // remember to download and install ramdisk.img from CIJ on uClinux/ dir!! // to be able to make zImage and include a ramdisk on kernel, you will need to: // 1. edit arch/armnommu/Makefile, comment the line TEXTADDR (until we fix CVS) ifeq ($(CONFIG_ARCH_CX84200),y) TEXTADDR = 0x00008000 ifeq ($(CONFIG_CX84200_SMC),y) # TEXTADDR = 0x00040000 endif MACHINE = cx84200 endif // 2. edit arch/armnommu/boot/Makefile, change ZRELADDR & ZTEXTADDR as follow ifeq ($(CONFIG_ARCH_CX84200),y) ZRELADDR = 0x00008000 ZTEXTADDR = 0x00000000 ifeq ($(CONFIG_CX84200_SMC),y) # ZRELADDR = 0x00040000 # ZTEXTADDR = 0x00000000 ZRELADDR = 0x00008000 ZTEXTADDR = 0x00040000 INITRD_PHYS = 0x00700000 endif endif // 3. if you wan't to NFS mount and don't bother the ramdisk, forget // the above patches/ramdisk.img and issue "make Image" instead // of "make zImage" -- CVS is capable of make Image only // 4. remember to choose ARM/SMC/CX84200 options (make menuconfig, System Type) // 5. ATTENTION: if you don't add serial and console, won't see anything! CONFIG_SERIAL_CX84200=y CONFIG_SERIAL_CX84200_CONSOLE=y // NOW WE'RE GOING TO COMPILE THE KERNEL WITH RAMDISK INCLUDED ON IT # cd /usr/src/hri/uClinux # make clean // remember to pick the sample .config!! important lines here are // (for make zImage/ramdisk.img included on kernel): CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=1024 CONFIG_BLK_DEV_INITRD=y CONFIG_BLK_DEV_RAMDISK_DATA=y CONFIG_BLK_DEV_RAMDISK_DATA_IN_RAM=y # make oldconfig # make dep # make zImage // if you forget to add ramdisk.img it will fail. add it and make zImage again! // when kernel compiles, it will reside on arch/armnommu/boot (Image or zImage) # cp /usr/src/hri/uClinux/arch/armnommu/boot/zImage /tmp/zImage-smc // now upload /tmp/zImage-smc to hardware, 0x40000 and execute it there YOU'RE DONE FOR NOW!
Reported on the list on 28/Jan/2004.