Draft:MotoMAGX

MotoMAGX
Distribution of Linux
Placeholder.png
Motodesk.png
ArchitectureARM32
Release type
Initial release2007
Latest version
User interface
Package manager
Terminal shell
Status
Discontinued

MotoMAGX[1] was an ARM 32-bit Linux operating system developed by Motorola, based on Montavista Mobilinux[2], released in 2007 and incorporating OpenEZX [3]technologies, for its line of mobile phones based on the EZX platform. It is not considered a Linux distribution, as it is only included on specific Motorola cell phones, and is not easily portable to other devices.


It was used in mid-end and high-end GSM mobile phones from Motorola, starting in 2007 and being discontinued with the entry of the Android-based mobile phone series.


The system used Linux Kernel 2.6, and Motorola distributed the kernel source code on its own website, for developers who were interested in making modifications to the system.[4]

Features[edit source]

-Native web browser based on Opera Mobile (not to be confused with Opera Mini) [5]

-Linux kernel 2.6.10-dev (customized by Motorola and Montavista)

-Support for JavaME (J2ME) games and applications and SDL applications made with MOTODEV Studio for Linux.

-Native multitasking support (although restricted to the small memory size of cell phones at the time)

-Support for FAT32 file systems on MicroSD HC memory cards

-Support as a mass storage device via USB or Modem mode, for use on a computer as a GSM modem, to allow Internet connection via GPRS to the computer.

-Proprietary graphics server (not X11), developed by Motorola, compatible with SDL applications.

-Support for GSM, GPRS, WiFi and Bluetooth 2.0 networks (varies from device to device)

-Support for touch screens (Motorola A1200, although based on OpenEZX) and dual-screen (Motorola V8, this one running MotoMAGX).

Multimedia[edit source]

The system has native support for WMA (Windows Media Audio) files, as well as support for synchronizing playlists with Windows Media Player 11 onwards.

Additionally, native support for a wider variety of multimedia and web formats (.flac, .avi, .mpg, .mp4, .mp3, .wma, .bmp, .png, .jpg, .htm/html) and and DRM-protected music formats (MP3/WMA) are also included.

Internet[edit source]

The system incorporates the Opera Mobile browser, a version of the Opera browser developed for cell phones, which allowed high-speed browsing of web pages (mobile). The browser also had (primitive) support for Javascript, allowing the use of more advanced websites and allowing some desktop pages to be viewed on the cell phone without major problems. Older versions of the Youtube website could be run on the devices satisfactorily.


Although most devices using this operating system did not have WiFi at the time, but your system already inherited native drivers and protocols from the Kernel for use with WiFi. Internet browsing was mostly carried out via the "fast" GPRS network or via slow Dial-Up mode.


Applications[edit source]

By default, on a cell phone with original factory firmware, the system was only compatible with JavaME applications (J2ME[6] in .jar format), which was already a widely accepted standard among several cell phone manufacturers at that time. However, Java applications were limited to the capabilities of the JavaME emulator, which prevented applications from truly taking advantage of the features of the Linux system.

Users can download games and applications directly from their operator's store or from third-party websites. However, an inconvenient factor is that most J2ME games have a fixed resolution, so the user was responsible for obtaining the file with the correct resolution for their device.


Devices running MotoMAGX [7][edit source]

Phone SoC LinuxJava version Notes
Motorola AURA MXC91231 (SCM-A11) LJ 6.3
Motorola E8 MXC91231 (SCM-A11) LJ 7.1
Motorola EM30 MXC91231 (SCM-A11) LJ 7.1
Motorola EM35 MXC91231 (SCM-A11) LJ 7.4
Motorola i856 MXC91131 (Zeus) ???
Motorola i876 MXC91131 (Zeus) ???
Motorola i890 MXC91131 (Zeus) ???
Motorola i9 MXC91131 (Zeus) ???
Motorola PAROS MXC91321 (ArgonLV) LJ 7.1 Cancelled
Motorola SAIPAN MXC91231 (SCM-A11) LJ 6.1 Cancelled
Motorola U9 MXC91231 (SCM-A11) LJ 6.3
Motorola V8 MXC91231 (SCM-A11) LJ 6.1
Motorola VA76r MXC91321 (ArgonLV) LJ 7.1 Only released MOTOMAGX-based device using ArgonLV SoC
Motorola VE66 MXC91231 (SCM-A11) LJ 7.4
Motorola Z6 MXC91231 (SCM-A11) LJ 6.1 First MOTOMAGX-based phone
Motorola Z6w MXC91231 (SCM-A11) LJ 6.3
Motorola ZN5 MXC91231 (SCM-A11) LJ 6.3

Modifications and native Linux applications[edit source]

Motorola provided the system source code freely to developers, but warned them that this would void the device's warranty.[8]


Custom firmwares (called "Linuxmod")[9] (article in PT-BR) opened the door for the use of Linux applications running natively, without being limited to J2ME applications, taking advantage of the maximum performance that the processor and memory can offer, and taking advantage of native Linux resources. Packages in .mpkg format (which is a .zip file with a shell script and an application ID file, with a subset of the application files itself [10]) were distributed with small games ported from Linux, emulators, terminals, various applications and more sophisticated media players. Also, native SDL Linux applications for MotoMAGX or Mobilinux could be developed with the MOTO DEV Studio for Linux application.


Applications that use the SDL library can be easily ported without much difficulty, and normally, it would be enough to just recompile the code (and libs) for the cell phone's ARM32 architecture.


Although the original firmware only supports memory cards formatted in FAT32 by default, developers can enable support for other file systems, such as NTFS (read-only), ext2 and another Linux features, like NFS, FTP server and swap.


Kernel digital signature

The firmware can only be modified with an unlocked bootloader, and thus allow a new Kernel to be written.


The bootloader, however, required a digital signature to be applied to the Kernel in order for it to be accepted, and, curiously, it was nothing more than changing a couple of bytes and a certain offset of the Kernel. This offset varies according to the bootloader.


File system

The system adopted small partitions for firmware blocks, usually leaving the Kernel in a partition separate from the system root (/), as Android phones traditionally do. Thus, a new Kernel can be installed without the need to burn a new system.


Dual-boot mode

The firmware adopts a partition structure whose data is stored in small separate images in the SquashFS format. Modified firmwares can boot the system from SquashFS images from the memory card, allowing, in practice, a dual-boot process. This is a native feature of the Linux Kernel that can also be taken advantage of in the MotoMAGX. A shell .sh file is located at the root of the system, which contains the entire system startup script, its modules and services. This can be modified (with caution) to allow the firmware to be loaded from an SD card.

List of known builds[edit source]

References[edit source]