ts-7000
[Top] [All Lists]

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

To:
Subject: Re: [ts-7000] Re: new TS-7000 bootloader (Linux booting Linux)
From:
Date: Fri, 1 Dec 2006 13:18:17 -0600

That appears to be the problem.

Funny.  It appeared kind of random until I finally found that if I left the gFTP open from my Debian desktop machine and ran bootload the md5sum values would change and the files would be corrupted (giving me faults if I tried to insmod or run).

But if I ensure the gFTP is closed the files remain uncorrupted and everything works well after the command is run.

Thanks for pointing me in the right direction.

I still have an issue or two with the rtai kernel rebooting... it works if I load it from redboot but not if I use the bootload executable (the non-rtai kernel works either way)... but I guess I need to look at how I built the kernel.



"Jesse Off" <>
Sent by:

12/01/2006 10:31 AM
Please respond to

To
cc
Subject
[ts-7000] Re: new TS-7000 bootloader (Linux booting Linux)





Thats very odd.

I just tested a TS-7250 again and had no problem with the insmod.

The insmod runs the module_init routine on load and that routine is
like 6 lines of code and very generic.  

Could you verify the md5sum of your bootloader.o file?

Here's mine:

sh-2.05a# md5sum /lib/modules/2.4.26-
ts11/kernel/drivers/char/bootloader.o
ad729068562df0a42b5dc2a427cb189d  /lib/modules/2.4.26-
ts11/kernel/drivers/char/bootloader.o

//Jesse Off
--- In wrote:
>
> I tried to load bootloader.o with insmod and got the following:
> (I'm running ts7250 2.4.26-ts11 #3)
>
> ----------------------------------
> /sbin/insmod bootloader.o
>
> Using bootloader.o
> Warning: loading bootloader will taint the kerneUnable to handle
kernel
> NULL pointer dereference at virtual address 00000010
> l: non-GPL lpgd = c4094000
> icense - Pro[00000010] *pgd=prietary
>   050b4801See http://w, *pmd = ww.tux.org/l050b4801kml/#export-,
*pte =
> tainted for 00000000information , *ppte = 00000000about tainte
> d modules
> Internal error: Oops: 7
> CPU: 0
> pc : [<c03400c4>]    lr : [<c02be93c>]    Tainted: P
> sp : c10a7ee8  ip : 00000000  fp : c50fa380
> r10: 0018a1c0  r9 : c10a6000  r8 : ffffffea
> r7 : c0372404  r6 : c037241c  r5 : d4028b4c  r4 : c039733c
> r3 : 00000002  r2 : 80000013  r1 : 0000002f  r0 : 00000010
> Flags: nzCv  IRQs on  FIQs on  Mode SVC_32  Segment user
> Control: C000317F  Table: 04094000  DAC: 00000015
> Process insmod (pid: 86, stack limit = 0xc10a6368)
> Stack: (0xc10a7ee8 to 0xc10a8000)
> 7ee0:                   00000060 ffffffea 00000000 d4028000
00000000
> d4028000
> 7f00: d10b1000 00000060 d4028380 00000000 c023b530 0000000a
d10b1000
> c50ac000
> 7f20: d4036000 00000060 d402c000 d4028060 00000ca0 00000000
00000000
> 00000000
> 7f40: 00000000 00000000 00000000 00000000 00000000 00000000
00000000
> 00000000
> 7f60: 00000000 00000000 00000000 00000000 00000000 00000000
00000000
> 00000000
> 7f80: 00000000 00000028 00000ca0 0018a1c0 00000080 c022d704
c10a6000
> 00000ca0
> 7fa0: 00000000 c022d560 00000ca0 0018a1c0 00900080 0017f3f8
0018a1c0
> 00000000
> 7fc0: 00000028 00000ca0 0018a1c0 d4028000 0017f3f8 0008b0a0
00000ca0
> 7ffffe54
> 7fe0: 7fffda4c 7fffda40 0006aecc 2ac3f130 60000010 00900080
00000000
> 003bc001
> Backtrace:
> Backtrace aborted due to bad frame pointer <c50fa380>
> Code: e1a00000 e1a00000 e1a00000 e20110ff (e4d02001)
> Segmentation fault
> ----------------------------------
>
>  
>
>
>
>
> "Jesse Off" <>
> Sent by:
> 11/29/2006 04:33 PM
> Please respond to
>
>
>
> To
>
> cc
>
> 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/


__._,_.___


SPONSORED LINKS
Single board computer Hardware Computer running slow
Linux os Single board

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: =Email Delivery: Digest | m("yahoogroups.com?subject","ts-7000-fullfeatured");=Change Delivery Format: Fully Featured">Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | =Unsubscribe

__,_._,___
<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