Everything Ham for Linux.....

Description of your first forum.
Post Reply
System Moderator
Posts: 25
Joined: Thu Sep 22, 2022 9:02 am
Location: Milwaukie, OR

Everything Ham for Linux.....

Post by KJ7MLK »

This is a How To.....Linux page for ham radio.

Get tips and tricks on the latest software, hardware, and related configurations with Ham radio.

Please Only post Linux related information and resources relating to ham radio here.

System Moderator
System Moderator
Site Admin
Posts: 29
Joined: Wed Sep 21, 2022 3:48 pm
Location: Beaverton, Oregon

How To Install Linux

Post by KC7NYR »

How do I install Linux?

Unfortunately, it's hard to buy a computer that has Linux pre-installed. So, to get your own Linux box, you likely will have to install the OS yourself.

Happily, that's not a big deal. Installing a modern Linux distribution generally is a straightforward process, requiring only some general computer knowledge.

It depends...
The installation procedure depends on the system you want to have.

The Web is awash with HOWTO articles that detail the installation of particular distros, and I won't repeat them here. Rather, I'll look at the general installation process in order to get you started in the right direction.

How the system is to be used
Today I'll cover the two types of system you're likely to use: desktop and server.

A desktop system has a graphical user interface, which the user controls either locally with keyboard and mouse, or remotely via remote-control software. Examples: Linux Mint, MX Linux.

A server system runs applications that are accessed remotely through a network, such as Web sites and mail servers. Administration also is done remotely, using either SSH (Secure SHell)or a Web interface.
Embedded Linux systems are a very specialized niche area that we might explore at another time.

The hardware platform
The installation procedure can vary depending on the hardware on which you want to install it. ( See here for definitions and more information.)

PC: either a conventional personal computer or a laptop, which has:
Intel architecture (AMD64 or x86)

A solid state drive (SSD) or hard disk drive (HDD) on which the OS is loaded.

SBC (Single Board Computer), which has all system components mounted directly on the mainboard. This includes the Raspberry Pi, along with many, many others. These systems:

Use mostly ARM architecture, with some Intel. Other RISC architectures may be used, as well.
Mainly use SD cards for the OS, though some have SATA ports.

The PC platform has fewer variants and thus is the simplest to use. Its hardware also is most likely to be supported by the Linux kernel and the community.

SBCs are trickier, owing to all the possible permutations. Hardware and software support can vary greatly, so care in selection is required. The Raspberry Pi, for example, is not necessarily the best SBC for any particular job, but its vast community support makes it highly versatile and easy to work with.

Choice of distribution
Every Linux distribution has its own installation method. That usually comes in the form of an installation program. These programs require varying degrees of technical knowledge on the part of the person running the installation.

They can be highly automated and thus easy to use (e.g., Linux Mint). Most decisions regarding which software is to be installed and how it is configured are made by the distro's developers.

They can work at a more granular level, leaving software decisions and configuration to the user. Here, the user needs to have greater technical knowledge in order to perform those tasks. Examples: Arch, Gentoo.

Installation procedures

Download the disk image (ISO)
Let's presume you have selected your hardware and a Linux distribution you want to run on it. The next step is to download the software for your distro.

The standard way of distributing Linux is to create a bootable disc image (ISO file) and make it available for download. The ISO contains all the software necessary for the target computer to boot and run Linux. From there, the user can either run applications or install the disto to a disc drive, depending on the distro selected.

So, go to your distro's download site, select the ISO for your computer's architecture (e.g., AMD64) and, if the distro has multiple variants, the variant that you want to use.

Copy to a bootable medium

Having downloaded the image, the next step is to put it on a medium from which the target computer can boot it. The options are:

Optical: CD or DVD
USB Flash drive
SD card: Flash memory board
Since this is a system image, the normal file copy operation won't work. Instead, the ISO must be placed on the boot medium exactly as it is structured in the image file, bit by bit. There are special tools for this for Linux, Windows, and OSX. (My Linux Mint system comes with a “USB Image Writer” utility that I use for this.) The Linux command line dd utility also can be used.

