Installing Nokia maemo Flasher 3.5

My MacBook Pro runs El Capitan. I am trying to install Nokia's maemo Flasher 3.5, which is an application (or better a command line tool) designed for a 32-bit system (I think it would work on Leopard). If I launch the installer, I end up with a warning (the package is not compatible with my system and may be harmful). Is there a way to get it work?


Solution 1:

Metapackage decomposition shows the package was designed specifically for 10.5 and 10.6, no other versions of macOS. Installing the metapackage normally outside of these versions will copy the files to a temporary location but not actually install the software (and also not remove the temporary files, seems like bad design). For more information about the error you received, see Package is incompatible with this version of OS X. If you're sure you still wish to proceed and install this on a recent version of macOS…

The metapackage contains the following packages:

  • lib.pkg for 10.6, installs a variety of dylibs and other accompanying files
  • lib-1.pkg for 10.5, similar to lib.pkg
  • flashergitinstall.pkg for both versions, installs documentation including a readme (included below) and licence documents to /share/doc, and man gz to /share/man.
  • flasher3-1.pkg for 10.6, installs the binary to /usr/lib
  • flasher3.pkg for 10.5, similar to flasher3-1.pkg (interesting that the ‘-1’ versions are for opposite versions of macOS to the lib packages)

Excluding flashergitinstall.pkg, the packages only copy files to a temporary location (e.g. /private/tmp/pc-connectivity-bin/10.6/flasher-3.5), then run a ‘postinstall’ to move the files depending on macOS version.

Run the following to install the package:

pkgutil --expand /path/to/flasher-3.5.pkg /path/to/temp
cd /path/to/temp
xattr -rc .
sudo tar xvf ./lib.pkg/Payload -C /usr/lib
sudo tar xvf ./flasher3-1.pkg/Payload -C /usr/lib
sudo chmod +x /usr/lib/flasher-3.5

If you wish to remove the package, delete:

  • /path/to/temp
  • /usr/lib/flasher-3.5
  • the following files from /usr/lib:

For your convenience, here are the text files…

Contents of /share/man/man1/flasher-3.5.1.gz after decompression:

.TH flasher-3.5 1
.SH NAME
flasher-3.5 - Maemo flasher tool
.SH SYNOPSIS
Usage: flasher-3.5 [OPTIONS]
.SH DESCRIPTION
The  flasher  tool is used to flash data to the Maemo device internal 256MB of NAND, which is where the bootloader, kernel, and rootfs (all of which make up the operating system) are stored. Flasher can be used to upgrade the firmware, wipe the Maemo device and start from scratch, flash certain specific components, or change a number of hardware flags.
.SH OPTIONS
 -F, --fiasco=ARG            Location of a FIASCO image
 -k, --kernel=ARG            Location of kernel image
 -n, --initfs=ARG            Location of initfs image
 -r, --rootfs=ARG            Location of root JFFS2 image
     --cmt-2nd=ARG           Location of CMT FIASCO 2nd image
     --cmt-algo=ARG          Location of CMT FIASCO algorithm image
     --cmt-mcusw=ARG         Location of CMT FIASCO MCUSW image
     --cmt-no-verify         Disable verification of CMT programming
 -x, --xloader=ARG           Location of X-Loader image
 -s, --secondary=ARG         Location of NOLO secondary bootloader image
 -2, --2nd=ARG               Location of NOLO cold flasher ("2nd") image
 -u, --unpack[=ARG]          Unpack a FIASCO image
 -f, --flash                 Load and flash all supplied images
 -l, --load                  Only load all supplied images
 -b, --boot[=ARG]            Boot the kernel with optional cmdline
 -R, --reboot                Reboot the board (e.g. after flashing NOLO)
 -i, --read-device-id        Print out the device type
 -S, --serial-port=ARG       Serial port used for cold flashing or "usb"
 -I, --init-port             Only initialize the serial port
 -c, --cold-flash            "Cold flash" the device
 -h, --hw-revision=ARG       Specify product code and HW revision
     --enable-rd-mode        Enable R&D mode on the device
     --disable-rd-mode       Disable R&D mode on the device
     --set-rd-flags[=ARG]    Set R&D mode flags on the device
     --clear-rd-flags[=ARG]  Clear R&D mode flags on the device
     --query-rd-mode         Query the device R&D mode status and flags
     --set-hw-revision[=ARG] Set HW revision override on device
     --flash-only=ARG        Flash only certain components
 -U, --usb-device=ARG        Specify USB device to use (bus:device address)


