Errors When Upgrading Ubuntu from 16.10 (Yakkety) to 18.04 (Bionic)

I had an old virtual machine that I wanted to upgrade from 16.10 to 18.04

Since Yakkety (16.10) is no longer supported I followed this guide and updated my source list:

I then did the standard commands to upgrade:

However I got this following error after “apt upgrade”:

To fix this I did the following:

Then did the upgrade again:

Success !

Please follow and like us:

Retro Pie, Mame, and Romsets

I recently installed Retro Pie on an old Zotac Nano I have:

What is Retro Pie ? It’s software that allows you to play tons of emulators of old game consoles, from home systems like the Atari 2600, Super NES, Super Nintendo, etc. to the old 70’s and 80’s arcade machines that you would find in the mall. It even has the ability to play emulators for old home computers like Commodore 64 and the Sinclair Z80.

More technically, the Retro Pie is a collection of emulators and scripts which use Emulation Station as a front end.

Here’s a secret: while the Retro Pie is mainly geared to be installed on a Raspberry Pi, you don’t need a Raspberry Pi to install Retro Pie. You can install it on any PC that has a debian based linux operating system. Since I had installed Kubuntu on the Zotac Nano, I downloaded and installed the Debian/Ubuntu PC version of Retro Pie.

After installing Retro Pie according to the instructions, adding some themes (I settled on Cabsnazzy) and a set of Xbox 360 controllers, I downloaded some individual sample Roms to test the Mame emulator, an emulator that plays old arcade type games. What I discovered was that there are several different Mame emulators packaged with Retro Pie. For example, there is “mame4all”, “Mame 2000”, “Mame 2003 Libretto”, “Advance Mame”, etc.

Not any Mame rom will play in any Mame emulator. You need to install the correct “Romset version” of the Rom for each emulator. What does that mean ? Well, apparently various people have collected hundreds or even thousands of roms for a particular Mame version, customized them for that particular version of Mame, and packaged them into a “Rom Set”. The Rom Sets for each Mame Emulator are listed here at the Mame Retro Pie Wiki. To find a particular game and what RomSet it is in see here or here to download the entire lists of games for a particular Romset.

The first test I did was to download the Rom Set for Mame 2003. This Rom Set is 0.78. The download links are found at The non-merged set is the one that will work with Emulation Station.

For the Mame 2003 set (Romset 0.78, about 2 GB) the easiest way to download is in linux using the linux command line program “transmission-cli” which will download torrent files. Copy the TORRENT link shown on the page and use that with torrent-cli.

For example, to download the 0.78 Rom set on your linux command line type:

Once downloaded, unzip the downloaded file and move your selected roms to the correct subfolder in your Retro Pie install directory i.e., the “RetroPie/roms/mame-libreto/mame2003/” folder. Do NOT unzip any of the Roms. Copy the contents of the “samples” folder, to “RetroPie/roms/mame-libreto/mame2003/samples”.

Note that any vector type games (e.g., Battle Zone, Lunar Lander, Red Barron) should use Advance Mame 3 which is optimized for vector graphics, not Mame 2003 or other Mame emulators where they will look fairly horrible, with the vector lines being blurry and black and white. Battle Zone will show black and white instead of the green that it should like the following screen shot:

For Advance Mame, you will need to download the Mame 0.106 Rom Set as shown on the Retro Pie Wiki.

Warning: The 0.106 Romset is HUGE – about 65.6 GB zipped. Because of its size, the .106 Romset should be downloaded on Windows rather than Linux as the standard Linux zip programs do not handle multi-part zips well, and a program that does, 7Zip only works on Windows.

Once the .106 Romset is downloaded, download and install 7zip.

Open the 7zip File Manager and navigate to the Romset download folder. For version 0.106 you will see that the zip has downloaded in 70 different parts! No worries, 7zip handles these as one zip file without having to actually combine them.

Double click on the “” file:

Double clicking will reveal the contents of the “combined” zip file:

Double click on that again and you’ll view the roms folder. Double click on the “roms” folder and you will see a list of the roms, most of them are zipped, but some are simply in subfolders:

