
Greetings!
Thanks to Wolfgang Denk, Catalin Marinas, and Peter Pearse, I now have 2.6.12-rmk1 running with base.cramfs on the PB-ARM926EJ-S. The following documentation is for reference:
I. 2.6.12-rmk1 kernel compilation HOWTO ---------------------------------------
1. Download the kernel sources 2.6.12 from kernel.org and extract it.
2. Download the 2.6.12-arm1 patch from:
http://www.arm.com/linux/linux_download.html
3. Enter into the kernel sources directory and apply the patch:
patch -p1 < /path/to/patchfile
4. Modify the Makefile to set ARCH and CROSS_COMPILE variables:
ARCH = arm CROSS_COMPILE = /usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-
5. Copy the config-versatile-pb file provided in arm.com site to the kernel sources directory as .config file.
6. To configure the kernel options:
make menuconfig
7. To compile the kernel:
make
The Image will be created under arch/arm/boot directory.
To prepare Image for u-boot, do the following:
Use the mkimage utility created under tools/ directory inside u-boot sources (when you compile the same) and do:
mkimage -A arm -O linux -T kernel -C none -a 0x7fc0 -e 0x8000 -n "Linux kernel image" -d /path/to/Image uImage
II. U-boot 1.1.2 compilation HOWTO ----------------------------------
1. Download the u-boot-1.1.2 sources. 2. Extract the sources. 3. Become root using "su -". 4. Make sure cross-toolchain 3.4.3 is installed in /usr/local/arm/. 5. Open the Makefile under u-boot and set CROSS_COMPILE to:
CROSS_COMPILE=/usr/local/arm/3.4.3/bin/arm-none-linux-gnueabi-
3. Configure using:
make versatile_config
4. Compile u-boot using:
make all
This will create u-boot, u-boot.bin and u-boot.srec files. The u-boot file is an ELF file, while the u-boot.bin is a data file. The mkimage utility will be compiled under tools/ directory that is used to create the kernel image. u-boot should _not_ be run from SDRAM directly. You should flash it and run it from there. You can also use the u-boot image provided in arm.com directly by flashing it to NOR flash and running it.
III. Flash the base.cramfs --------------------------
Copy the base.cramfs provided in arm.com site to NOR flash.
IV. Booting the system ----------------------
1. Program the images to the NOR flash. For example:
0xaabbccdd u-boot-pb 0xbbccddee uImage 0xccddeeff cramfs.base
2. Set configuration switch S1-1 to ON, power up the board, connect with kermit.
3. Enter Flash submenu, and run u-boot-pb:
run u-boot-pb
4. Copy the uImage from flash to SDRAM:
cp 0xbbccddee 0x7fc0 0x123456
(Syntax: cp <source> <target> <size>)
5. Set the bootargs value
setenv bootargs root=/dev/mtdblock0 mtdparts=armflash.0:0x65d000@0x2200000(cramfs) ip=none mem=128 console=ttyAMA0 video=vc:1-2clcdfb:
(Note: 0x65d000 is size of base.cramfs and 0x2200000 is offset of base.cramfs from the flash base address)
6. Bootup
bootm 0x7fc0
Its been a wonderful learning experience, folks!
Thanks again,
K Shakthi
-- proudly anti-micro$oft ------------------------------------------------------------ Shakthi Kannan, MS Software Engineer, Specsoft (Hexaware Technologies) [E]: shaks@shakthimaan.com [M]: (91) 98407-87007 [W]: http://www.shakthimaan.com [L]: Chennai, India ------------------------------------------------------------
__________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com