Setting up a Debian 6 VM for Moto4lin usage

Moto4lin is a Linux tool for browsing the filesystem and performing raw configuration value edits (known as "Seem edits") on old Motorola P2K phones. This outdated tool depends on some deprecated libraries not distributed anymore by most Linux distributions, hence why the usage of an old distro release is required. Debian was chosen due to their long-term archival of packages for their obsoleted releases. The 6 (Squeeze) release was the last one to provide the required dependencies.

1. Prerequisites

2. Installing Debian on the VM

For this guide VirtualBox was used. When creating the virtual machine, make sure to provide at least 512 MB of RAM and 4 GB of disk space, which should be more than enough for this task. Network access worked out of the box with VirtualBox's virtual "Intel PRO/1000 MT Desktop" adapter.

For convenience, here's how the Debian installation procedure was performed while making this guide (for a non-graphical installation):

  1. The LXDE desktop environment was chosen.
  2. When prompted for a hostname, leave the default value.
  3. When prompted for a domain name, leave it empty.
  4. Set up users and passwords as you desire.
  5. The "Guided - use entire disk" partitioning method was used. Keep in mind this will remove all data (if any) from the virtual disk. The "all files in a partition" mode was chosen.
  6. A network mirror was not used. You may get an error past this step, ignore it.
  7. Both "Graphical desktop environment" and "Standard system utilites" were installed. (use the Tab key to select the OK button)
  8. Grub was installed to the MBR.
  9. Reboot!

3. Setting up Debian

After finishing the installation and rebooting, make sure you have removed the CD image from the virtual drive so that the VM won't boot again from it.
If sucessful, you will be greeted by a login screen on your freshly installed system. Log in as the standard (non-administrator) user, then open a terminal with administrator privileges by running Start Menu > Accessories > Root Terminal. You will be prompted for the system administrator's password. We will perform most steps from here.

Since this Debian release is very outdated, their package repositories are no longer hosted at the main Debian package servers, but at the server. We have to manually fix this before we can proceed downloading any additional packages on the machine.
For this, open the /etc/apt/sources.list configuration file with a text editor of your choice (For beginners, you can use Leafpad, a simple graphical text editor. To open a file with Leafpad, execute leafpad "path/to/file" as a command. For example: leafpad "/etc/apt/sources.list")
Append the following line at the end of the text file: deb squeeze main contrib and append a # to the beginning of any line starting with "cdrom" to disable them.
Now, exit the text editor and execute apt-get update to download the package lists. If sucessful, you will come across the following:

  Fetched 6,699 kB in 4s (1,373 kB/s)
  Reading package lists... Done
  W: GPG error: squeeze Release: The following signatures were invalid: KEYEXPIRED 1520281423 KEYEXPIRED 1501892461
The error at the end is due to the GPG keys used to validate the integrity of the files having expired long time ago. This will also cause the package manager to ask whether to "install packages without validation". For this task you can ignore and accept them.
Now we are ready to install moto4lin from the repositories. Execute apt-get install moto4lin

The Zip tool for creating ZIP archives will come in handy later, too. Install it with apt-get install zip

If the VM display is at a resolution lower than 1024x720 (You can check it out at Main menu > Preferences > Monitor Settings) You will have to tweak QT3's appearance config for the moto4lin window to fit on the screen. Execute apt-get install qt3-qtconfig to install the configuration tool. Now open it from Start Menu > Preferences > Qt3 configuration. Go to the Fonts tab, and set the main font to DejaVu Sans, point size 10. Save with File > Save and exit.

4. Setting up Moto4lin and connecting

Execute moto4lin with root privileges from the terminal.

        main window>

Now, enter the Preferences menu. Connect your phone to your computer and enable the USB passthrough feature to have it passed to the VM. Wait a few seconds and click on Update List. Your phone should appear on the list. Select it and click on Set as AT Device, then Switch to P2K mode. This sends a USB Mode switch command, that will make your phone disconnect and reconnect as a different USB device, with its P2K interface exposed. For this reason, you will have to enable USB passthrough again. Wait a few seconds and update the device list again. The Product ID should change. Select it again and now click on Set as P2K Device, and save the configuration with Ok.

Now connect to the phone toggling the Connect/Disconnect option on the top bar. If sucessful, [info] Phone connected as P2K should appear on the info bar. Now get the directory listings with Update List. A directory tree should appear.

<moto4lin's directory tree>

You can expand the directories to reach its subdirectories, and select them to list their files. (Tip: On some models, J2ME apps are stored in the a/mobile/kjava/installed directory)

Now you can select any file(s) (Use Ctrl to select multiple files) and use the Download option to read and store them to your VM.

5. Tip: Taking out the files

Pack the files in a Zip archive by starting Start Menu > Accessories > File Manager, then browse to the folder where the desired files are. Select them and Right Click > Compress. Name it and set archive type to Zip.

If you have an external FAT32-formatted USB drive, an easy method is installing the Thunar file manager (apt-get install thunar) and using the USB passthrough feature. Once installed launch it from Start Menu > System Tools > Thunar file manager.
Passthrough the device and it should appear at Thunar's left bar. Copy the desired files and don't forget unmounting the volume when finished for safe extraction (Right click at the device at the left bar > Unmount Volume)

The system also comes with an "outdated" web browser (Iceweasel, rebranded Firefox) which you can still use with simple file sharing websites without too many Javascript bloat and forced HTTPS.

Original release: 20-December-2020 / Last edited: 21-December-2020
GIF animations from a Motorola C450 menu icons and screensavers. Obtained with moto4lin, of course
Thank you for reading <3