Top of MFM project information
If you have any questions, improvements, or corrections email me at the address at the bottom of the page or use the forum.
Forum for discussing this project is here,
If you find a need I have the old 7.11 (wheezy) from around 2016 also. This version has long since stopped getting updates. It does have the advantage of only using 17% of the board flash memory and starts the emulator in about 12 seconds. The USB networking doesn't work with recent Windows and macOS versions. Wired Ethernet and USB serial do still work last I heard. I use Linux which still supports all the access methods.
If you recently got a prebuilt board with BeagleBone you can skip this step since the latest software at time of shipping was installed. You can check your software against the website version to see when updated or subscribe to the forum announcements. I only announce major changes. Minor changes such as adding a new format are not announced.
If using your own BeagleBone you may wish to follow the Getting started instructions to first power up and log into the BeagleBone without attaching it to the MFM board to verify you know how to access it before changing its configuration. Note that after updating with MFM image you will no longer be able to use the HDMI output.
The easiest way to get stuff setup is to copy one of my images
to a micro SD card and
flash your BeagleBone
from windows or Mac. Note old page so hopefully still correct. Flashing
only takes 5-10 minutes, not the 45 they say. From Linux use
xzcat imagefile.xz | dd of=/dev/sdx where
sdx is the device your microSD card was detected at (sda, sdb etc). May also
be detected
as mmcblkx. Make sure you get the device right or you may wipe out your
hard disk.
eMMC flasher images overwrite the on board flash memory. Backup anything
you want before using image since everything will be erased. The bootable
images can be used to try the new OS without changing your eMMC but backups
always a good idea.
Note that if you have a board you got before end of September 2023 they have an old boot loader that will fail to boot the OS-11 images unless you hold boot button on power on. Since the button is difficult to get to with the emulator board mounted if you flash the OS-7.11 image it will install the new bootloader without needing to hold down the boot button. You can then boot the OS-11 images without using the boot button. You will get error messages from the setup scripts if the old boot loader does manage to boot OS-11.
New OS eMMC flasher image
BBB-mfm-emu-v4.20-OS-11.8-r74-flasher.img.xz (last modified Wednesday, 01-May-2024 08:47:07 EDT )
New OS bootable image
BBB-mfm-emu-v4.20-OS-11.8-r74.img.xz (last modified Thursday, 21-Mar-2024 17:56:47 EDT )
Old OS eMMC flasher image
BBB-mfm-emu-v4.20-OS-7.11-flasher.img.xz (last modified Thursday, 21-Mar-2024 17:14:22 EDT )
Old OS bootable image
BBB-mfm-emu-v4.20-OS-7.11.img.xz (last modified Thursday, 21-Mar-2024 17:57:02 EDT )
Original eMMC flasher image before recent changes
BBB-mfm-emu_v3.01.img.xz (last modified Sunday, 04-Jun-2023 11:19:18 EDT )
For OS 11 non flasher images after two boots the partition will be resized to the full device size.
Note that BBB-mfm-emu_v3.01.img.xz is not securely configured so don't use it if it will be accessible from untrusted machine or the Internet. These images are based on the console/minimal version so most of the flash storage is free but don't have graphical tools installed. If you wish to do it manually see new software installation For historical reference the procedure used to build the original image old software installation
Install the microSD card in the BeagleBone and power it on. For flasher or old 3.01 image the lights should switch to one LED on running back and forth after a minute if programming is working. If it doesn't power off the board and power it on while holding down the boot button. The LEDs go out when flashing is done. Wait 10 seconds after lights go out to ensure it's done and then remove the microSD card and then reset the BeagleBone.
I'm not planning to update the image with each software release so you likely will need to update the software.
** Changes to instructions **
I haven't had time to update all these pages so here are summary of changes
you need to know about.
For the OS 11 image you now need to log in as debian, password temppwd. Use sudo for commands that need root or sudo su - to get a root shell. For OS 7.11 login is root with no password. If in doubt which version is running try root no password first.
For v4.00 or later the executables are in debian's path for OS 11 or root's path for 7.11. You don't need to cd to the executable and you don't need ./ in front of the command. The setup* scripts and emulator executables don't need root on OS 11. The MFM code is in /opt/mfm.
The Ethernet cable is likely to get you Internet access for updating the software if you have a DHCP server on your network. The USB will show up as serial port and network. For the OS 11 image it will set up a default route for the 192.168.6.x network. If your host computer is set up to NAT/Masquerade for that network you can get Internet access that way. Otherwise you can use scp/sftp to copy the software to the board (192.168.6.2 or 192.168.7.2).
To get USB Internet access for Linux host I used the firewall configuration GUI to set the USB network interface
to trusted. Then checked Masquerade on the public zone Masquerading tab.
If the Ethernet cable isn't plugged in at boot it may take 20 seconds
for the board to activate the Ethernet after the cable is plugged in.
If you have Internet access with the v4.00 or later images you can update code with:
cd /opt/mfm git pull --ff-only make clean make Note: As of 7/15/2024 I have modified the makefile. After you do above past that date you can just cd /opt/mfm make update I didn't put the make clean in. If you have problems you can manually do it. I assume if board has access to github it also has access to time server. If this causes problem I can add make clean.Note: If you get error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://github.com/dgesswein/mfm.git/info/refs Check the date. If its way in the past you will get this errors. Use the date command to set the date.
date -s 'Thu Dec 21 09:22:26 PM EST 2023'Make clean is optional. It makes sure everything rebuilds properly if your clock was wrong on an update.
It is also possible to access the board using the USB serial port and move files using a USB stick. The USB stick doesn't automount with my image. Use
mount /mnt/usb or mount /mnt/usbp1p1 is if the media has partitions on it. P1 is the first partition.
For the micro SD card use
mount /mnt/uSD or mount /mnt/uSDp1
Note that after the MFM daughter card is installed the board will not power up from the USB port. You will need to power the board through the drive power connector J5.
Don't use the barrel jack when the MFM board is installed if the DC/DC converter U12 is also installed on the MFM board.
If you are using windows you will need a scp and ssh program. I use putty and pscp from here. Login to the BeagleBone is root with no password. ipaddr in the commands below is the IP address of the BeagleBone. The USB IP address is 192.168.7.2. Delete (rm) all except the latest file for the * in the following commands to work.
Make can get confused if the clock is wrong. To check use the date command. If it's wrong set with date command. Date command format is [MMDDhhmm[[CC]YY][.ss]] and my image the date is in UTC. For January 3 2021 4pm 31 minutes 30 seconds
date 010316312021.30
# If your BeagleBone has Internet access you can download on BeagleBone using wget # otherwise from machine you downloaded image to. Make clean helps # prevent issues with make not rebuilding all files but shouldn't be needed. scp mfm_emu_powerfail*.tgz root@ipaddr: For new OS cd /opt/mfm tar -xzf mfm_emu_powerfail_*.tgz make clean make For old OS #On BeagleBone tar -xzf mfm_emu_powerfail_*.tgz cd mfm make clean make cd ../emu make clean make cd ../powerfail make clean make exit (or poweroff)