>> 1. Read disk file into RAM >> 2. Implement custom "mem2env" command to read memory into environment >> variable, with destination variable as ${bootargs}
I've done the same (on u-boot-1.2.0) to read an upgrade script from a network file or usb pen. I called the command "setenvram" (bad choice, Wolfgang would refuse it). I'm sure later I found something similar in mainline, but now I can't find it any more. I may have overlooked another command. Although it's not ready for prime time, I paste it here. If useful I can make a proper patch against current git. /* set environment variable from ram -- ARub */ int do_setenvram(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]) { unsigned long len, i; char *addr; if (argc != 4) { printf ("Usage:\n%s\n", cmdtp->usage); return 1; } addr = (char *)simple_strtol(argv[2], NULL, 16); len = simple_strtol(argv[3], NULL, 16); if (!addr || !len) { printf ("Usage:\n%s\n", cmdtp->usage); return 1; } addr[len] = '\0'; for (i=0; i<len; i++) { /* turn newlines into semicolon */ if (addr[i]=='\n') addr[i] = ';'; /* ignore dos-style newlines */ if (addr[i]=='\r') addr[i] = ' '; /* accept sh-comments and discard them */ if (addr[i]=='#') { while (addr[i] && addr[i] != '\n') addr[i++] = ' '; i--; } } setenv(argv[1], addr); return 0; } U_BOOT_CMD( setenvram, 4, 0, do_setenvram, "setenvram - get environment variable from ram\n", "name addr maxlen\n" " - set environment variable 'name' from addr 'addr'\n" ); ------------------------------------------------------------------------- Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW! Studies have shown that voting for your favorite open source project, along with a healthy diet, reduces your potential for chronic lameness and boredom. Vote Now at http://www.sourceforge.net/community/cca08 _______________________________________________ U-Boot-Users mailing list U-Boot-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/u-boot-users