GTI9100Bootloader

Boot log

Thanks for using picocom
[gnutoo@primarylaptop ~]$ picocom -b 115200 /dev/ttyUSB0 
picocom v3.1

port is        : /dev/ttyUSB0
flowcontrol    : none
baudrate is    : 115200
parity is      : none
databits are   : 8
stopbits are   : 1
escape is      : C-a
local echo is  : no
noinit is      : no
noreset is     : no
hangup is      : no
nolock is      : no
send_cmd is    : sz -vv
receive_cmd is : rz -vv -E
imap is        : 
omap is        : 
emap is        : crcrlf,delbs,
logfile is     : none
initstring     : none
exit_after is  : not set
exit is        : no

Type [C-a] [C-h] to see available commands
Terminal ready

Welcome to Samsung Primitive Bootloader.
build time: May  8 2012 19:31:07
current time: fe/1f/7 3f:77:31

[set_mmc_ocr] Sector Mode
[hsmmc_init] MMC card is detected
Product Name : VYL00M
<display_card_info:1009> ext_csd
<display_card_info:1011>card_size: 15028
 Total Card Size: 15029 MByte

mmc_init: card initialization completed!
pbl found bootable sbl in #53248.
jump to sbl 0x4d400000.

Secondary Bootloader v3.1 version.
Copyright (C) 2011 System S/W Group. Samsung Electronics Co., Ltd.
Board: C1 REV 02 / May  8 2012 19:31:13
current time: fe/1f/7 3f:77:31

booting code=0xc0c0c0c0
[set_mmc_ocr] Sector Mode
[hsmmc_init] MMC card is detected
Product Name : VYL00M
CID:150100 56594c30 304d19da b33abb8e
<display_card_info:1046> ext_csd
<display_card_info:1048>card_size: 15028
 Total Card Size: 15029 MByte

 Total Sector Count: 30777344

MoviNand Initialization Complete!
===== PARTITION INFORMATION =====
 ID         : GANG (0x0)
 DEVICE     : MMC
 FIRST UNIT : 0
 NO. UNITS  : 0
=================================
 ID         : BOOT (0x1)
 DEVICE     : MMC
 FIRST UNIT : 0
 NO. UNITS  : 0
=================================
 ID         : EFS (0x4)
 DEVICE     : MMC
 FIRST UNIT : 8192
 NO. UNITS  : 40960
=================================
 ID         : SBL1 (0x2)
 DEVICE     : MMC
 FIRST UNIT : 49152
 NO. UNITS  : 2560
=================================
 ID         : SBL2 (0x3)
 DEVICE     : MMC
 FIRST UNIT : 53248
 NO. UNITS  : 2560
=================================
 ID         : PARAM (0x5)
 DEVICE     : MMC
 FIRST UNIT : 57344
 NO. UNITS  : 16384
=================================
 ID         : KERNEL (0x6)
 DEVICE     : MMC
 FIRST UNIT : 73728
 NO. UNITS  : 16384
=================================
 ID         : RECOVERY (0x7)
 DEVICE     : MMC
 FIRST UNIT : 90112
 NO. UNITS  : 16384
=================================
 ID         : CACHE (0x8)
 DEVICE     : MMC
 FIRST UNIT : 106496
 NO. UNITS  : 204800
=================================
 ID         : MODEM (0x9)
 DEVICE     : MMC
 FIRST UNIT : 311296
 NO. UNITS  : 32768
=================================
 ID         : FACTORYFS (0xa)
 DEVICE     : MMC
 FIRST UNIT : 344064
 NO. UNITS  : 1048576
=================================
 ID         : DATAFS (0xb)
 DEVICE     : MMC
 FIRST UNIT : 1392640
 NO. UNITS  : 4194304
=================================
 ID         : UMS (0xc)
 DEVICE     : MMC
 FIRST UNIT : 5586944
 NO. UNITS  : 24133632
=================================
 ID         : HIDDEN (0xd)
 DEVICE     : MMC
 FIRST UNIT : 29720576
 NO. UNITS  : 1048576