Boot the image
Once you have prepared the boot medium, the next step is to insert it into the appropriate input device on the target system (optical drive or USB or SD card slot) and turn on the power.

The computer should detect the ISO and boot from it. (If the system already has an OS installed, you might have to use the system setup utility to change the boot order so the new Linux image will be detected first.)

After booting
Once the boot process is complete, the user has a working Linux system. In most cases, that system will be one of these:

A program that installs the distro on a disc drive.
A desktop system that runs off the boot medium and gives the option of installing on a disc drive.
A complete, working system that runs only from the boot medium – usually an SD card.
Let's look at each one in turn.

Installation program
The purpose here is to install the distro on a fixed drive (HDD, SSD). At minimum, the user is required to select a drive or partition for the install, plus language, keyboard layout, time zone, and to create a default user. Once configured, the program does the rest. When completed, removed the boot medium and reboot the computer.

This is the method of choice for most server installations.

Some installers, such as Debian's, give the user a choice of system type to be installed, (e.g., server or desktop) and possibly specific applications or application types as well.

Live desktop

Desktop-only distributions generally boot into a live desktop session, allowing the user to run it without making a disc drive installation. Log in as the default user (check the distro's documentation for this), and you're good to go. This is a good way to test the distro's compatibility with the machine's hardware.

Most such distros also offer to install themselves on a disc drive. (This often appears as a desktop icon.) Choosing that option launches an installation program, as above.

SBC without fixed drives

Many single board computers have no fixed drives, instead running their OS off of a removable boot medium, such as an SD card. With these, the installation is complete once it's booted up, although some configuration is likely to be required.

We've seen that, although the task of installing Linux on a computer can have many variations in detail, there is a general procedure that is common to all installations:

Download a Linux image
Burn it to a boot device
Boot the target computer from the boot device
Use the system as it is, or install on a fixed drive

There is a Step Zero: get the specific details of installing any Linux distribution by checking its documentation and following the installation instructions you find there.

How To Install Linux Mint Debian LMDE 4

System Admin
Site Admin
Posts: 29
Joined: Wed Sep 21, 2022 3:48 pm
Location: Beaverton, Oregon

Introduction Virtual Machines

Post by KC7NYR »

A virtual machine is a software computer that, like a physical computer, runs an operating system and applications. The virtual machine is comprised of a set of specification and configuration files and is backed by the physical resources of a host.

Best Virtualization platforms – VirtualBox, VMware Workstation, VMware Fusion, Oracle VM Server for x86, Hyper‑V and QEMU. I use VirtualBox on Linux which is free.

Virtualization (AKA the use of virtual machines) is when you take one set of physical resources, like CPU and RAM and hard drive space, and allocate them into discrete chunks that are each seen as separate systems.

Virtualization is the process of running a virtual instance of a computer system in a layer abstracted from the actual hardware. Most commonly, it refers to running multiple operating systems on a computer system simultaneously. To the applications running on top of the virtualized machine, it can appear as if they are on their own dedicated machine, where the operating system, libraries, and other programs are unique to the guest virtualized system and unconnected to the host operating system which sits below it.

There are many reasons why people utilize virtualization in computing. To desktop users, the most common use is to be able to run applications meant for a different operating system without having to switch computers or reboot into a different system. For administrators of servers, virtualization also offers the ability to run different operating systems, but perhaps, more importantly, it offers a way to segment a large system into many smaller parts, allowing the server to be used more efficiently by a number of different users or applications with different needs. It also allows for isolation, keeping programs running inside of a virtual machine safe from the processes taking place in another virtual machine on the same host.

What is a hypervisor? – A hypervisor is a program for creating and running virtual machines. Hypervisors have traditionally been split into two classes: type one, or “bare metal” hypervisors that run guest virtual machines directly on a system’s hardware, essentially behaving as an operating system.

Wype two, or “hosted” hypervisors behave more like traditional applications that can be started and stopped like a normal program. In modern systems, this split is less prevalent, particularly with systems like KVM. KVM, short for kernel-based virtual machine, is a part of the Linux kernel that can run virtual machines directly, although you can still use a system running KVM virtual machines as a normal computer itself.

More about Virtual Machines – A virtual machine is the emulated equivalent of a computer system that runs on top of another system. Virtual machines may have access to any number of resources: computing power, through hardware-assisted but limited access to the host machine’s CPU and memory; one or more physical or virtual disk devices for storage; a virtual or real network inferface; as well as any devices such as video cards, USB devices, or other hardware that are shared with the virtual machine. If the virtual machine is stored on a virtual disk, this is often referred to as a disk image. A disk image may contain the files for a virtual machine to boot, or, it can contain any other specific storage needs.

What is the difference between a container and a virtual machine? – You may have heard of Linux containers, which are conceptually similar to virtual machines, but function somewhat differently. While both containers and virtual machines allow for running applications in an isolated environment, allowing you to stack many onto the same machine as if they are separate computers, containers are not full, independent machines.

A container is actually just an isolated process that shared the same Linux kernel as the host operating system, as well as the libraries and other files needed for the execution of the program running inside of the container, often with a network interface such that the container can be exposed to the world in the same way as a virtual machine. Typically, containers are designed to run a single program, as opposed to emulating a full multi-purpose server.

But they aren’t “real” systems. One computer could be divided into many “virtual” systems.

Oracle VM VirtualBox is a free and open-source hosted hypervisor for x86 computers currently being developed by Oracle Corporation. Developed initially by Innotek GmbH, it was acquired by Sun Microsystems in 2008 which was in turn acquired by Oracle in 2010. Wikipedia

VirtualBox is a powerful x86 and AMD64/Intel64 virtualization product for enterprise as well as home use. Not only is VirtualBox an extremely feature rich, high performance product for enterprise customers, it is also the only professional solution that is freely available as Open Source Software under the terms of the GNU General Public License (GPL) version 2. See “About VirtualBox” for an introduction.

Presently, VirtualBox runs on Windows, Linux, Macintosh, and Solaris hosts and supports a large number of guest operating systems including but not limited to Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7, Windows 8, Windows 10), DOS/Windows 3.x, Linux (2.4, 2.6, 3.x and 4.x), Solaris and OpenSolaris, OS/2, and OpenBSD.