Valid --flash-only options:
 nolo, kernel, initfs, rootfs

Valid --set-rd-flags and --clear-rd-flags options:
 no-omap-wd
 no-ext-wd
 no-lifeguard-reset
 serial-console
 no-usb-timeout
 sti-console
 no-charging
 force-power-key

.SH EXAMPLE

To flash a image to the Maemo device, open a terminal on your computer, then run:

.B flasher-3.5 -F <FIASCO image> -f -R

Replace  <FIASCO image>  with  the  firmware image you downloaded from Nokia. This will flash a FIASCO image to your Maemo device and reboot device after it’s done (at which point, you can unplug the USB). The procedure is the same for all other image flashing components (like separate kernel, rootfs and eMMC images), see the option list for details. If you wish to do other commands than image flashing, then omit the -R option as rebooting Maemo device may reset given configuration change back to normal.

To flash a kernel image if you have an individual image, open a terminal on your computer, then run:

.B flasher-3.5 -k <kernel zImage> -f -R

If you don't have individual images, but want to flash just a part of the whole FIASCO image you can do so by running:

.B flasher-3.5 -F <FIASCO image> --flash-only=rootfs -R

This will flash just the rootfs from the FIASCO image and reboot the device.

If you need access to the individual parts of the FIASCO image, it can be unpacked by running:

.B flasher-3.5 -F <FIASCO image> -u

Which will expand it to your current directory.

To cold flash (needed usually when the bootloader has been changed) run:

.B flasher-3.5 -c -h RX-51:<hwid> -F <FIASCO image> -S usb

The 'hwid' in the command options is a 4-digit code that can be found from the type label of the device to be flashed.

.SH AUTHOR
[email protected]

Contents of /share/doc/flasher-3.5/Readme_Maemo_Flasher-3.5.txt:

Maemo Flasher-3.5 Tool

  Copyright (C) 2009 Nokia Corporation. All rights reserved.

  Nokia and maemo are trademarks or registered trademarks of Nokia Corporation. 
  Other product and company names mentioned herein may be trademarks or trade 
  names of their respective owners. 


* DISCLAIMER

  This software is work-in-progress and use of this software requires special 
  skills and knowledge. The software and the instructions provided herein or 
  with the software may not be complete. Improper use or installation of this 
  software may harm the device you are installing it into, or the device you are 
  using it with. By accepting the License Agreement deliverd together with this 
  software you also agree to use this software at your own risk and accept that 
  Nokia assumes no liability and does not provide any warranties, support or 
  services related to the software.

* MAEMO FLASHER-3.5 DETAILS

  - Version: 2.5.2 - Final
  - Date: October 23, 2009
  - Hardware supported: Nokia N800, N810 and N810 Wimax with Diablo 4.1.x and
                        N900 with Fremantle 5.x

* SUPPORTED OPERATING SYSTEMS

  - Linuxes (Debian installation package available for Debian based Linuxes and tar ball for others)
  - Windows XP with SP3 and Vista with SP2
  - Mac OS X 10.5 Leopard and 10.6 Snow Leopard

  Notice: Linux and Windows versions of Flasher-3.5 Tool support x86/32-bit host PC architectures.  
          Mac OS X versions support x86/32-bit and PPC/32-bit architectures.

* FILES INCLUDED

  - flasher-3.5                  - flasher binary file (flasher-3.5.exe for Windows)
  - libusb                       - USB library (only for Windows and Mac OS X installations)
  - COPYING_LGPL.txt             - license text for libusb (only for Windows and Mac OS X installations)
  - License_Agreement.txt        - license and disclaimer text for flasher binary
  - Help.txt                     - short command line help 
  - Readme_Maemo_Flasher-3.5.txt - this file

