git clone https://github.com/trebisky/Kyu.gitThis will place Kyu into the directory "Kyu", but if you prefer something else, give the clone a target like:
git clone https://github.com/trebisky/Kyu.git kyu
picocom -b 115200 /dev/ttyUSB0Type control-A control-X to exit.
dnf install gcc-arm-linux-gnuThis installs several packages (I believe four, including binutils) and is all that you need. If you are on another distribution you will have to work things out and perhaps change the compiler name in "Makefile.inc". I am currently building with the 6.1.1 version of the compiler. Note that if the compiler version changes, you will need to tweak a setting in Makefile.inc.
There is another compiler available in the fedora package set, namely "arm-none-eabi-gcc-cs". This is the code sourcery spin on the GCC compiler. I have never worked with it, but odds are it would work just fine. If you use it and have comments to make, let me know.
Once you have the compiler installed, you should be able to build Kyu as follows:
cd Kyu ; makeThe final step in the make process is to copy the binary image to the tftpboot area as follows:
cp kyu.bin /var/lib/tftpboot/kyu.binThis will probably yield an error (unless you already have a tftp server set up). We will get to this in the next section.
First, set up a TFTP boot server. These instructions are for a Fedora 24 system in late 2016. This boils down to installing a package, starting the server, and making sure the necessary ports are open on your firewall. On fedora, the package to install is "tftp-server". But the service to start is "tftp-socket". What are these guys smoking? Notice also that this is no longer under xinetd as it used to be, but is "stand-alone" as its own thing.
dnf install tftp-server systemctl start tftp.socket. systemctl enable tftp.socket.
TFTP uses UDP port 69, so you need to do whatever you need to do to open up this port on your firewall (if you have one). I just hack a line like this into my iptables file, but there are definitely other ways to do this.
-A INPUT -s 192.168.0.0/24 -m state --state NEW -p udp --dport 69 -j ACCEPT
You probably will not need to set up DHCP. My home router does just fine, but if for some reason you need to run a server on your linux system, the game is much the same (except you need to edit the config file).
dnf install dhcp-server systemctl start dhcpd.service. systemctl enable dhcpd.service.Starting it will probably fail (or do nothing) until you add entries to /etc/dhcp/dhcpd.conf. You will also need to fiddle with firewall ports. Open up UDP ports 67 and 68.
Details will likely differ on different systems and distributions. You will need the MAC address of your unit, which you can get from the serial console output, or wireshark.
Kyu, ready>
Kyu / tom@mmto.org