blob: 99b3e198c4f10ce7669bcaec56d7e25ba242e6fa [file] [log] [blame]
wdenk2262cfe2002-11-18 00:14:45 +00001This is my attempt to port PPCBoot to the i386 platform. This
2work was sponsored by my emplyer, Omicron Ceti AB. http://www.omicron.se
3
4It is currently capable of booting a linux bzImage from flash on
5the AMD SC520 CDP platform.
6
7It was originally based on PPCBoot taken from the CVS October 28 2002.
8
9To compile:
10
111) Unpack the source tree, either from the complete tarball or
12 from the virgin snapshot + the patch
13
142) Configure the source
15 $ make sc520_cdp_comfig
16 $ make
17
18To use this code on the CDP:
191) Make a suitable kernel, I used 2.4.19 with the mtd-support updated
20 from the MTD CVS and a patch to allow root=/dev/mtdblock1 which I
21 included at the end of this file.
22 The following options in the MTD section might be useful:
23
24 CONFIG_MTD_PHYSMAP=y
25 CONFIG_MTD_PHYSMAP_START=38100000
26 CONFIG_MTD_PHYSMAP_LEN=7a0000
27 CONFIG_MTD_PHYSMAP_BUSWIDTH=2
28
29
302) Program it in to the CDP flashbank with remon
31 ppcboot.bin should be programmed att offset 0x7e000 and the kernel at
32 offset 0. If you want to use a jffs2 root file system (not included here),
33 it should be programmed to offset 0x100000.
34
35 remon> z
36 remon> yi
37 remon> ns ppcboot.bin 7e0000
38 remon> ns bzImage 0
39 remon> ns image.jffs2 100000
40
413) Connect a terminal to the 25pin serial port at 9600bps, and start the CDP.
42
43 remon> z
44 remon> g
45
464) PPCboot should output some message and a prompt on the terminal, to
47 start the kernel issue the following command:
48
49 BOOT> bootm
50
515) The kernel should boot, and mount the root filesystem if present.
52
53We hope you find this stuff useful
54Daniel Engstrรถm, Omicron Ceti AB, daniel@omicron.se
55
56
57
58--- linux-2.4.19-orig/init/do_mounts.c Sat Aug 3 02:39:46 2002
59+++ linux-2.4.19/init/do_mounts.c Mon Sep 23 16:21:33 2002
60@@ -224,6 +224,14 @@
61 { "ftlc", 0x2c10 },
62 { "ftld", 0x2c18 },
63 { "mtdblock", 0x1f00 },
64+ { "mtdblock0", 0x1f00 },
65+ { "mtdblock1", 0x1f01 },
66+ { "mtdblock2", 0x1f02 },
67+ { "mtdblock3", 0x1f03 },
68+ { "mtdblock4", 0x1f04 },
69+ { "mtdblock5", 0x1f05 },
70+ { "mtdblock6", 0x1f06 },
71+ { "mtdblock7", 0x1f07 },
72 { NULL, 0 }
73 };
74