• Stars
    star
    164
  • Rank 225,323 (Top 5 %)
  • Language
    C
  • Created over 6 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Allows to unpack and repack AMLogic images for Android 7 without the Customization Tool

Linux AMLogic Toolkit

Allows to unpack and repack AMLogic Android images on Linux systems without using the Customization Tool - works for Android 7.

Features

  • Unpack and repack any image
  • Mount and edit system partition
  • Unpack and repack logo partition (for bootup and upgrading logos)
  • Unpack and repack boot image and initrd ramdisk
  • Flash the image directly to a device without repacking it (faster than using the USB Burning Tool)
  • Works for Android 7
  • No need to unpack the image each time you want to use the tool

What it cannot do (yet)

  • Edit other partitions of the image such as recovery (you can still replace the PARTITION files by hand)

Dependencies

  • zlib1g-dev for simg2img and img2simg
  • libblkid-dev for abootimg (unpacking and repacking boot image)
  • the i386 packages if needed (for the logo unpacking / repacking binary)

How to use it

  • Clone or download this repository
  • Install the dependencies
  • Move to the directory of the repository, and stay there
  • (first time, or after a cleanup) Run ./bin/build to build the required tools
  • (when editing a new image file) Run ./bin/unpack input.img to unpack input.img
  • The result is :
    • output/image : raw image files (PARTITION files)
    • output/system : system partition files
    • output/logo : logo partition files
    • output/boot : boot partition files
  • From now on you can edit the files of the output directory
    • Note that those files will be overwritten when repacking :
      • output/image/system.PARTITION
      • output/image/boot.PARTITION
      • output/image/logo.PARTITION
      • output/boot/initrd.img if using ./bin/extract_initrd
    • If you happen to loose the output/system mounting point (after a reboot for instance), just run ./bin/remount to mount it again
    • On the other hand, you can unmount the system partition using ./bin/unmount
    • If you want to extract the initrd ramdisk, use the ./bin/extract_initrd and ./bin/recreate_initrd scripts (output in output/initrd)
  • Be careful :
    • Don't break everything by chmod'ing the whole output/system folder, because it will be replicated in the image and it won't boot !
    • Don't rename the files in output/boot.img
    • If you extract and recreate the initrd ramdisk, its size will change and it will most likely break the boot image. To fix this, edit the bootimg.cfg file in output/boot to replicate the change in size (you can repack the image, let it fail and read the logs to see the new size).
  • When you have finished editing the files, run ./bin/repack output.img to repack the image to output.img
  • Additionnaly, you can use ./bin/flash to flash the image to a device through USB (you will need the udev rule, see https://github.com/Stane1983/aml-linux-usb-burn)
    • The device type (gxl) is hardcoded into the flashing script, edit it if you're not using S905, S905X or S919
  • Done !

Troubleshooting

Credits

More Repositories

1

borealis

Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx)
C++
249
star
2

painless-linux

Boot Linux on the Switch without imx_usb_loader - Windows, Linux, Mac OS & Android
Python
159
star
3

Steam-Apps-Manager

Windows software to move Steam apps between disks
C#
27
star
4

switch-nanovg

Nintendo Switch nanovg "port"
C
19
star
5

ramponlang

A Mr. Rampon inspired "programming language"
Shell
16
star
6

spotify-library-blind-test

A blind test for your Spotify library tracks
HTML
7
star
7

progression-confinement-france

Nous sommes en guerre
HTML
6
star
8

openedt

Application Android libre de consultation d'emplois du temps universitaires
Java
6
star
9

AmlImagePacker

Tool which packs a Amlogic ROM into a burnable IMG file
C++
6
star
10

switch-pkgs

Switch packages for devkitpro pacman
Shell
4
star
11

RetroMachine-TeensyduinoSketch

The Teensyduino sketch for the RetroMachine game controller (Teensy LC)
Arduino
4
star
12

Widgeteer

Write cross-platform Flutter apps in pure Swift with a SwiftUI-like syntax
Dart
3
star
13

Simple-3DS-GBA-Banner-Icon-Generator

Grab and generate 3DS GBA Virtual Console Icons and Banners from libretro's thumbnails database
C#
3
star
14

ScarletUI

Swift
2
star
15

wow-smart-recruitment-macro

A decentralized WoW guild recruitment macro which doesn't suck - the GM updates it, it spreads to everyone, even offline players
Lua
2
star
16

launchmycraft

Open source reimplementation of the Minecraft Launcher, wired to the LaunchMyCraft servers
Java
2
star
17

khanar

Gestionnaire de fichiers en C++, dans le cadre d'un projet de développement de L3 Informatique à l'Université de Nantes.
C++
2
star
18

Ripple

PoC of a Swift data-driven UI framework using Combine, autoclosures and code generation to obtain a SwiftUI-like syntax
Swift
1
star