VirtualBox is being actively developed with frequent releases and has an ever growing list of features, supported guest operating systems and platforms it runs on. VirtualBox is a community effort backed by a dedicated company: everyone is encouraged to contribute while Oracle ensures the product always meets professional quality criteria.

Here are some of the more practical ways you can use a virtual machine for your benefits.

Try New Operating Systems – Let’s say you’ve been a Windows user all your life but you’re feeling adventurous and want to get a taste of Linux. What are your options? You have several, including a dual boot setup, but one could argue that you’d be happiest with virtualization.

On your Windows system, just install VirtualBox and create a new virtual machine. Then take any Linux installation ISO (I recommend a recent version of Ubuntu or Linux Mint) and install it on the virtual machine. Now you can run Linux (the “guest” OS) in a window within Windows (the “host” OS) like any other program.

This is actually the most secure way to test a new operating system because the virtual machine acts as a sandbox — if something goes wrong in the guest OS, it won’t affect the host OS. If there’s a catastrophic failure, you can simply recreate the virtual machine and reinstall the OS. No bricked computer!

Run Old or Incompatible Software – I installed VirtualBox, created a virtual machine, installed Windows 7 on it, then installed the better version of Scrivener. With Linux as my host OS running Windows as my guest OS, I could conveniently benefit from the best of both worlds and basically emulate software from another platform.