=================================
loke_init: j4fs_open..success
<start_checksum:1033>CHECKSUM_HEADER_SECTOR :42
<start_checksum:1035>offset:42, size:1024
Not Need Movinand Checksum
load_lfs_parameters valid magic code and version.
switch_sel_str='1'
load_debug_level: read debug level successfully(0x574f4c44)...LOW
init_ddi_data: usable ddi data.
init_fuel_gauge : not por status
fuel_gauge_get_version: [1]=0, [0]=92
init_fuel_gauge: vcell = 3846 mV, vfocv = 3877 mV, soc = 62 
microusb_get_attached_device: STATUS1:0x3c, 2:0x0
microusb_get_attached_device: STATUS1:0x3c, 2:0x0
6280 = (382600 - 337808)*14022/100000
[3] 388175 = (6280 * 100000) / 11164 + 331923
init_microusb_ic: MUIC: CONTROL1:0x1b
init_microusb_ic: MUIC: CONTROL1:0x1b
init_microusb_ic: MUIC: CONTROL2:0x1a
init_microusb_ic: MUIC: CONTROL2:0x3a
reading nps status file is successfully!.
nps status=0x504d4f43
PMIC_IRQSRC  = 0x0 
PMIC_IRQ1    = 0xb 
PMIC_IRQ2    = 0x1a 
PMIC_IRQ3    = 0x0 
PMIC_IRQ4    = 0x11 
PMIC_STATUS1 = 0x1 
PMIC_STATUS2 = 0x10 
PMIC_STATUS3 = 0x0 
PMIC_STATUS4 = 0x0 
bootloader base address=0x4d400000
LPDDR0 1st. cached=0x40000000, size=0xe400000
LPDDR0 non-cached=0x4e400000, size=0xa00000
LPDDR0 2nd. cached=0x4ee00000, size=0x1200000
RST_STAT = 0x10000
get_hwrev() = 14
board_process_platform: MAGIC c0c0c0c0 at 40000000!
microusb_get_attached_device: STATUS1:0x3c, 2:0x0
microusb_get_attached_device: STATUS1:0x3c, 2:0x0
microusb_get_attached_device: STATUS1:0x3c, 2:0x0
microusb_get_attached_device: STATUS1:0x3c, 2:0x0
hw_pm_status: jig_status = 1, chg_status = 0
s5p_set_high_clk: ARM Clock = 800MHz.
......kernel is non signed binary.
DISPLAY_PATH_SEL[MDNIE 0x1]is on
div:2, FB_SOURCE_CLOCK:667000000, FB_PIXEL_CLOCK:25067520
MDNIE setting Init start!!
vsync interrupt is off
video interrupt is off
[fb0] turn on
MDNIE setting Init end!!

Autoboot (0 seconds) in progress, press any key to stop 
boot_kernel: debug level low!
checkbit: find RECOVERY
checkbit (0)
......kernel is non signed binary.
ATAG_CORE: 5 54410001 0 0 0
MEMCONFIG: 20e01323 20e01323
ATAG_MEM: 4 54410002 10000000 40000000
ATAG_MEM: 4 54410002 10000000 50000000
ATAG_MEM: 4 54410002 10000000 60000000
ATAG_MEM: 4 54410002 10000000 70000000
ATAG_SERIAL: 4 54410006 b33abb8e 304d19da
ATAG_REVISION: 3 54410007 e
hardware_ID : 0019dab33abb8e
ATAG_CMDLINE: 40 54410009 'loglevel=4 console=ram androidboot.serialno=[...] sec_debug.enable=0 sec_debug.enable_user=0 c1_watchdog.sec_pet=5 sec_log=0x100000@0x4d900000 s3cfb.bootloaderfb=0x5ec00000 ld9040.get_lcdtype=0x2 consoleblank=0 lpj=3981312 vmalloc=144m'
ATAG_NONE: 0 0

Starting kernel at 0x40008000...

AST_POWERON

Available commands

SBL> help
Following commands are supported:
* movichk
* setenv
* saveenv
* printenv
* help
* reset
* boot
* kernel
* loadpart
* loadkernel
* erasepart
* format
* open
* close
* eraseall
* showpart
* addpart
* delpart
* savepart
* nkernel
* nandread
* nandwrite
* usb
* crc
* log
* sud
* upload
* emmc
* keyread
* mmctest
* usb_read
* usb_write
* fuelgauge
To get commands help, Type "help <command>" 

