supersmurfs

  • Posts

    11
  • Joined

  • Last visited

Reputation Activity

  1. Like
    supersmurfs reacted to SteeMan in Can anyone explains what are the steps for making a TV box works with armbian?   
    This comment is likely superceeded by balbes and jock's posts, but I wanted to just provide my thoughts on the android dtb issues. 
    The way I like to think about dtbs is they are glue code between the kernel and the hardware.  We often think of them only from the perspective of the hardware, which once a box is built the hardware doesn't change (although boxes can change over the course of different manufacturing runs providing different board revisions).  But the kernel is an evolving code base and even though the hardware may be fixed, the dtb glue may need to change over time as the kernel code changes.  Thus technically dtbs are kernel version specific (but in practice the changes in the kernel generally are not significant over smaller periods of time).
    However....  When it comes to android kernels two factors come into play, one is that android kernels tend to be highly forked/patched from mainline kernels and second, android kernels tend to be based off very old kernels.  So for example an android 4.4 based kernel is really a 5 year old kernel, and a lot has changed in the kernel over a 5 year period.
    Also, making this more complex is that fact that sbc/tv box support has only been added to mainline kernels fairly recently.  So older android or legacy kernels that were supported were highly patched kernels.
    Armbian is generally focused on current mainline kernels (after all that is where the future support will all take place), and therefore a 5.10/5.12 kernel is very different in how it supports sbc/tv box hardware than a 4.4/4.x legacy/android kernel. 
    The end result is to not expect an android dtb to work with a mainline kernel.  That doesn't mean that there isn't a lot to be learned from an older dtb file, but the process is much more complicated than simply getting the old andoird dtb and using it on a mainline kernel and expecting it to work.
  2. Like
    supersmurfs reacted to Clonazepunk in Can anyone explains what are the steps for making a TV box works with armbian?   
    That's not true 
    We have a lot of people who could boot Armbian on their boxes by using the original DTB file. 
     
    Sometimes, is the only way
  3. Like
    supersmurfs reacted to Clonazepunk in Can anyone explains what are the steps for making a TV box works with armbian?   
    Hi! 
     
    Well, directly to your questions 
     
    The first step to compile a operating system to any ARM board is to know your board's Device Tree (DTB file)
     
    You can extract the DTBs from the stock Android ROM. I do it on Linux using the tool binwalk to lookup the image and find the DTBs
    There are other methods you can search 
     
    About the u-boot, you can't use the Android u-boot. Android uses very old kernels, so it's U-Boot release Is made to boot those. 
    You need a modern U-Boot release, so that's your first step 
     
    To bring Linux to a new board, you'll need to compile U-Boot from source and use the DTB file you just extracted from the stock Android ROM. 
     
    After that, you can use the Armbian kernel and use any Armbian image or even use your own custom rootfs 
     
    My boxes are running Arch Linux ARM actually! 
     
    If you get stuck in one of those steps, just post it here or, if you want to, PM me 
     
    Good luck!
  4. Like
    supersmurfs got a reaction from Clonazepunk in Can anyone explains what are the steps for making a TV box works with armbian?   
    Yes, I am new to forum. 
    Yes, I searched. 
    But I still have questions. 
     
    My story: At the beginning of the year (2021) I bought one orange pi zero 2 board at a good price. It was around 18 euro. I am very happy with the small board. So I was think to buy a second one. Turn out due to global chip shortage, the price of the board jump to 27 euro. The price is not attritive for me any more. Then I watched a youtube video. I think a lot of people watch the same video. Armbian install on H6 tv Box. so I bought the 'same' Tv box. Apparently, I did not read the spec carefully. The model I bought it is not with H6 CPU, but with H616 CPU. Yes, all the steps which from youtube wont work with my TV box. Then I found out TV box is not active support by Armbian anyway. Armbian is support more on the SBC, such as the orange pi zero 2. 
     
    here are my questions:
    What is big difference between Orangepi zero 2 image and armbian image? if read this page https://github.com/orangepi-xunlong/orangepi-build, it says it based on armbians. As I understaand, to make armbian work on tv box, the first step you need a working u-boot for your tv box. is it possible to dump uboot and dtb file from the android tv box? I can see the android tv box already using u-boot from 2018. if possible to dump u-boot the from android tv box, what are the next steps? build your own armbian images? or same steps like the youtuber video, first burn normal armbian image, then burn u-boot image , then then manually do some tweaks.  
    h616 tv box boot log. 
    =~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2021.06.12 11:46:20 =~=~=~=~=~=~=~=~=~=~=~= [182]HELLO! BOOT0 is starting! [185]BOOT0 commit : 904a4b2 [187]set pll start [190]periph0 has been enabled [193]set pll end [195]unknow PMU [197]PMU: AXP806 [204]vaild para:16 select dram para0 [207]board init ok [209]DRAM BOOT DRIVE INFO: V0.60 [213]the chip id is 0x5000 [215]chip id check OK [218]DRAM_VCC set to 1500 mv [220]DRAM CLK =600 MHZ [223]DRAM Type =3 (3:DDR3,4:DDR4,7:LPDDR3,8:LPDDR4) [230]Actual DRAM SIZE =2048 M [233]DRAM SIZE =2048 MBytes, para1 = 30fb, para2 = 8000000, dram_tpr13 = 6041 [246]DRAM simple test OK. [249]rtc standby flag is 0x0, super standby flag is 0x0 [254]dram size =2048 [257]card no is 2 [259]sdcard 2 line count 8 [262][mmc]: mmc driver ver 2019-12-19 10:41 [266][mmc]: set f_max to 50M, set f_max_ddr to 50M [271][mmc]: mmc 2 bias 4 [279][mmc]: ***Try MMC card 2*** [416][mmc]: MMC 5.1 [418][mmc]: HSDDR52/DDR50 8 bit [421][mmc]: 50000000 Hz [424][mmc]: 14910 MB [426][mmc]: ***SD/MMC 2 init OK!!!*** [488]Loading boot-pkg Succeed(index=0). [492]Entry_name = u-boot [501]Entry_name = monitor [505]Entry_name = dtbo [508]Entry_name = dtb [511]tunning data addr:0x4a0003e8 [515]Jump to second Boot. NOTICE: BL3-1: v1.0(debug):b8b5557 NOTICE: BL3-1: Built : 15:01:11, 2021-01-11 NOTICE: BL3-1 commit: 8 ERROR: Error initializing runtime service tspd_fast NOTICE: BL3-1: Preparing for EL3 exit to normal world NOTICE: BL3-1: Next image address = 0x4a000000 NOTICE: BL3-1: Next image spsr = 0x1d3 ÿ U-Boot 2018.05-gdd0276b-dirty (Feb 01 2021 - 10:50:58 +0800) Allwinner Technology [00.591]CPU: Allwinner Family [00.593]Model: sun50iw9 I2C: ready [00.598]DRAM: 2 GiB [00.601]Relocation Offset is: 75ec5000 [00.640]secure enable bit: 0 [00.642]pmu_axp152_probe pmic_bus_read fail [00.647]PMU: AXP806 [00.648]PMU: pmu_axp806 found [00.652]dcdce_vol = 3300, onoff=1 [00.656]aldo1_vol = 3300, onoff=1 [00.659]bldo1_vol = 1800, onoff=1 [00.662]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=400Mhz [00.853]sunxi overlay merged okqv [00.857]init_clocks:finish [00.859]drv_disp_init [00.884]HDMI 2.0 driver init start! [00.893]__clk_enable: clk is null. [00.896]hdmi cec clk enable failed! [00.902]drv_disp_init finish [00.904]gic: sec monitor mode [00.907]sunxi flash type@2 not support fast burn key [00.923]node ir_recovery_key_code4 get failed! [00.944]flash init start [00.946]workmode = 0,storage type = 2 [00.949]MMC: 2 [00.951]mmc driver ver uboot2018:2019-12-13 9:48:00 [00.955]get mem for descripter OK ! [00.960]Set eMMC Power Mode to 1.8V! [00.964]card2 io is 1.8V. [00.970]get card2 disable pin fail [00.973]get sdc_ex_dly_used 2, use auto tuning sdly [00.977]get sdc_ex_dly_used 2, use auto tuning sdly [00.982]get sdc2 sdc_boot0_sup_1v8 fail. [00.987]get card-pwr-gpios faild [00.989]get card2_boot_para:time_pwroff_ms:use default time_pwroff:200 [00.996]io is 1.8V [00.997]init mmc 2 clock and io [01.000]devnum 2, prv bffab350, bdesc bbf0ab6c [01.004]SUNXI SD/MMC: 2 [01.007]==================== work mode: 0 0, sample_mode:2 [01.012]=============== start mmc_init_boot... [01.154]MMC version:4 [01.156]mmc_startup: set clock 50000000 [01.160]Best spd md: 4-HS400, freq: 3-100000000 [01.164]already at HSSDR52_SDR25 mode [01.167]Bus width 8 [01.169]sunxi flash init ok [01.173]Loading Environment from SUNXI_FLASH... OK [01.181]no secure os for keybox operation [01.185]try to burn key [01.188]read item0 copy0 [01.190]the secure storage item0 copy0 is good [01.194]no item name key_burned_flag in the map [01.198]sunxi secure storage has no flag [01.202]usb burn from boot delay time 0 weak:otg_phy_config [01.215]usb prepare ok [02.018]overtime [02.022]do_burn_from_boot usb : no usb exist [02.026]boot_gui_init:start FAT: Misaligned buffer address (bbe80cb8) 34 bytes read in 4 ms (7.8 KiB/s) [02.044]get format[40a] for type[4] [02.047]get format[20b] for type[2] [02.201][HDMI2.0]CEA VIC=16: [02.203]1920x1080p[02.205]@60 Hz [02.206]16:9, [02.207]8-bpp [02.209]YCbCr-444 [02.210]BT709 [02.211]eotf:SDR_LUMINANCE_RANGE [02.327]switch device: sel=0, type=4, mode=10, format=1, bits=0, eotf=4, cs=257 [02.334]boot_gui_init:finish [02.338]bmp_name=bootlogo.bmp 2764856 bytes read in 17 ms (155.1 MiB/s) [02.374]no item name device_unlock in the map [02.378]no item name fastboot_status_flag in the map [02.382]sunxi secure storage has no flag [02.388]hsddr 2-50000000 [02.390]hs200 5-200000000 [02.392]hs400 4-150000000 [02.395]get max-frequency ok 50000000 Hz [02.398]0 0 0: 0 0 0 [02.402](weak)update dtb dram start [02.406]update dtb dram end [02.409]update dts [02.410]no item name rootwait init in the map ** Unrecognized filesystem type ** [02.424]load file(ULI/factory/rootwait init.txt) error. [02.428]no item name snum in the map ** Unrecognized filesystem type ** [02.441]load file(ULI/factory/snum.txt) error. [02.445]name in map mac [02.447]update mac = 481011280498, source:secure [02.452]no item name wifi_mac in the map ** Unrecognized filesystem type ** [02.464]load file(ULI/factory/wifi_mac.txt) error. [02.469]no item name bt_mac in the map ** Unrecognized filesystem type ** [02.481]load file(ULI/factory/bt_mac.txt) error. [02.485]no item name selinux in the map ** Unrecognized filesystem type ** [02.498]load file(ULI/factory/selinux.txt) error. [02.503]no item name specialstr in the map ** Unrecognized filesystem type ** [02.515]load file(ULI/factory/specialstr.txt) error. [02.520]name in map hx_flag [02.523]update hx_flag = 216, source:secure [02.527]MAC address changed to: 48:10:11:28:04:98 [02.558]update part info [02.560]key 0 [02.563]cant find rcvy value [02.568]cant find fstbt value [02.572]misc partition found [02.584]update bootcmd [02.586]serial num is: 2c001415a30109922ce [02.589]Net: [02.591]Net Initialization Skipped [02.594]No ethernet found. Hit any key to stop autoboot: 0 [02.607]partinfo: name boot, start 0x2a000, size 0x10000 [02.725]in boot normal mode,pass normal para to cmdline [02.731]android.hardware = sun50iw9p1 [02.791]Starting kernel ...  
    then I tried two images, one from armbians which wont boot. another one is orange pi zero 2 image. at least I see something happens. I know it wont work. because they are different hardwares.
    =~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2021.06.18 09:19:20 =~=~=~=~=~=~=~=~=~=~=~= U-Boot SPL 2021.01-rc5-armbian (May 06 2021 - 18:50:04 +0000) DRAM: 1024 MiB Trying to boot from MMC1 MMC: no card present spl: mmc init failed with error: -123 SPL: failed to boot from all boot devices ### ERROR ### Please RESET the board ### [216]HELLO! BOOT0 is starting May 13 2020 14:10:04! [221]BOOT0 commit : 593cf83 [224]set pll start [227]periph0 has been enabled [230]set pll end [231]unknow PMU [233]PMU: AXP806 [240]vaild para:1 select dram para0 [244]board init ok [246]DRAM BOOT DRIVE INFO: V0.52 [249]the chip id is 0x5000 [252]chip id check OK [254]DRAM_VCC set to 1500 mv [258]write_leveling error [261]read_calibration error [265]write_leveling error [267]read_calibration error [271]write_leveling error [274]read_calibration error [278]write_leveling error [281]read_calibration error [285]write_leveling error [288]read_calibration error [291]write_leveling error [294]read_calibration error [298]write_leveling error [301]read_calibration error [305]write_leveling error [308]read_calibration error [312]write_leveling error [315]read_calibration error [318]write_leveling error [321]read_calibration error [324]retraining final error [328]write_leveling error [331]dx_high 16bit write training error [335]dx_high 16bit write training error [339]dx_high 16bit write training error [344]dx_high 16bit write training error [348]dx_high 16bit write training error [352]write_training error [356]write_leveling error [359]dx_high 16bit write training error [363]dx_high 16bit write training error [367]dx_high 16bit write training error [371]dx_high 16bit write training error [376]dx_high 16bit write training error [380]write_training error [384]write_leveling error [386]dx_high 16bit write training error [391]dx_high 16bit write training error [395]dx_high 16bit write training error [399]dx_high 16bit write training error [403]dx_high 16bit write training error [408]write_training error [411]write_leveling error [414]dx_high 16bit write training error [418]dx_high 16bit write training error [423]dx_high 16bit write training error [427]dx_high 16bit write training error [431]dx_high 16bit write training error [435]write_training error [439]write_leveling error [442]dx_high 16bit write training error [446]dx_high 16bit write training error [450]dx_high 16bit write training error [455]dx_high 16bit write training error [459]dx_high 16bit write training error [463]write_training error [467]write_leveling error [470]dx_high 16bit write training error [474]dx_high 16bit write training error [478]dx_high 16bit write training error [482]dx_high 16bit write training error [487]dx_high 16bit write training error [491]write_training error [494]write_leveling error [497]dx_high 16bit write training error [502]dx_high 16bit write training error [506]dx_high 16bit write training error [510]dx_high 16bit write training error [514]dx_high 16bit write training error [519]write_training error [522]write_leveling error [525]dx_high 16bit write training error [529]dx_high 16bit write training error [534]dx_high 16bit write training error [538]dx_high 16bit write training error [542]dx_high 16bit write training error [546]write_training error [550]write_leveling error [553]dx_high 16bit write training error [557]dx_high 16bit write training error [561]dx_high 16bit write training error [566]dx_high 16bit write training error [570]dx_high 16bit write training error [574]write_training error [578]write_leveling error [581]dx_high 16bit write training error [585]dx_high 16bit write training error [589]dx_high 16bit write training error [593]dx_high 16bit write training error [598]dx_high 16bit write training error [602]write_training error [604]retraining final error [609]read_calibration error [612]read_calibration error [616]read_calibration error [620]read_calibration error [624]read_calibration error [628]read_calibration error [632]read_calibration error [636]read_calibration error [640]read_calibration error [644]read_calibration error [647]retraining final error [651][AUTO DEBUG]16 bit,1 ranks training success! [658]DRAM CLK =720 MHZ [660]DRAM Type =3 (3:DDR3,4:DDR4,7:LPDDR3,8:LPDDR4) [667]Actual DRAM SIZE =1024 M [669]DRAM SIZE =1024 MBytes, para1 = 30fb, para2 = 4000001, dram_tpr13 = 6041 [683]DRAM simple test OK. [685]rtc standby flag is 0x0, super standby flag is 0x0 [690]dram size =1024 [693]*****dram handle ok**** [696]card no is 0 [698]sdcard 0 line count 4 [701][mmc]: mmc driver ver 2019-12-19 10:41 [705][mmc]: sdc0 spd mode error, 2 [708][mmc]: set f_max to 50M, set f_max_ddr to 25M [713][mmc]: mmc 0 bias 0 [721][mmc]: Wrong media type 0x0 [724][mmc]: ***Try SD card 0*** [743][mmc]: HSSDR52/SDR25 4 bit [747][mmc]: 50000000 Hz [749][mmc]: 30436 MB [751][mmc]: ***SD/MMC 0 init OK!!!*** [852]Loading boot-pkg Succeed(index=0). [856]Entry_name = u-boot [865]Entry_name = monitor [869]Entry_name = dtbo [872]Entry_name = dtb [876]Jump to second Boot. NOTICE: BL3-1: v1.0(debug):9fecd83 NOTICE: BL3-1: Built : 17:08:29, 2020-05-28 NOTICE: BL3-1 commit: 8 ERROR: Error initializing runtime service tspd_fast NOTICE: BL3-1: Preparing for EL3 exit to normal world NOTICE: BL3-1: Next image address = 0x4a000000 NOTICE: BL3-1: Next image spsr = 0x1d3 U-Boot 2018.05-orangepi (Mar 16 2021 - 10:43:40 +0800) Xunlong Software [00.953]CPU: Allwinner H616 [00.956]Model: Orange Pi Zero 2 I2C: ready [00.961]DRAM: 1 GiB Relocation Offset is: 35ec9000 [01.001]secure enable bit: 0 [01.004]PMU: AXP806 [01.008]CPU=1008 MHz,PLL6=600 Mhz,AHB=200 Mhz, APB1=100Mhz MBus=400Mhz [01.190]sunxi overlay merged okqv [01.194]drv_disp_init [01.223]__clk_enable: clk is null. tv_init()950 fetch tv0 err. [01.228]drv_disp_init finish [01.231]gic: sec monitor mode [01.236]flash init start [01.238]workmode = 0,storage type = 1 [01.241]MMC: 0 [01.243]get mem for descripter OK ! card_caps:0x3000000a host_caps:0x3000003f [01.279]sunxi flash init ok [01.283]Loading Environment from FAT... [01.286]get mem for descripter OK ! ** Bad device mmc 1 ** Failed (-5) [01.301]usb burn from boot delay time 0 weak:otg_phy_config [01.314]usb prepare ok [02.117]overtime [02.121]do_burn_from_boot usb : no usb exist [02.125]boot_gui_init:start card_caps:0x3000000a host_caps:0x3000003f 104 bytes read in 6 ms (16.6 KiB/s) Set HDMI disp_mode to 1080p60 104 bytes read in 7 ms (13.7 KiB/s) Set fb0_width to 1280 Set fb0_height to 720 [02.451]boot_gui_init:finish [02.454]bmp_name=/boot/boot.bmp 230456 bytes read in 17 ms (12.9 MiB/s) [02.486]update dts Net: [02.490]No ethernet found. Hit any key to stop autoboot: 1 0 no mmc device at slot 1 card_caps:0x3000000a host_caps:0x3000003f switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... Found U-Boot script /boot/boot.scr 2616 bytes read in 9 ms (283.2 KiB/s) ## Executing script at 43100000 U-boot loaded from SD Boot script loaded from mmc 104 bytes read in 7 ms (13.7 KiB/s) 8472802 bytes read in 366 ms (22.1 MiB/s) 24125512 bytes read in 1020 ms (22.6 MiB/s) ## Booting kernel from Legacy Image at 41000000 ... Image Name: Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 24125448 Bytes = 23 MiB Load Address: 41000000 Entry Point: 41000000 Verifying Checksum ... OK ## Loading init Ramdisk from Legacy Image at 43300000 ... Image Name: uInitrd Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 8472738 Bytes = 8.1 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Loading Ramdisk to 497eb000, end 49fff8a2 ... OK reserving fdt memory region: addr=48000000 size=1000000 ## Linux machid: 00000000, FDT addr: 7be89580 Starting kernel ...  
     
    I dont need HDMI or Bluetooth or wifi. If usb port and ethernet works, that's good enough for me.