Another example could be running Windows XP-only software on Windows 10 or running Linux-only software on Mac.

Deliberately Execute Malware – Due to the sandboxed nature of a virtual machine, you can be reckless with security and do things that you normally should avoid. For example, you should never open unsolicited email attachments because they could be malware in disguise or harmful in other ways.

But a virtual machine can be a great way to test suspicious files for malware. Moreover, you can use virtual machines to deliberately run viruses to see how they play out in real-time, whether out of curiosity, research, or boredom.

Note that there is some risk in doing this: newer malware may be able to detect that your environment is virtualized and seek to break out from the guest OS to the host OS. But if you’re going to test a suspicious file, always do it in a virtual machine anyway — just in case.

Tear Apart Your System – If you’re particularly techy, virtual machines allow you to explore and experiment with your system without fear of repercussion. This can be a nifty way to become a practical expert on one or more operating systems.

For example, you can virtualize Windows 10 within Windows 10 and use the guest version to tinker with the registry. If you’re curious about the System32 directory, use the guest OS to open files, edit files, or even delete files. See how far you can go before wrecking your system, then recreate and try again.

Create Backup Snapshots – One excellent reason to start using a virtual machine is the ability to create system-level snapshots that can be instantly restored on demand.

Imagine you want to install a new app that’s untested and possibly unstable. Or maybe you want to uninstall a bunch of software you’ve accumulated over the past few months. Or maybe you just want to tweak some system configurations. But in all cases, you’re hesitant due to uncertainty.

Just take a snapshot before plowing ahead. If something does go wrong, you can restore the snapshot and move on as if nothing happened. These backups are like a more comprehensive System Restore, and best of all, they’re saved as single files that you can move and store elsewhere (like an external drive).

Clone a System to Another Machine – Since the entire contents of a virtual machine is stored on a single file, you can easily transfer that file to another computer and load it up without any issues (as long as you use the same virtualization software, of course).

For example, VirtualBox VMs are stored as VDI files. Regardless of which host OS you were using, you can copy that VDI file and load it in as a guest OS on another computer running VirtualBox. This effectively creates a clone of your system that you can carry around with you anywhere you go.

And if you use VMware Player, it gets even better. With VMware vCenter Converter, you can take a current non-virtual installation of Windows or Linux and turn it into a virtual image that can be loaded in by VMware Player on another computer. Quite a nifty way to migrate operating systems!

Develop Software for Other Platforms – Despite being last on this list, I consider this the second-most practical use for virtual machines: it simplifies the workflow for testing apps and websites across multiple platforms.

For example, if you’re creating a game that can be played on desktops and mobile devices, you can use virtual emulation to test various executables right on your computer. Instead of ferrying APKs back and forth to your Nexus, you can just emulate it — along with virtual versions of Samsung, HTC, and Moto devices.

Virtualization also lets you compile to other executable types. Even if you use a cross-platform framework, you may only be able to compile APP files on Mac and EXE files on Windows. Instead of dual-booting for every build, virtualization simplifies the process (especially if you’re using source control).

System Admin
Site Admin
Posts: 29
Joined: Wed Sep 21, 2022 3:48 pm
Location: Beaverton, Oregon

VARA FM + Direwolf Hybrid Gateway

Post by KC7NYR »

Hardware: Lenovo N23 Chromebook.

OS: Debian x86_64 11.5 stable (i386 wont boot UEFI for the chromebook!)

Radio: A variety of FM radios were tested:
Yaesu FT-8900
Yaesu FT-2980R
Kenwood TH-K20A (handheld)

Step by step instructions
KF7HVM - Very High Frequency Website
https://www.kf7hvm.com/info/packet/vara ... d-gateway/
Site Admin
Posts: 29
Joined: Wed Sep 21, 2022 3:48 pm
Location: Beaverton, Oregon


Post by KC7NYR »


