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.
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
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> |
---|---|---|
|
Previous by Date: | SV: [ts-7000] ftpd crash, Håkan Lager |
---|---|
Next by Date: | [ts-7000] How to change the date of ts7200 SBC, subhash singh |
Previous by Thread: | [ts-7000] Re: new TS-7000 bootloader (Linux booting Linux), Jesse Off |
Next by Thread: | Re: [ts-7000] new TS-7000 bootloader (Linux booting Linux), Marco Pracucci |
Indexes: | [Date] [Thread] [Top] [All Lists] |
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