0xFFFF(1)

πŸ’– NAME πŸ’–

0xFFFF β€” Open Free Fiasco Firmware Flasher, version 0.9.

Okay bestie, welcome to the General Commands Manual page for 0xFFFF(1) β€” aka the Open Free Fiasco Firmware Flasher. It’s giving firmware-girlie excellence, and we’re getting into all of it. πŸŽ€

✨ SYNOPSIS ✨

0xFFFF [options]

πŸ’» DESCRIPTION πŸ’»

0xFFFF is the Open Free Fiasco Firmware Flasher for Maemo devices. It supports generating and unpacking FIASCO images on your local computer, which is lowkey perfect for editing a Maemo firmware package for a future flash. It supports flashing any image type to a Maemo device via USB, and it also does β€œcold” flashing β€” which literally means flashing a dead device with an erased bootloader. 😭 There’s support for booting the kernel via USB without flashing to NAND, and also changing the configuration of a Maemo device (enable/disable R&D mode, changing HW revision strings, ...). Iconic.

0xFFFF is the alternative tool to the proprietary Nokia flasher-3.5 and fiasco-gen. It generates compatible FIASCO images and also accepts FIASCO images generated by Nokia fiasco-gen. No cap. πŸ’…

πŸ›  Operations πŸ› 

  • -b [cmdline] β€” boot default or loaded kernel (default: no cmdline).
  • -b update β€” boot default or loaded kernel to Update mode.
  • -r β€” reboot device.
  • -l β€” load kernel and initfs images to RAM.
  • -f β€” flash all specified images.
  • -c β€” cold flash 2nd and secondary images.
  • -x [/dev/mtd] β€” check for bad blocks on mtd device (default: all).
  • -E file β€” dump all device images to one fiasco image.
  • -e [dir] β€” dump all device images (or one -t) to directory (default: current).

βš™οΈ Device configuration βš™οΈ

  • -I β€” identify, show all information about device.
  • -D 0|1|2 β€” change root device: 0 - flash, 1 - mmc, 2 - usb.
  • -U 0|1 β€” disable/enable USB host mode.
  • -R 0|1 β€” disable/enable R&D mode.
  • -F flags β€” change R&D flags, flags are comma separated list, can be empty.
  • -H rev β€” change HW revision.
  • -N ver β€” change NOLO version string.
  • -K ver β€” change kernel version string.
  • -T ver β€” change initfs version string.
  • -S ver β€” change SW release version string.
  • -C ver β€” change content eMMC version string.

πŸ–Ό Input image specification πŸ–Ό

  • -M file β€” specify fiasco image.
  • -m arg β€” specify normal image.
arg is [[[dev:[hw:]]ver:]type:]file[%lay]
dev is device name string (default: empty)
hw are comma separated list of HW revisions (default: empty)
ver is image version string (default: empty)
type is image type (default: autodetect)
file is image file name
lay is layout file name (default: none)

🧺 Image filters 🧺

  • -t type β€” filter images by type.
  • -d dev β€” filter images by device.
  • -w hw β€” filter images by HW revision.

πŸ“¦ Fiasco image πŸ“¦

  • -u [dir] β€” unpack fiasco image to directory (default: current).
  • -g file[%sw] β€” generate fiasco image with SW rel version (default: no version).

🌸 Other options 🌸

  • -i β€” identify images.
  • -s β€” simulate, do not flash or write on disk.
  • -n β€” disable hash, checksum and image type checking.
  • -v β€” be verbose and noisy.
  • -h β€” show this help message.

πŸŽ› R&D flags πŸŽ›

  • no-omap-wd β€” disable auto reboot by OMAP watchdog.
  • no-ext-wd β€” disable auto reboot by external watchdog.
  • no-lifeguard-reset β€” disable auto reboot by software lifeguard.
  • serial-console β€” enable serial console.
  • no-usb-timeout β€” disable usb timeout for flashing.
  • sti-console β€” enable sti console.
  • no-charging β€” disable battery charging.
  • force-power-key β€” force omap boot reason to power key.

πŸ‘‘ Supported devices πŸ‘‘

  • SU-18 β€” Nokia 770
  • RX-34 β€” Nokia N800
  • RX-44 β€” Nokia N810
  • RX-48 β€” Nokia N810 Wimax
  • RX-51 β€” Nokia N900
  • RM-680 β€” Nokia N950
  • RM-696 β€” Nokia N9

πŸ¦‹ Supported image types πŸ¦‹

  • xloader
  • 2nd
  • secondary
  • kernel
  • initfs
  • rootfs
  • mmc
  • cmt-2nd
  • cmt-algo
  • cmt-mcusw

🌈 Supported connection protocols 🌈

  • Local on device
  • NOLO via USB
  • Cold flashing via USB
  • Mk II protocol via USB
  • RAW disk via USB

πŸ§ͺ EXAMPLES πŸ§ͺ

Via USB:

Identify device:

$ 0xFFFF -I

Load kernel & initfs and boot it with cmdline:

$ 0xFFFF -m initfs:<file> -m kernel:<file> -l -b "<cmdline>"

Flash kernel and reboot:

$ 0xFFFF -m kernel:<file> -f -r

Flash FIASCO image and reboot:

$ 0xFFFF -M <file> -f -r

Flash only kernel from FIASCO image and reboot:

$ 0xFFFF -M <file> -t kernel -f -r

Cold-Flash 2nd and secondary bootloaders:

$ 0xFFFF -m 2nd:<file> -m secondary:<file> -c

On device (need nanddump from mtd-utils):

Dump all images to current directory:

$ 0xFFFF -e

Dump all images to one FIASCO file:

$ 0xFFFF -E <file>

FIASCO packaging:

Show FIASCO image content:

$ 0xFFFF -M <file> -i

Unpack FIASCO image to current directory:

$ 0xFFFF -M <file> -u

Generate new FIASCO image image.fiasco from files xloader.bin, nolo.bin, zImage, rootfs and append device&version information (xloader for RX-51 hw revision: 2101 and 2102, version 1.0):

$ 0xFFFF -m RX-51:2101,2102:1.0:xloader:xloader.bin -m RX-51:2101,2102:1.0:secondary:nolo.bin -m 2.6.28:kernel:zImage -m rootfs -g image.fiasco

That’s the whole manual, bestie. Cute little sign-off for the footer vibes: 0xFFFF 0.9 Β· Jan 5 2021. πŸ’œβœ¨

πŸ“¦ where this page comes from