Hi Mike,
Right, I’ve tried to make my current RTEMS7 development with BeagleBon Black available in a public repository:
git clone --recurse-submodules https://github.com/hjunkes/RTEMS_BBB.git
In it, you’ll find RTEMS installation scripts, as well as my modifications to the kernel and rtems-libbsd.
EPICS is also included, with epics-base and support modules such as pvxs in epics-support.
There is also an FHI folder containing an example IOC (beaglePyroIOC).
In epics-base/modules/libcom/RTEMS/posix/rtems_init.c ist der NTP host hard coded.
And here are the DHCP settings for the BBB:
{
"options": [
{
"name": "user-class",
"num": 77,
"value": "/Volumes/Epics/BEAGLEBONE/beaglePyroIOC/iocBoot/iocbeaglePyroIOC/st.cmd",
"vendor_class": "DHCP"
},
{
"name": "ntp-servers",
"num": 42,
"value": "141.14.138.238",
"vendor_class": "DHCP"
},
{
"name": "tftp-server-name",
"num": 66,
"value": "141.14.131.192:/Volumes/Epics",
"vendor_class": "DHCP"
},
{
"name": "rtems-cmdline",
"num": 129,
"value": "/Volumes/Epics/BEAGLEBONE/beaglePyroIOC/iocBoot/iocbeaglePyroIOC/st.cmd",
"vendor_class": "DHCP"
},
{
"name": "bootfile-name",
"num": 67,
"value": "/Volumes/Epics/BEAGLEBONE/beaglePyroIOC/bin/RTEMS-beagleboneblack/beaglePyroIOC",
"vendor_class": "DHCP"
},
{
"name": "host-name",
"num": 12,
"value": "beaglebone",
"vendor_class": "DHCP"
},
{
"name": "dhcp-lease-time",
"num": 51,
"use_option": false,
"value": "43200",
"vendor_class": "DHCP"
}
]
}
HTH, Heinz
------------------------------------------------------------------------------
Fritz-Haber-Institut | Phone: (+49 30) 8413-4270
Heinz Junkes | VC: https://zoom.fhi.berlin/junkes
Faradayweg 4-6 | Visitors: Hittorfstrasse 29 (Bld S (Slough House) )
D - 14195 Berlin
------------------------------------------------------------------------------
“Sorry I’m a bit late, had a terrible time…
All sort of things cropping up at the last moment. Uh, how are we for time?”
—Zarquon's address to Milliways
> On 16. Jun 2026, at 17:59, Mike Westfall <mwdlanm at gmail.com> wrote:
>
> Hi Heinz.
>
> Thanks for your response.
> I did notice that after a while, the DHCP request times out and the init continues with trying to nfs mount some default paths hardcoded into EPICS. These of course fail too.
>
> This is not urgent.
> I'm just experimenting for personal learning purposes.
>
> ---- Waiting for DHCP ...
> info: version 6.2.1 starting
> err: no valid interfaces found
> warning: no interfaces have a carrier
>
> ---- DHCP timed out!
> -------------- IFCONFIG -----------------
> lo0: flags�49<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
> optionsh0003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
> inet 127.0.0.1 netmask 0xffffff00
> inet6 ::1 prefixlen 128
> inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
> nd6 options!<PERFORMNUD,AUTO_LINKLOCAL>
> groups: lo
> -------------- NETSTAT ------------------
> Routing tables
>
> Internet:
> Destination Gateway Flags Netif Expire
> 127.0.0.1 link#1 UH lo0
>
> Internet6:
> Destination Gateway Flags Netif Expire
> ::1 link#1 UH lo0
> fe80::%lo0/64 link#1 U lo0
> fe80::1%lo0 link#1 UHS lo0
>
> ***** Until now no NTP support in RTEMS 5 with rtems-libbsd *****
>
> ***** Ask ntp server once... *****
> ***** No NTP server ...
>
> ***** Setting up file system *****
> ***** Initializing NFS *****
> nfsMount("[email protected]", "/epics", "/epics")
> Mount [email protected]:/epics on /epics
> nfs: mount: nfs -> [email protected]:/epics
> nfs: mount: user/group name in path not supported
> mount failed: Invalid argument
> check for time registered , C++ initialization ...
> ***** Preparing EPICS application *****
> Can't set initial directory(/epics/myExample/iocBoot/iocmyExample/): No such file or directory
> Can't set initial directory(%s): %s
>
> *** FATAL ***
> fatal source: 11 (RTEMS_FATAL_SOURCE_PANIC)
> fatal code: 2153112536 (0x8055e3d8)
> RTEMS version: 6.0.0.not-released
> RTEMS tools: 13.3.0 20240521 (RTEMS 6, RSB no-repo, Newlib 1b3dcfd)
> executing thread ID: 0x0b010001
> executing thread name: _main_
> U-Boot SPL 2016.11-rc3-00002-g73df7f7 (Nov 04 2016 - 15:20:36)
> Trying to boot from MMC2
>
>
>
> On Tue, Jun 16, 2026 at 10:28 AM Heinz Junkes <junkes at fhi-berlin.mpg.de> wrote:
> Hallo Mike,
> I have been using BeagleBone Black with RTEMS-LibBSD 6.1 in production so far
> and BeagleBone Black with rtems-libbsd and RTEMS 7, due to be released shortly.
>
> However, I’ve made a lot of changes over the last six months, and these haven’t been incorporated into EPICS-Base yet.
> Over the next few days, I’ll try to document my changes to the RTEMS kernel as well and make them available for download.
> Is it urgent? If so, I’d be happy to send you a version in the meantime.
> Heinz
> ------------------------------------------------------------------------------
> Fritz-Haber-Institut | Phone: (+49 30) 8413-4270
> Heinz Junkes | VC: https://zoom.fhi.berlin/junkes
> Faradayweg 4-6 | Visitors: Hittorfstrasse 29 (Bld S (Slough House) )
> D - 14195 Berlin
> ------------------------------------------------------------------------------
> “Sorry I’m a bit late, had a terrible time…
> All sort of things cropping up at the last moment. Uh, how are we for time?”
> —Zarquon's address to Milliways
>
> > On 16. Jun 2026, at 15:24, Mike Westfall via Tech-talk <tech-talk at aps.anl.gov> wrote:
> >
> > Looking for advice from anyone who has experience running an IOC under RTEMS on a Beaglebone Black.
> >
> > It looks like I can load the IOC image and the it starts executing , but it seems like it stops stops when it can't find the ethernet interface.
> > Here is the console output of the boot up:
> >
> >
> >
> > U-Boot 2016.11-rc3-00002-g73df7f7 (Nov 04 2016 - 15:20:36 -0500), Build: jenkin9
> >
> > CPU : AM335X-GP rev 2.1
> > I2C: ready
> > DRAM: 512 MiB
> > Reset Source: Global external warm reset has occurred.
> > Reset Source: Power-on reset has occurred.
> > MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
> > Using default environment
> >
> > Board: BeagleBone Black
> > <ethaddr> not set. Validating first E-fuse MAC
> > Net: eth0: MII MODE
> > cpsw
> > Press SPACE to abort autoboot in 2 seconds
> > board_name=[A335BNLT] ...
> > board_rev=[00C0] ...
> > switch to partitions #0, OK
> > mmc0 is current device
> > SD/MMC found on device 0
> > ** Bad device 0:2 0x82000000 **
> > ** Bad device 0:2 0x82000000 **
> > switch to partitions #0, OK
> > mmc0 is current device
> > Scanning mmc 0:1...
> > reading /am335x-boneblack.dtb
> > 99116 bytes read in 15 ms (6.3 MiB/s)
> > gpio: pin 56 (gpio 56) value is 0
> > gpio: pin 55 (gpio 55) value is 0
> > gpio: pin 54 (gpio 54) value is 0
> > gpio: pin 53 (gpio 53) value is 1
> > switch to partitions #0, OK
> > mmc0 is current device
> > gpio: pin 54 (gpio 54) value is 1
> > Checking for: /uEnv.txt ...
> > reading uEnv.txt
> > 173 bytes read in 5 ms (33.2 KiB/s)
> > gpio: pin 55 (gpio 55) value is 1
> > Loaded environment from /uEnv.txt
> > Importing environment from mmc ...
> > Checking if uenvcmd is set ...
> > gpio: pin 56 (gpio 56) value is 1
> > Running uenvcmd ...
> > link up on port 0, speed 100, full duplex
> > BOOTP broadcast 1
> > DHCP client bound to address 192.168.0.186 (6 ms)
> > Using cpsw device
> > TFTP from server 192.168.0.143; our IP address is 192.168.0.186
> > Filename 'rtems-app.img'.
> > Load address: 0x80800000
> > Loading: #################################################################
> > #################################################################
> > ###############################################################
> > 2.5 MiB/s
> > done
> > Bytes transferred = 2819094 (2b0416 hex)
> > link up on port 0, speed 100, full duplex
> > BOOTP broadcast 1
> > DHCP client bound to address 192.168.0.186 (7 ms)
> > Using cpsw device
> > TFTP from server 192.168.0.143; our IP address is 192.168.0.186
> > Filename 'am335x-boneblack.dtb'.
> > Load address: 0x88000000
> > Loading: #######
> > 2 MiB/s
> > done
> > Bytes transferred = 99116 (1832c hex)
> > ## Booting kernel from Legacy Image at 80800000 ...
> > Image Name: sampleIOC
> > Created: 2026-06-15 16:44:43 UTC
> > Image Type: ARM Linux Kernel Image (gzip compressed)
> > Data Size: 2819030 Bytes = 2.7 MiB
> > Load Address: 80000000
> > Entry Point: 80000000
> > Verifying Checksum ... OK
> > ## Flattened Device Tree blob at 88000000
> > Booting using the fdt blob at 0x88000000
> > Uncompressing Kernel Image ... OK
> > Loading Device Tree to 8ffe4000, end 8ffff32b ... OK
> >
> > Starting kernel ...
> >
> >
> > RTEMS Beagleboard: am335x-based
> > ARM Debug: 0x4b141000
> > WARNING: OS Clock time was read before being set.
> > Using 1990-01-02 00:00:00.000000 UTC
> >
> > initConsole --- Info ---
> > stdin: fileno: 0, ttyname: /dev/console
> > stdout: fileno: 1, ttyname: /dev/console
> > stderr: fileno: 2, ttyname: /dev/console
> > time set to : 04/14/14 07:30:06.000002041 UTC
> > Startup.
> > epicsThreadSetPriority called by non epics thread
> >
> > ***** RTEMS Version: rtems-6.0.0 (ARM/ARMv4/beagleboneblack) *****
> >
> > ***** Initializing network (libbsd, dhcpcd) *****
> > nexus0: <RTEMS Nexus device>
> > ofwbus0: <Open Firmware Device Tree> on nexus0
> >
> > ***** ifconfig lo0 *****
> > info: lo0: link state changed to UP
> >
> > ***** add dhcpcd hook *****
> >
> > ***** Start default network dhcpcd *****
> >
> > --Info (hpj)-- bsd task prio IRQS: 96 -----
> >
> > --Info (hpj)-- bsd task prio TIME: 98 -----
> >
> > ---- Waiting for DHCP ...
> > info: version 6.2.1 starting
> > err: no valid interfaces found
> > warning: no interfaces have a carrier
>
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
- References:
- EPICS, RTEMS, Beaglebone Black Mike Westfall via Tech-talk
- Re: EPICS, RTEMS, Beaglebone Black Heinz Junkes via Tech-talk
- Re: EPICS, RTEMS, Beaglebone Black Mike Westfall via Tech-talk
- Navigate by Date:
- Prev:
Re: Problems with Dante (XGLab) Driver Mark Rivers via Tech-talk
- 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
<2026>
- Navigate by Thread:
- Prev:
Re: EPICS, RTEMS, Beaglebone Black Mike Westfall via Tech-talk
- Next:
Problems with Dante (XGLab) Driver Dariush Hampai via Tech-talk
- 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
<2026>
|