The term “SDR” — Software Defined Radio — has been widely used and misused, both for descriptive and marketing purposes. As a result, it has can mean many things, depending on the context in which it is used, as well as the perspecive of the speaker.

If someone tells you, “I have an SDR”, you have to dig deeper to discover what that “SDR” actually is. Part of the confusion comes from the fact that “software-defined radio” originally described a process, not an object.

I have come up with a list of seven possibile meanings — there may be more.

1) A radio with DSP
People sometimes cofuse Digital Signal Processing with SDR. The difference is that DSP works on audio signals, not radio signals. Many analog radios use DSP in their audio stages. Note that a true SDR almost always will encorporate DSP. So, this is not actually SDR.

2) Digital control of a radio
Again, not really SDR. I hear this most often applied to QRP rigs, such as the uBitx. The radio itself is fully analog, but it is controlled by a digital device, such as an Arduino or similar microcontroller board. This is nothing new, of course — virtually every ham rig produced in recent years has come with a digital interface. What is new is that the control device is open to be programmed by the user. I believe this is the source of confusion with SDR.

3) A USB device
Here we get into radios are true SDRs, with full analog-to-digital (and possibly vice-versa) at the RF stage.
This includes a large range of devices, from inexpensive plug-in dongles to sophisticated radio development devices.
Most commonly receive-only, but could be a transceiver.

Output might be an I/Q stream for processing by another device. E.G., RTL-SDR.
Might include a FPGA (Field Programmable Gate Array) to process the I/Q from the ADC, so the output is audio, plus perhaps metadata such as spectrum data for display. In a development device, the FPGA could be open for programming by the user.

4) SDR-in-a-box
Here the radio is fully software-defined in the inside, but externally appears to be, and functions as, a traditional radio. These rigs are essentially designed to be drop-in replacements for older analog units, sporting the cutomary knob and button controls, along with legacy interfaces such as serial ports. It looks and feels so much like an analog radio that you wouldn’t know it’s digital inside without being told. Examples: Icom IC-7300, Yaesu FTDX-101D.

5) SDR box + built-in Windows PC
This is an all-in-one rig that includes a full MS Windows PC internally. That gives it the capability of running various ham software inside the box, rather than in a connected PC. Hook up monitor, keyboard, and mouse, and you have a complete shack-in-a-box. Example: Expert Electronics MB1.

6) SDR box + server
Again, a single box with traditional controls, but it also acts as a network server so that other digital boxes can connect to it, either to remotely control or be controlled.

All signal conversion and processing is done onboard, with audio and metadata transferred over a computer network.
Example: Elecraft K4 (I think with a Linux server inside).

7) SDR server only
As above, all signal conversion and processing is done on board, with audio and metadata transferred over a computer network.
No external user controls. All control is performed on networked computers.
In essence, the network is the radio.

Possible advantage is open API or software that allows anyone to program interfaces for them.

FlexRadio. Linux server inside. They produce a custom control unit, built around a Windows CE tablet. Also have grafted that unit to the front of servers to produce an all-in-one unit; still connected via Ethernet. Control software (SmartSDR) is proprietary, but the API (Application Programming Interface) it uses is open and well-documented.

ANAN transceivers: Fully open source software, inside and out. Apache Labs offers a Raspberry Pi-based control unit.
An aside “SDR radio” — another redundant acronym?
I’m always on the lookout for new examples of redundant acronyms, where people pronounce the acronym as a word and follow it with the word that the final letter of the acronym stands for. Examples are “PIN number” and “ATM machine”. I recently added “NIC card” to my list (thanks to KA7PLE).

“SDR radio” might be one — or it might not. It can be argued that if “SDR” describes the process of manipulating RF signals with software and the word “radio” describes an object that functions within the accepted meaning of “a radio”, then “radio” has two different meanings – and so there is no redundancy, even though it sounds that way.

Source Credit: https://kc7mm.com/wiki/doku.php
Post Reply