While you can extract all of the rom subfolder and zips for all of the games, you can also extract only those individual games that are needed. Just drag the individual subfolders or zip file for a particular game out of the 7Zip File Manage. Do NOT unzip any games roms that are themselves individual zips as they may not work in the emulator if they are unzipped and the Mame emalutor can read the zipped roms fine. For easy transferring to a linux machine, open up a WinSCP session and drop the rom subfolder or zip file into the appropriate folder on your Retro Pie machine (RetroPie/roms/mame-advmame/). As before, the files in “Mame 0.106 Non-Merged\Samples” would be copied over to the related samples folder (RetroPie/roms/mame-advmame/samples).

That’s it – those are the basics of installing the correct romset for a particular Mame version.

Now enjoy some Mame:

Spacewar “most important and influential games in the early history of video games.”


NOTE: This post is for educational purposes only. The use of roms with the MAME or other video arcade emulators requires compliance with all copyright laws and licenses. Use of most Roms require an appropriate license. Read this FAQ for details.
Please follow and like us:

One Line Linux Command to Kill Parent Process and Spawned Children in A Group

Computer Screen Photo by Markus Spiske on UnsplashIn Linux, if you’d like to kill a command and all processes spawned by that command do this (in our example the command “parent” is

This will kill the “” process and anything that it spawned.

How it works:

To kill all processes of a group the command is

To get the group id you do the ps command using the arguments as shown, grep it for your command, but formatting with quotes and using the bracket for the first letter (this filters out the grep command itself) then filter it through awk to get the second field which is the group id. The tail -1 gets rid of duplicate group ids. Yout put all of that in a variable using the $() syntax and voila – you get the group id. So you substitute that $(mess) for that -groupid in the kill command above

Please follow and like us:

Break Out of the Virtualbox Jail: Run Linux Graphical Apps On Windows Using Putty, Xming, and VirtualBox

I use Virtualbox to run linux. But the terminal Virtualbox uses is awful so I ssh in when I want to use the command line. I recently discovered you can also do this for the graphical desktop so you don’t have to put up with the lousy Virtualbox console which fits all the linux elements in a hard to scale box. You can have your graphical linux desktop run right along Windows just as it was another MS Window Window. Follow thiese steps:

  1. Download and install Xming Server on Windows.
  2. Setup your VirtualBox running say debian and boot up your virtual box ( I won’t go into that here but check this tutorial out).
  3. At your debian command line edit /etc/ssh/sshd_config and make these lines “yes”:

  4. If you don’t have a graphical desktop installed, install some sample programs:

  5. Now on your Windows desktop fire up Putty. Add a profile to ssh into your debian virtualbox machine (hint: if you haven’t already, you’ll need to get your virtual machine’s ip address and you can’t get that until you make sure your debian virtual machine’s network setting is set to bridge so it has an ip address on your local network. Follow the steps under Selecting Bridge Networking)
  6. In your Putty profile Go to X11 and make sure forwarding is turned on. Save your profile.

  7. Now, ssh in to your Virtualbox machine and start an x-windows app.
  8. You should see the eerie “xeyes” program staring at your right on your Windows desktop!:

    That’s right, a Linux program running right on top of your local Windows desktop (actually the graphical elements are being forwarded by your virtualbox session to xming). Really cool and the Windows resizing and movements are unlimited by the Virtualbox Console. Try moving the window around – acts like any other Windows program.
  9. For programs that require sudo you have to use the “-E” option:
  10. Now you should see something like this – completely cool. I’ve labeled all the windows so you can appreciate the fact that the gparted GUI is running separately from the Putty and Virtualbox consoles:

    And here’s a video:

    Please follow and like us:

Hacking the PogoPlug Mobile – Adding Airprint and CloudPrint (Print From ChromeBook without a Cloudprint Printer)

I purchased a Pogo Plug Mobile (Model POGO-V4-A1-01) for $10 off ebay a few weeks ago.


This version of the PogoPlug comes with the following:

  • 88F6192 Kirkwood ARMv5 NAS system-on-chip running at 800 MHz
  • 1 Gigabit Ethernet
  • 1 2.0 USB Port
  • SD Card Slot

I knew it could be used for a file server but did not have much use for it at the time so put it on the shelf. A few weeks later my elementary school age daughter needed to print from her Chromebook from home. Chromebooks are becoming very popular at schools. They are relatively inexpensive, easy to use, and able to be tightly administered by the school. Unfortunately it is very difficult to print from one at home. Since it doesn’t run from windows, you must have a printer that is “Cloudprint” enabled to work with google chrome or keep another computer running with Chrome. Since I had an old Samsung 4521f printer and didn’t want to keep my computer running all day, I decided to get my Pogoplug off the shelf and do some hacking.

Warning: This involves removing the built in software on your PogoPlug and will remove all “stock” functionality that it came with. You will not be able to use the PogoPlug services. This WILL void your warranty. In addition, all these instructions and this post is at your own risk.
  1. Plug an ethernet cable into your PogoPlug, pop an empty 2GB or more SD Card into the SD Card slot, and plug your PogoPlug into the wall.
  2. Using your browser, navigate to your ip address for your router (usually or something similar, see your router manual), login to your admin interface, and look at the connected devices and determine what ip address your PogoPlug is using.
  3. Enable SSH.
  4. To enable SSH, create an account at the PogoPlug website. Activate your pogoplug, then go to Settings in the Web interface, select Security Settings, and then select the checkbox for Enable SSH for this Pogoplog-enabled device. A dialog box will open and ask you to assign a password for the root use.

    Screenshot is at: Pogoplug help.

  5. Using Putty, connect to your Pogoplug.
  6. Login with root/ceadmin.

    To avoid typos, as much as possible copy all commands using your mouse and paste them into your ssh console (paste is usually just a single right click)
  7. Follow these instructions from Qui’s blog post “Hacking the Pogoplug v4 (Series 4 and Mobile) with Linux (Debian or Arch)” but only to “Debian/ALARM Installation on SD Card (or USB Hard/Flash Drive)” – DO NOT do that step.
  8. Also, make sure you install netconsole. He says it is optional but if you have problems you will need it to diagnose them. Also, install “asuc” on your windows computer that is accessing the pogoplug, asuc: A Simple Udp Console. This will let you see what’s going on inside your PogoPlug or at least initial boot without having to SSH in.

    WARNING: I”ll say that again. DO NOT DO “Debian/ALARM Installation” section in Qui’s blog. You will get what will look like a bricked device if you try to install Arch on the SD Card (if you do do this, it isn’t bricked but you will need to install debian on a flash stick and reboot and you should be able to log in by ssh) Only do the debian install onto the SD Card as illustrated in next step.
  9. Ok, now that you are done with Qui’s instructions, install Debian on the SD Card:

    If you have problems, see Qui’s post for troubleshooting

  10. Setup Debian
  11. Install Printer services:
  12. Backup CUPS configuration and install new cupsd.conf.
  13. Make sure your Printer is connected to the USB port of your PogoPlug. If you have a network printer, you can leave it networked but find out what the IP addreess of the printer is.
  14. Navigate to the ipaddress of your PogoPlug, using port 631. Example: http://192.168.031:631

    You should see the CUPS web interface. Go to Home->Add Printers and Classes->Add Printer. Follow the wizard.
    CUPS printer system works with many but not all printers. A printer connected directly through the USB port is easiest for you to setup, but you can also setup a network printer using an IP address. You will need to know how to connect and what IP protocol to use. For troubleshooting see CUPS help (links are ont he CUPS admin interface web page).

  15. Add Print Driver:

    This is what I did to print to my Samsung 4521f printer on my home network which was plugged into a Belkin router running Toastman’s mod of tomatoUSB:

    • Add Printer->Other Network Printers->LPD/LPR Host or Printer ->
    • Entering into connection: socket:// (ip address that belkin router that the printer connects to).
    • I used the Samsung ml-4500 gdi driver. (I downloaded a gdi from The driver that was listed in the CUPS in interface did not work.
  16. For security purposes, setup a separate Google gmail account to use that will be the owner of the printers.
  17. Install Cloudprint for Debian

You should be good to go. The trickiest part may be the print drivers.

Please follow and like us: