mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-27 20:58:59 +02:00
eac1cfc4ba
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15840 3c298f89-4303-0410-b956-a3cf2f4a3e73
116 lines
3.4 KiB
Diff
116 lines
3.4 KiB
Diff
--- u-boot-1.1.4.old/tools/Makefile 2007-03-22 18:17:25.000000000 +0100
|
|
+++ u-boot-1.1.4/tools/Makefile 2007-03-22 17:08:46.000000000 +0100
|
|
@@ -21,9 +21,9 @@
|
|
# MA 02111-1307 USA
|
|
#
|
|
|
|
-BINS = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX)
|
|
+BINS = img2srec$(SFX) mkimage$(SFX) envcrc$(SFX) gen_eth_addr$(SFX) bmp_logo$(SFX) ubparams$(SFX)
|
|
|
|
-OBJS = environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o
|
|
+OBJS = environment.o img2srec.o mkimage.o crc32.o envcrc.o gen_eth_addr.o bmp_logo.o ubparams.o
|
|
|
|
ifeq ($(ARCH),mips)
|
|
BINS += inca-swap-bytes$(SFX)
|
|
@@ -118,6 +118,9 @@
|
|
|
|
all: .depend $(BINS) $(LOGO_H) subdirs
|
|
|
|
+ubparams$(SFX): ubparams.o crc32.o
|
|
+ $(CC) $(CFLAGS) -o $@ $^
|
|
+
|
|
envcrc$(SFX): envcrc.o crc32.o environment.o
|
|
$(CC) $(CFLAGS) -o $@ $^
|
|
|
|
@@ -149,6 +152,9 @@
|
|
$(CC) $(CFLAGS) $(HOST_LDFLAGS) -o $@ $^
|
|
$(STRIP) $@
|
|
|
|
+ubparams.o: ubparams.c
|
|
+ $(CC) -g $(CFLAGS) -c $<
|
|
+
|
|
envcrc.o: envcrc.c
|
|
$(CC) -g $(CFLAGS) -c $<
|
|
|
|
--- u-boot-1.1.4.old/tools/ubparams.c 1970-01-01 01:00:00.000000000 +0100
|
|
+++ u-boot-1.1.4/tools/ubparams.c 2007-03-22 18:09:52.000000000 +0100
|
|
@@ -0,0 +1,78 @@
|
|
+/*
|
|
+ * ubparams.c
|
|
+ *
|
|
+ * Generate a u-boot parameter block with correct crc
|
|
+ *
|
|
+ * (C) 1007 Guthrie Consulting
|
|
+ * hamish@prodigi.ch
|
|
+ *
|
|
+ */
|
|
+
|
|
+#include <stdio.h>
|
|
+#include <stdlib.h>
|
|
+#include <string.h>
|
|
+
|
|
+#ifndef __ASSEMBLY__
|
|
+#define __ASSEMBLY__
|
|
+#endif
|
|
+#define __ASM_STUB_PROCESSOR_H__
|
|
+#include <config.h>
|
|
+#undef __ASSEMBLY__
|
|
+#include "environment.h"
|
|
+
|
|
+#define XMK_STR(x) #x
|
|
+#define MK_STR(x) XMK_STR(x)
|
|
+
|
|
+extern unsigned long crc32 (unsigned long, const unsigned char *, unsigned int);
|
|
+
|
|
+#if !defined(ENV_CRC)
|
|
+#define ENV_CRC ~0
|
|
+#endif
|
|
+
|
|
+unsigned int env_size = 0x8400;
|
|
+env_t environment = {
|
|
+ ENV_CRC,
|
|
+ "bootdelay=3\0"
|
|
+ "baudrate=115200\0"
|
|
+ "stdin=serial\0"
|
|
+ "stdout=serial\0"
|
|
+ "stderr=serial\0"
|
|
+ "partitions=mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data)\0"
|
|
+ "fbargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
|
|
+ "rdba=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/ram rw initrd=0x21200000,6000000 ramdisk_size=20000 console=/dev/ttyS0,115200,mem=32M\0"
|
|
+ "rdram=run rdba; tftp 21000000 vImage; tftp 21200000 root.squashfs; bootm 21000000\0"
|
|
+ "flash=run fbargs; bootm 0xc0042000\0"
|
|
+ "bootargs=setenv bootargs mtdparts=AT45DB642.spi0:132k(bootloader),33k(ubparams),99k(spare),1056k(linux),2112k(rootfs),33k(nvram),-(rootfs_data) root=/dev/mtdblock4 ro console=/dev/ttyS0,115200,mem=32M\0"
|
|
+ "bootcmd=bootm 0xc0042000\0"
|
|
+ "ethaddr=00:30:49:00:00:01\0"
|
|
+ "ipaddr=10.0.1.73\0"
|
|
+ "serverip=10.0.1.210\0"
|
|
+ "serial#=MX070205484\0"
|
|
+ "\0"
|
|
+ };
|
|
+
|
|
+int main(void) {
|
|
+ env_t *envptr, *source;
|
|
+ unsigned char *dataptr;
|
|
+ FILE *params;
|
|
+
|
|
+ source = &environment;
|
|
+ envptr = (env_t *)malloc(CFG_ENV_SIZE);
|
|
+ dataptr = (unsigned char *)envptr + ENV_HEADER_SIZE;
|
|
+
|
|
+ printf("Make u-boot params\n");
|
|
+ printf("Params size is %d\n", CFG_ENV_SIZE);
|
|
+
|
|
+ memset(envptr, 0, CFG_ENV_SIZE);
|
|
+ memcpy(envptr, source, sizeof(environment));
|
|
+
|
|
+ envptr->crc = crc32(0, envptr->data, ENV_SIZE);
|
|
+
|
|
+ params = fopen("params", "w");
|
|
+ fwrite(envptr, CFG_ENV_SIZE, 1, params);
|
|
+ fclose(params);
|
|
+
|
|
+ free(envptr);
|
|
+ }
|
|
+
|
|
+
|