And their respective help:

SBL> help movichk
* Help : movichk
* Usage : 

SBL> help setenv
* Help : setenv
* Usage : setenv [name] [value] . .
    Modify current environment info on ram

SBL> help saveenv
* Help : saveenv
* Usage : saveenv
    Save cuurent environment info to flash

SBL> help printenv
* Help : printenv
* Usage : printenv
    Print current environment info on ram

SBL> help help
* Help : help
* Usage : help [command]

SBL> help reset
* Help : reset
* Usage : reboot
Reboot system

SBL> help boot
* Help : boot
* Usage : boot [kernel options]
Boot Linux with optional kernel options

SBL> help kernel
* Help : kernel
* Usage : kernel hex_adr
Change the Linux kernel base

SBL> help loadpart
* Help : loadpart
* Usage : load partition from storage device.

SBL> help loadkernel
* Help : loadkernel
* Usage : load kernel from storage device.

SBL> help erasepart
* Help : erasepart
* Usage : erase partition.

SBL> help format
* Help : format
* Usage : format
    format device

SBL> help open
* Help : open
* Usage : open
    open device

SBL> help close
* Help : close
* Usage : close
    close device

SBL> help eraseall
* Help : eraseall
* Usage : eraseall
    erase all units

SBL> help showpart
* Help : showpart
* Usage : showpart
    show partition information

SBL> help addpart
* Help : addpart
* Usage : addpart <id> <attr> <unit>
    add partition information
       - ex) addpart 0x(id) 0x1(attr) 0x10(units)

SBL> help delpart
* Help : delpart
* Usage : delpart
    delete last partition information

SBL> help savepart
* Help : savepart
* Usage : savepart
    save partition information

SBL> help nkernel
* Help : nkernel
* Usage : nkernel command
* Usage : nkernel
    read kernel from flash to DDR

SBL> help nandread
* Help : nandread
* Usage : * Usage : nandread <PARTID> <SIZE>
    read partition from flash to SDRAM(0x80000000)

SBL> help nandwrite
* Help : nandwrite
* Usage : * Usage: nandwrite <PARTID> <SIZE>
    write partition from SDRAM(0x80000000) to flash

SBL> help usb
* Help : usb
* Usage : usb download command

SBL> help crc
* Help : crc
* Usage : crc <crc> <addr> <len>

SBL> help log
* Help : log
* Usage : print log

SBL> help sud
* Help : sud
* Usage : sud command

SBL> help upload
* Help : upload
* Usage : upload

SBL> help emmc
* Help : emmc
* Usage : emmc <addr>

SBL> help keyread
* Help : keyread
* Usage : *Usage : keyread 

SBL> help mmctest
* Help : mmctest
* Usage : mmctest <addr> <start block> <number of blocks>

SBL> help usb_read
* Help : usb_read
* Usage : usb_read reg
Read the usb ic register

SBL> help usb_write
* Help : usb_write
* Usage : usb_write reg, val
Read the usb ic register

SBL> help fuelgauge
* Help : fuelgauge
* Usage : *usage : fuelgauge

Printenv

SBL> printenv   
PARAM Rev 1.3
SERIAL_SPEED : 7
LOAD_RAMDISK : 0
BOOT_DELAY : 0
LCD_LEVEL : 97
SWITCH_SEL : 1
PHONE_DEBUG_ON : 0
LCD_DIM_LEVEL : 0
LCD_DIM_TIME : 6
MELODY_MODE : 1
REBOOT_MODE : 0
NATION_SEL : 0
LANGUAGE_SEL : 0
SET_DEFAULT_PARAM : 0
FLASH_LOCK_STATUS : 1
PARAM_INT_14 : 0
VERSION : I9000XXIL
CMDLINE : loglevel=4 console=ram
DELTA_LOCATION : /mnt/rsv
PARAM_STR_3 : 
PARAM_STR_4 : 

How to enable serial console for Replicant 6.0 kernels

To get the UART enabled at boot with the Replicant 6.0 kernel and the stock bootloader, see the DHylands_SGS2_Console page on the mozilla wiki.

TODO