What's the chance of getting a version of this for your NetBSD port?
I'm at the point of having to write a custom bootloader or doing
something like this myself.
I recently talked one of my customers through upgrading the kernel in
flash via RedBoot. I don't want to do that again...
Thanks,
Bill Landolina
-----Original Message-----
From: On Behalf
Of Jesse Off
Sent: Wednesday, November 29, 2006 5:34 PM
To:
Subject: [ts-7000] new TS-7000 bootloader (Linux booting Linux)
Hey all,
We've just written a utility to allow arbitrary loading and
execution of kernels within an already booted Linux. We believe
this is the perfect complement to the already super-fast Linux
bootstrap on the TS-7xxx. Our opinion is that instead of using or
developing another high functionality bootloader (uBoot, RedBoot,
GRUB, etc..), we'd just as well use Linux itself as the bootloader
of choice!
This utility will work on all of our TS-7000 boards and is comprised
of two files:
ftp://ftp.embeddedarm.com/bootloader.o - Linux kernel module
ftp://ftp.embeddedarm.com/bootload - Linux executable
The 'bootload' program "--help" output is provided below:
$ bootload --help
Usage: bootload [OPTION] FILE
Linux to Linux bootloader - (re)boots a TS-7xxx board to another
kernel, OS
image, or raw executable by replacing the running Linux kernel.
General options:
-c, --cmdline=CMD Use CMD as the Linux kernel boot args
-r, --initrd=FILE Use FILE for Linux initial ramdisk
-s, --initrdsz=SZ Only read SZ bytes from the initrd file
-b, --base=ADDR Load the image at ADDR instead of 0x218000
--version Print version and copyright information
-h, --help This help
When FILE is -, reads from standard input.
Report bugs to <>
$
With this relatively simple facility, it is possible to use the full
functionality of the Linux kernel to catalog, retreive, and load
Linux kernels and other OS images.
Also, reboots through this mechanism become virtually
instantaneous. This isn't as big of a deal on the TS boards since
power-on-reset only takes 1.10 seconds anyway (TS-7xxx's do not have
the ridiculous power-on firmware and BIOS that x86 PC's have)
Some of the possibilities include:
*) Safe and atomic kernel updates by using kernels stored on the
YAFFS2 flash filesystem.
*) Auto-select a fallback kernel and root filesystem in case of
botched field update or hardware watchdog expiry. A Linux shell
script can control what gets passed as kernel command line arguments.
*) Boot Linux kernels and other operating systems via wget command
(FTP, HTTP, etc..) TFTP, ZMODEM serial, NFS, USB flash dongle, etc...
Some "one-line" examples of usage:
Boot a compressed kernel image:
$ bunzip -c vmlinux.bin.bz2 | bootload -
Reboot a kernel, but pass the 1MB running ramdisk to the new kernel:
$ mount -o remount,ro /dev/rd/0 /
$ bootload -c "console=ttyAM0,115200 root=/dev/ram0" -r /dev/rd/0 \
-r 0x100000
Boot one of 2 kernels based on the state of DIO line #7:
$ if dio_data_get 7; then bootload vmlinux.backup.bin; else \
bootload vmlinux.bin; fi
//Jesse Off
Yahoo! Groups Links
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/ts-7000/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/ts-7000/join
(Yahoo! ID required)
<*> To change settings via email:
<*> To unsubscribe from this group, send an email to:
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|