* DOWNLOADS AND DOCUMENTATION

  - Flasher-3.5 download: http://tablets-dev.nokia.com/maemo-dev-env-downloads.php
  - Flasher-3.5 documentation: see command line help file

  - Sources for libusb library (LGPL v2) installed as part of Flasher-3.5 for 
    Windows and Mac OS X:
    * Libusb (Mac): http://pc-connectivity.garage.maemo.org/upstream/libusb-0.1.12.tar.gz
    * Libusb-win32 (Win): http://pc-connectivity.garage.maemo.org/upstream/libusb-win32-src-0.1.12.1.tar.gz

  - Original libusb sources are available from SourceForge.net:
    * Libusb (Mac): http://ufpr.dl.sourceforge.net/sourceforge/libusb
    * Libusb-win32 (Win): http://ufpr.dl.sourceforge.net/sourceforge/libusb-win32

* INSTALLATION

  The Flasher-3.5 tool should be installed from the installation package 
  provided for Debian based Linuxes, Windows XP/Vista and Mac OS X. For other 
  than Debian based Linux distributions also compressed tar file is provided. 

  Installation of Maemo Flasher-3.5 requires administration rights in all 
  supported operating systems.

* SHORT DESCRIPTION

  The Maemo Flasher-3.5 Tool is a command line utility that supports N900 device 
  with Fremantle 5.x platform releases and N800, N810 and N810 Wimax devices 
  with Maemo Diablo 4.1.x platform releases.

  Notice that older Maemo devices (like Nokia 770) and older Maemo platform 
  releases may require a specific Flasher Tool.

  Flasher-3.5 Tool is run from a Linux, Windows or Mac host computer as command 
  line tool, and it will send data and commands to the connected Maemo device 
  over USB. 

  Flasher-3.5 Tool can be used to:
    1. flash Maemo device with Diablo or Fremantle FIASCO image
    2. flash Maemo device (N900 only) internal memory card with eMMC image
    3. unpack FIASCO image into separate parts like kernel and rootfs images
    4. flash unpacked kernel or rootfs images to the Maemo device separately
    5. change Mameo device into R&D mode and back to normal mode
    6. set and clear R&D flags for Maemo device when in R&D mode
    7. boot Maemo device with additional kernel startup parameters 
    8. and for many other purposes

  All command line parameters supported by Flasher-3.5 Tool together with some 
  basic usage examples are documented in Help.txt file available as part of tool 
  installation package. Flasher-3.5 Tool binary gives command line help if it is 
  run without any parameter or with "--set-rd-flags" or "--clear-rd-flags" 
  parameters.

  Before flashing Maemo device with FIASCO image it is recommended to set Maemo 
  device first into flashing mode. 

  For Nokia N800 and N810 with Diablo image flashing mode can be enabled by 
      1. Turn off Maemo device (and do not use charger)
      2. Attach USB cable on your Maemo device and computer
      3. Turn on Maemo device while holding down the Home (N800) or 
         Swap (N810) hardware button  

  For Nokia N900 with Fremantle image flashing mode can be enabled by
   1. Turn off Maemo device 
   2. Press and hold down key 'u' 
   3. Connect USB cable between Maemo device and host PC while holding down key 'u'
   4. When USB cable gets connected it powers Maemo device and set's it to flashing mode
   5. When USB icon appears on right upper corner Maemo device is in flashing mode 
   6. You can release key 'u'

    You will see USB image in the upper right hand corner of the screen if you did 
    this correctly.

  Maemo device will wait for Flasher-3.5 input indefinitely when it is in 
  flashing mode. If flashing is tried without setting Maemo device first into 
  flashing mode image flashing may fail because Maemo device may not be able to 
  change to the flashing mode automatically.

  NOTICE: Make sure that device battery is fully charged before doing any 
          sort of flashing operation because flashing will fail if battery
          runs out of power during image flashing operation and device 
          may not be able to charge empty battery after failure in flashing. 

* TIPS & TROUBLESHOOTING

  If you get a "Permission denied" error then make sure you have execution 
  rights to the flasher-3.5 binary executable. You may also need to have 
  administrator permissions or run command with sudo in Linux.

  It may help to connect USB cable directly to the computer USB ports, avoiding 
  the use of a hub. The USB ports in the back of a computer may also work better 
  than using those in the front.

----
Feedback from Flasher-3.5 Tool can be sent to [email protected]