Posts by Heav3n

    First, this is for installations without custom recovery.

    As I am new to the amlogic/libreelec game on this great forum, and of course struggling a bit to understand how to use kszaq's builds, I thought I could share this and re-up that tread from an other user that helped me to get it running from nand. I saw other ones asking those days, maybe this can help someone else :

    LibreELEC

    If you buy a new device running a stock "p201" type firmware, even by using p201 device tree, you won't get it booting from nand , and actually will partialy brick your box.
    To fix this and/or unbrick, you can flash the image from the above thread using amlogic burning tool :
    How to use the Amlogic USB Burning Tool - EntertainmentBox

    you will need some male to male usb cable to link your pc to the hidden maintenance port (usb4) :
    Amazon.com: C2G 54170 USB 3.0 A Male to A Male Cable, Black (1 Meter/3.2 Feet): Electronics

    Follow entertainmentbox site instructions. Flashing this "p200" type firmware will somehow "fix" the bootloader.
    Then, you will still have to use p201xxx dtb file from the device tree to prepare you sd boot card.
    Test everything by booting from SD using the toothpick method, ssh to the box, run the usual "installtointernal" command.
    Also, dont give attention to the "cannot get MTD" errors. Once partitions formating and files copy is done, remove SD card, reboot from nand, and you're done !

    ;)


    Hi everyone,

    I'm new to libreElec and to chinese amlogic boxes :)
    Just tried this since yesterday on some s905 MXQ Pro 4k (p201).
    I've got the exact same problem here, cannot flash to nand (it is half bricked now, no more android but still booting and working fine from SD if inserted).

    I tried 2 buiild already (.011 and .012).
    fw_setenv or fw_printenv always fails with error during installation script: Cannot get MTD information for /dev/nand_env.

    Here is the content of /dev/nand_env :

    Code
    ▒▒baudrate=115200bootargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.mem_address=0x20000000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive loglevel=${debuglevel} logo=osd1,loaded,0x3f800000,1080p60hz hdmimode=1080p60hz cvbsmode=576cvbs hdmitx= androidboot.firstboot=0 mac=78:08:18:00:59:1e androidboot.mac=78:08:18:00:59:1ebootcmd=if test ${bootfromnand} = 1; then setenv bootfromnand 0; saveenv; else run librefromsd; run librefromusb; fi; run storebootbootdelay=1bootfromnand=0bootmode_check=get_rebootmode; echo reboot_mode=${reboot_mode};if test ${reboot_mode} = factory_reset; then defenv_reserv aml_dt;setenv upgrade_step 2; save;fi;bootup_offset=0x1080380bootup_size=0x1c2046cmdline_keys=if keyman init 0x1234; then if keyman read usid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.serialno=${usid};fi;if keyman read mac ${loadaddr} str; then setenv bootargs ${bootargs} mac=${mac} androidboot.mac=${mac};fi;if keyman read deviceid ${loadaddr} str; then setenv bootargs ${bootargs} androidboot.deviceid=${deviceid};fi;fi;cvbsmode=576cvbsdebuglevel=3display_bpp=16display_color_bg=0display_color_fg=0xffffdisplay_color_index=16display_height=1080display_layer=osd1display_width=1920dtb_mem_addr=0x1000000edid.crcvalue=0x5efc0000ethact=Meson_Ethernetethaddr=00:15:18:01:81:31factory_reset_poweroff_protect=echo wipe_data=${wipe_data}; echo wipe_cache=${wipe_cache};if test ${wipe_data} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; if test ${wipe_cache} = failed; then run init_display; run storeargs;if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;fi; fb_addr=0x3f800000fb_height=1080fb_width=1920fdt_high=0x20000000filesize=409firstboot=0gatewayip=10.18.9.1hdmimode=1080p60hzhostname=arm_gxbbinit_display=hdmitx hpd;osd open;osd clear;vout output ${outputmode};imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scaleinitargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.mem_address=0x20000000 ramoops.mem_size=0x100000 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive loglevel=${debuglevel}ipaddr=10.18.9.97is.bestmode=falselibrefromsd=if mmcinfo; then if fatload mmc 0 ${loadaddr} kernel.img; then run sddtb; setenv bootargs ${bootargs} bootfromsd; bootm; fi; filibrefromusb=if usb start 0; then if fatload usb 0 ${loadaddr} kernel.img; then run usbdtb; setenv bootargs ${bootargs} bootfromusb; bootm; fi; filoadaddr=1080000mac=78:08:18:00:59:1enetmask=255.255.255.0outputmode=1080p60hzpreboot=run factory_reset_poweroff_protect;run upgrade_check;run bootmode_check;run init_display;run storeargs;run upgrade_key;run switch_bootmode;reboot_mode=updaterecovery_from_flash=if imgread kernel recovery ${loadaddr}; then wipeisb; bootm ${loadaddr}; firecovery_from_sdcard=if fatload mmc 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload mmc 0 ${loadaddr} recovery.img; then if fatload mmc 0 ${dtb_mem_addr} dtb.img; then echo sd dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;recovery_from_udisk=if fatload usb 0 ${loadaddr} aml_autoscript; then autoscr ${loadaddr}; fi;if fatload usb 0 ${loadaddr} recovery.img; then if fatload usb 0 ${dtb_mem_addr} dtb.img; then echo udisk dtb.img loaded; fi;wipeisb; bootm ${loadaddr};fi;sdc_burning=sdc_burn ${sdcburncfg}sdcburncfg=aml_sdc_burn.inisddtb=if fatload mmc 0 ${dtb_mem_addr} dtb.img; then echo sd dtb.img loaded; else store dtb read $dtb_mem_addr; fiserverip=10.18.9.113stderr=serialstdin=serialstdout=serialstoreargs=setenv bootargs ${initargs} logo=${display_layer},loaded,${fb_addr},${outputmode} hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} androidboot.firstboot=${firstboot}; run cmdline_keys;storeboot=if imgread kernel boot ${loadaddr}; then store dtb read $dtb_mem_addr; bootm ${loadaddr}; fi;run update;switch_bootmode=get_rebootmode;if test ${reboot_mode} = factory_reset; then run recovery_from_flash;else if test ${reboot_mode} = update; then run update;else if test ${reboot_mode} = cold_boot; then run try_auto_burn; fi;fi;fi;try_auto_burn=update 700 750;update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else if itest ${upgrade_step} == 1; then defenv_reserv; setenv upgrade_step 2; saveenv;fi;fi;upgrade_key=if gpio input GPIOAO_3; then echo detect upgrade key; sleep 5; run update;fi;upgrade_step=2usb_burning=update 1000usbdtb=if fatload usb 0 ${dtb_mem_addr} dtb.img; then echo usb dtb.img loaded; else store dtb read $dtb_mem_addr; fiwipe_cache=successfulwipe_data=successful

    Did some others ran into the same issue while triing to flash ?
    Any advise ?

    Thank you very much.
    Great stuff here anyway.