ts-7000
[Top] [All Lists]

RE: [ts-7000] new TS-7000 bootloader (Linux booting Linux)

To: <>
Subject: RE: [ts-7000] new TS-7000 bootloader (Linux booting Linux)
From: "William C. Landolina" <>
Date: Wed, 29 Nov 2006 17:55:32 -0500
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/
 

<Prev in Thread] Current Thread [Next in Thread>
Admin

Disclaimer: Neither Andrew Taylor nor the University of NSW School of Computer and Engineering take any responsibility for the contents of this archive. It is purely a compilation of material sent by many people to the birding-aus mailing list. It has not been checked for accuracy nor its content verified in any way. If you wish to get material removed from the archive or have other queries about the archive e-mail Andrew Taylor at this address: andrewt@cse.unsw.EDU.AU