To: | |
---|---|
Subject: | Re: [ts-7000] new TS-7000 bootloader (Linux booting Linux) |
From: | |
Date: | Fri, 1 Dec 2006 08:38:16 -0600 |
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 ----------------------------------
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 <*> 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: | [ts-7000] Re: new TS-7000 bootloader (Linux booting Linux), Jesse Off |
---|---|
Next by Date: | [ts-7000] ftpd crash, Robert Wasniak |
Previous by Thread: | [ts-7000] Re: Rebuilding Redboot for a TS-7260/TS-7250.. need a few hints??, guibiao |
Next by Thread: | [ts-7000] Re: new TS-7000 bootloader (Linux booting Linux), Jesse Off |
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