1994 1995 1996 1997 1998 1999 2000 2001 <2002> 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 <2002> 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Booting RTEMS IOC problem |
From: | Till Straumann <[email protected]> |
To: | Eric Norum <[email protected]> |
Cc: | Edwin <[email protected]>, [email protected] |
Date: | Thu, 12 Dec 2002 11:40:13 -0800 |
On Thursday, December 12, 2002, at 02:44 AM, Edwin wrote:
Dear all: I have finished building RTEMS boot images with EPICS 3.14 on Linux, Host and client are both pc386. While when I am trying to boot the IOC through BOOTP, my IOC stuck when loading the boot image "example.bt".
I wrote the /etc/bootptab file as follows: client1:hd=/epics/client1/bin:\ :vm=auto:ip=166.111.32.246:td=/tftpboot:\ :ht=ethernet:ha=0000ECD01FC7:\ :bf=example.bt:rp=/boot/client1/root
I download a bootstrap PROM image from www.rom-o-matic.net, which find my boopd service on my host pc successfully and start to download the boot image 'example.bt'. Screen prints: .Me: 166.111.32.246, Server: 166.111.32.244 Loading 166.111.32.244:/epics/client1/bin/example.bt ...(NBI)...
I believe that the 'NBI' means 'non-bootable image'.
Hmm - etherboot uses the term NBI also; there it means 'Net Boot Image' which would indicate that it indeed could be the correct image (with the startup stuff added).
From this error message I'm guessing that you copied the executable EPICS application (bin/RTEMS-pc386/example) to the TFTP server (....../bin/example.bt). The rom-o-matic network boot ROMS however require a short 16-biit startup section of code to be prepended to the EPICS application.
Here's the script which I use to do this. I called it makeBootImage and run it as
makeBootImage bin/RTEMS-pc386/example
to produce example.bt which can be copied to the TFTP server.
================================================
#!/bin/sh
set -ex
case "$#" in 1) ;; *) echo "Usage: $0 file[.exe]" >&2 ; exit 1 ;; esac n=`basename "$1" .exe`
code=2 trap 'rm -f /tmp/jnk$$.bin ; exit $code' 0 1 2 3
i386-rtems-objcopy --output-target=binary "$1" /tmp/jnk$$.bin
/opt/rtems/i386-rtems/pc386/build-tools/bin2boot "$n.bt" 0x00097E00 /opt/rtems/i386-rtems/pc386/lib/start16.bin 0x00097C00 0 /tmp/jnk$$.bin 0x00100000 0
code=0
====================================================