This is my attempt to port PPCBoot to the i386 platform. This work was sponsored by my emplyer, Omicron Ceti AB. http://www.omicron.se It is currently capable of booting a linux bzImage from flash on the AMD SC520 CDP platform. It was originally based on PPCBoot taken from the CVS October 28 2002. To compile: 1) Unpack the source tree, either from the complete tarball or from the virgin snapshot + the patch 2) Configure the source $ make sc520_cdp_comfig $ make To use this code on the CDP: 1) Make a suitable kernel, I used 2.4.19 with the mtd-support updated from the MTD CVS and a patch to allow root=/dev/mtdblock1 which I included at the end of this file. The following options in the MTD section might be useful: CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP_START=38100000 CONFIG_MTD_PHYSMAP_LEN=7a0000 CONFIG_MTD_PHYSMAP_BUSWIDTH=2 2) Program it in to the CDP flashbank with remon ppcboot.bin should be programmed att offset 0x7e000 and the kernel at offset 0. If you want to use a jffs2 root file system (not included here), it should be programmed to offset 0x100000. remon> z remon> yi remon> ns ppcboot.bin 7e0000 remon> ns bzImage 0 remon> ns image.jffs2 100000 3) Connect a terminal to the 25pin serial port at 9600bps, and start the CDP. remon> z remon> g 4) PPCboot should output some message and a prompt on the terminal, to start the kernel issue the following command: BOOT> bootm 5) The kernel should boot, and mount the root filesystem if present. We hope you find this stuff useful Daniel Engström, Omicron Ceti AB, daniel@omicron.se --- linux-2.4.19-orig/init/do_mounts.c Sat Aug 3 02:39:46 2002 +++ linux-2.4.19/init/do_mounts.c Mon Sep 23 16:21:33 2002 @@ -224,6 +224,14 @@ { "ftlc", 0x2c10 }, { "ftld", 0x2c18 }, { "mtdblock", 0x1f00 }, + { "mtdblock0", 0x1f00 }, + { "mtdblock1", 0x1f01 }, + { "mtdblock2", 0x1f02 }, + { "mtdblock3", 0x1f03 }, + { "mtdblock4", 0x1f04 }, + { "mtdblock5", 0x1f05 }, + { "mtdblock6", 0x1f06 }, + { "mtdblock7", 0x1f07 }, { NULL, 0 } };