Copying files using serial link

I am using an A10 SoC Devkit board (using the Angstrom Linux from Rocketboards website) but I am not using an Ethernet link. I compile most code on a PC and for large files (my RBF files for programming) I’ll move my SD Card to my PC and just copy them. For small files (my Linux programs) I copy them to the devkit using zmodem. (You can move lrge files this way too, it just takes longer.)
When you dont have an internet link you need to install the Angstrom packages manually, so this is how I do it. The example here is for the lrzsz package, which is what you need to use zmodem file tranfers.
Angstrom installs packages using ‘opkg’, which will check version compatibilities and checks architecture compatibility (so you dont install files meant for the wrong processor). You should start by checking the list of acceptable architectures on your Linux machine. This list is kept in /etc/opkg/arch.conf, so just ‘cat’ that file so you can reference the listed items.

You also need to know the Angstrom version you are using so you select from the right ‘opkg’ package library. You can get this by entering uname -a at your Linux prompt. You already know you are using Angstrom but you need the date to select a compatible library.

Next you need to use a browser on your PC to go to the Angstrom packages to find your file. ‘opkg’ install packages are files ending in ‘.ipk’ (they are tar files, usually with multiple tar files inside them). The Angstrom repository is at url ‘feeds.angstrom-distribution.org/feeds’.

I chose the v2016.12 feed and selected my way down to the ‘http://feeds.angstrom-distribution.org/feeds/v2016.12/ipk/glibc/armv7at2hf-vfp/base/’ directory to see the long list of .ipk files to select from. To get zmodem (which includes xmodem and ymodem) to install I need the lrzsz package so I downloded the lrzsz file;
lrzsz_0.12.20-r6.0_armv7at2hf-vfp.ipk
and also downloaded the libc6 package that it depends on;
libc6_2.24-r0.0_armv7ahf-vfp.ipk
(I found that out after trtying to install unsucessfully - ‘opkg’ will tell you if you need a dependant package).

I placed my SD Card in my PC’s SD Card reader and copied these two files into partition 1 of the SD Card (which is usually the default one that is visible in your Windows File Explorer). Then I move the SD Card back to the Linux platform and boot it up.
I copied the .ipk files to my /home/root directory to install them (though I really didn’t need to do this, I just like to stay out of partition 1) using the commands below. (Always remember to dismount the partition when you are done with it!)

You can now install the updates using ‘opkg’ using the files you moved over. You should install the dependency file first.

I use TeraTerm because it has built-in support for zmodem. I can send a file from my PC to my Limux platofrm now by usinf the ‘Transfer’ item in TeraTerm’s ‘File’ menu (dont use the ‘Send file …’ item), and select ‘ZMODEM’ and ‘send…’. You get a file dialog to select the file to send, then the file transfers. The file will go to the current directory your Linux terminal is in when the transfer happens.

I make tar files and send them back and forth between PC and Linux when there are a group of files ready to transfer. When you send a file from Linux to the PC you enter the command 'sz ’ at your Linux prompt. You then need to go to the TeraTerm ‘File’ menu and select ‘Transfer’, ‘ZMODEM’, and ‘Recieve’, and the file will be transferred. On my PC (Windows 10) the received files all end up going to C:\users/jburleso\AppData\Local\VirtualStore\Program Files (x86)\teraterm , but that may change for your install or operating system version.

I hope this helps some who are stuck in the same lack of internet link that I am. You can use the same proces to install any other ‘opkg’ updates, but the next time you can Zmodem the files to your Linux and skip the SD Card shuffle.

1 Like

In the instructions directly above for sending files from Linux to your PC it says to enter ‘sz’ at the Linux prompt but you actually need to enter 'sz ’ followed by the filename of the file you want to send to the PC.