Project

General

Profile

GTI9100Bootloader » History » Revision 6

Revision 5 (Denis 'GNUtoo' Carikli, 03/08/2020 02:47 PM) → Revision 6/10 (Denis 'GNUtoo' Carikli, 03/08/2020 02:49 PM)

h1. GTI9100Bootloader 

 h2. Boot log 

 <pre> 
 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 

 </pre> 

 h2. Available commands 

 <pre> 
 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>" 
 </pre> 

 And their respective help: 
 <pre> 
 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 

 SBL>  
 </pre> 

 

 h2. Printenv 

 <pre> 
 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 :  
 </pre> 

 h2. See also 

 * https://wiki.mozilla.org/DHylands_SGS2_Console : An article about how to enable the UART in Linux through the I9100 bootloader 

 

 h2. TODO 

 * TODO: https://forum.xda-developers.com/showpost.php?p=10823240&postcount=58