We can set arcNumber and mainlineLinux in uboot, but it's hard to do, for example, have no JTAG/Serial Console.
For more information, please see attachment.
Code:
1. board support
a. set arcNumber, for example 0x0831 (2097) to support SheevaPlug.
of couse, we need to set mainlineLinux to yes
b. add some code (8 bytes) on the front of zImage.
Machine ID |
----------/
XXYY is the machine id (arcNumber)
0690 Marvell DB-88F6281-BP Development Board
0691 Marvell RD-88F6192-NAS Development Board
0692 Marvell RD-88F6281 Reference Board
078c Marvell 88F6281 GTW GE Board
0831 Marvell SheevaPlug Reference Board
085b QNAP TS-119/TS-219
0915 Marvell OpenRD Base Board
. devio 'wl 0xe3a01cXX,4' 'wl 0xe38110YY,4'
. (echo -en '\xXX\x1c\xa0\xe3\xYY\x10\x81\xe3'; cat zImage) > zImage.XXYY
2. MTD partation
a. set mtdparts.
ref. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/mtd/cmdlinepart.c
b. modify codes
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=arch/arm/mach-kirkwood
ref. mtd_partition information in *-setup.c
for example, my DB-88F6281-BP have a mtd like this: (cat /proc/mtd)
| dev: size erasesize name
| mtd0: 00100000 00020000 "u-boot"
| mtd1: 00600000 00020000 "uImage"
| mtd2: 1f900000 00020000 "root"
then i need to replace SZ_4M as 0x6000000.
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/arm/mach-kirkwood/db88f6281-bp-setup.c
a. set arcNumber, for example 0x0831 (2097) to support SheevaPlug.
of couse, we need to set mainlineLinux to yes
b. add some code (8 bytes) on the front of zImage.
Machine ID |
----------/
XXYY is the machine id (arcNumber)
0690 Marvell DB-88F6281-BP Development Board
0691 Marvell RD-88F6192-NAS Development Board
0692 Marvell RD-88F6281 Reference Board
078c Marvell 88F6281 GTW GE Board
0831 Marvell SheevaPlug Reference Board
085b QNAP TS-119/TS-219
0915 Marvell OpenRD Base Board
. devio 'wl 0xe3a01cXX,4' 'wl 0xe38110YY,4'
. (echo -en '\xXX\x1c\xa0\xe3\xYY\x10\x81\xe3'; cat zImage) > zImage.XXYY
2. MTD partation
a. set mtdparts.
ref. http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/mtd/cmdlinepart.c
b. modify codes
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=tree;f=arch/arm/mach-kirkwood
ref. mtd_partition information in *-setup.c
for example, my DB-88F6281-BP have a mtd like this: (cat /proc/mtd)
| dev: size erasesize name
| mtd0: 00100000 00020000 "u-boot"
| mtd1: 00600000 00020000 "uImage"
| mtd2: 1f900000 00020000 "root"
then i need to replace SZ_4M as 0x6000000.
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=arch/arm/mach-kirkwood/db88f6281-bp-setup.c




