Skip to content

Instantly share code, notes, and snippets.

@manuelmorales
Last active May 7, 2024 22:14
Show Gist options
  • Save manuelmorales/4639236 to your computer and use it in GitHub Desktop.
Save manuelmorales/4639236 to your computer and use it in GitHub Desktop.
Backing up and flashing an MK808B with Finless ROM 1.5
# Read the CMDLINE
sudo ./rkflashtool r 0x0000 0x2000 > cmdline.txt
# RESULT:
# PARMWFIRMWARE_VER:4.0.4
# MACHINE_MODEL:MID
# MACHINE_ID:007
# MANUFACTURER:RK30SDK
# MAGIC: 0x5041524B
# ATAG: 0x60000800
# MACHINE: 3066
# CHECK_MASK: 0x80
# KERNEL_IMG: 0x60408000
# #RECOVER_KEY: 1,1,0,20,0
# CMDLINE: console=ttyFIQ0
# androidboot.console=ttyFIQ0
# init=/init
# initrd=0x62000000,0x00800000
# mtdparts=rk29xxnand:0x00002000@0x00002000(misc),
# 0x00004000@0x00004000(kernel),
# 0x00008000@0x00008000(boot),
# 0x00008000@0x00010000(recovery),
# 0x000C0000@0x00018000(backup),
# 0x00040000@0x000D8000(cache),
# 0x00400000@0x00236000(userdata),
# 0x00002000@0x00618000(kpanic),
# 0x00200000@0x0061A000(system),
# -@0x0073A000(user)
# First figure is the size
# Second figure is the offset
# Leading zeroes shall removed
./rkflashtool r 0x2000 0x2000 1> baks/misc 2> /dev/null
./rkflashtool r 0x4000 0x4000 1> baks/kernel 2> /dev/null
./rkflashtool r 0x8000 0x8000 1> baks/boot 2> /dev/null
./rkflashtool r 0x10000 0x8000 1> baks/recovery 2> /dev/null
./rkflashtool r 0x18000 0xC0000 1> baks/backup 2> /dev/null
./rkflashtool r 0xD8000 0x40000 1> baks/cache 2> /dev/null
./rkflashtool r 0x236000 0x400000 1> baks/userdata 2> /dev/null
./rkflashtool r 0x618000 0x2000 1> baks/kpanic 2> /dev/null
./rkflashtool r 0x61A000 0x200000 1> baks/system 2> /dev/null
# Download mk808b_finless15.zip
# Compile rkflashtool
git clone git://github.com/t20004571/mk808-tools.git
cd mk808-tools
apt-get install libusb-1.0-0-dev
gcc -o rkflashtool rkflashtool.c -lusb-1.0 -O2 -W -Wall -s
./rkflastool
# rkflashtool: fatal: usage:
# rkflashtool b reboot device
# rkflashtool r offset size >file read flash
# rkflashtool w offset size <file write flash
#
# offset and size are in units of 512 bytes
# FLASH!
./rkflashtool w 0x4000 0x4000 < FinlessROM/kernel.img 2> /dev/null
./rkflashtool w 0x2000 0x2000 < FinlessROM/misc.img 2> /dev/null
./rkflashtool w 0x8000 0x8000 < FinlessROM/boot.img 2> /dev/null
./rkflashtool w 0x10000 0x8000 < FinlessROM/recovery.img 2> /dev/null
./rkflashtool w 0x61A000 0x200000 < FinlessROM/system.img 2> /dev/null
# ./rkflashtool w 0x236000 0x400000 < FinlessROM/userdata 2> /dev/null
# ./rkflashtool w 0x618000 0x2000 < FinlessROM/kpanic 2> /dev/null
# ./rkflashtool w 0x18000 0xC0000 < FinlessROM/backup 2> /dev/null
# ./rkflashtool w 0xD8000 0x40000 < FinlessROM/cache 2> /dev/null
# Reboot
./rkflashtool b
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment