-
Posts
15 -
Joined
-
Last visited
Reputation Activity
-
Pita Bread reacted to Khadas in Fake X96 mini S905W (RK3229)
I was looking for a low-cost S905W tv box. I discovered this counterfeitby accident because I couldn't boot any armbian image for S905W soc and I accidentally tried the multitool and it started right away 1GB/8GB version and not 2GB/16GB.
So be very careful what you buy and if possible send it back to these dishonest Chinese sellers!
-
Pita Bread reacted to Maxxim in A guide to installing Armbian on the H96 Max V11
A guide to installing Armbian on the H96 Max V11 (RK3318_V1.4 blue PCB)
What you will need
Your H96 Max V11 TV box with the power supply and the HDMI cable that came with it; A TV or a monitor with an HDMI port; A wired USB keyboard (or a wireless one with a USB dongle); An Ethernet cable to connect to a router on your home network that has Internet access; A Micro SD card (minimum 1GB, more if you're going to back up Android on your box before overwriting it with Armbian); A USB card reader for Micro SD cards; A Windows PC connected to your home network;
Installation steps
Download the experimental Armbian image (kernel 5.19.15 and libreelec patches — alas, that's the latest version that works correctly with our box) and a copy of the Multitool; Burn the Multitool on the SD card using Rufus (no need to change any settings, just click "SELECT" and locate multitool.img.xz or drag and drop the file on Rufus and then click "START"); Connect your TV box to the TV or monitor, connect the keyboard, plug in the Multitool SD card and then plug in the power cord; Wait a minute (while SD card partitions are being resized) for the Multitool main menu to appear, then select "Shutdown"; Unplug the power cord and the SD card, then plug the SD card into your PC. Two new drives should appear, labeled BOOTSTRAP and MULTITOOL. If you see both, skip the next step. If you only see the BOOTSTRAP, proceed to the next step; Start Disk Management (press Win+X, K). Scroll down the list of disks (use the scrollbar, because mouse wheel doesn't work there) to locate your SD card, and on the MULTITOOL partition right-click, then press C, and click "Add", "OK"; Open the MULTITOOL drive in Windows Explorer (or your favorite file manager) and copy the downloaded Armbian image to the images folder; Safely remove (eject) the SD card, plug it into the TV box and plug in the power cord. The Multitool main menu will appear in a few seconds; If you don't care about stock Android firmware on your TV box, skip the next step. If you want to back up the Android firmware, proceed to the next step; In the Multitool main menu select "Backup flash" and click through (there will be only one option). Name your backup file. Wait for the backup to finish. The backup file will be saved to the backups folder on the SD card's MULTITOOL partition; Now it's time to replace Android with Armbian. In the Multitool main menu select "Burn image to flash" and click through (there will be only one option). Wait for the process to complete, then in the main menu select "Shutdown"; Unplug the power cord and the SD card, then replug the power cord. Wait a few minutes for Armbian to get everything ready for its first launch, and then follow the initial setup prompts; You will be taken to the login prompt. Log in with the name/password for the regular user you've created; Connect your TV box to your home network router with an Ethernet cable; In Armbian, enter the command sudo cat /run/motd.dynamic and note the IP address assigned by the router to the TV box; Now you will need to connect to your TV box on the home network via the SSH protocol. If you're running Windows 10 or later, press Win+X, I, Enter. A PowerShell/Terminal window will open. Enter the following command, substituting the words in angle brackets with actual values: ssh <IP address from the previous step> -l <name for the regular user>. Type yes at the prompt asking if you really want to connect to this unknown host. At the next prompt that appears, enter the password for the regular user you've created. Skip the next step; If you're running an older version of Windows, you will need to download PuTTY, an SSH and Telnet client, set up an SSH connection to your TV box with the IP address above and log in with the name/password for the regular user; Now it's time to fix the settings for the Wi-Fi chip that doesn't work out of the box on the H96 Max V11. To delete the old settings, copy the command sudo rm -f /usr/lib/firmware/brcm/brcmfmac4334-sdio.rockchip,rk3318-box.txt and paste it by right-clicking in the SSH window, then press Enter; To create the new settings file, enter (copy-paste) the command sudo nano /usr/lib/firmware/brcm/brcmfmac4334-sdio.rockchip,rk3318-box.txt The nano text editor will open with a new empty file; Now open this small text file (a copy of nvram_2734c.txt from this forum topic), press Ctrl-A to select all text in it, then Ctrl-C to copy it to the clipboard; Switch to the SSH window, right-click to paste the copied text to nano then press Ctrl-S to save and Ctrl-X to exit; Enter (or copy-paste) the command sudo reboot -f to reboot Armbian. After that you can either close the SSH window and proceed with the physical console or start a new SSH session once Armbian has restarted; Enter (or copy-paste) the command sudo apt update && sudo apt install armbian-config After the update and installation is completed, run armbian-config to configure various software and hardware settings (including Wi-Fi). It is recommended to select "Freeze" in System settings to disable Armbian kernel upgrades because our kernel is compiled with custom patches enabling HDMI output on H96 Max V11 to work properly that are unavailable in other kernel versions. -
Pita Bread reacted to calusbr in Need Help with Tigre 2 TV Box Amlogic S905X: Bricked After Installing Armbian
Hello @Jens J.
I found a solution to be able to run Armbian on this device.
At my institution we are converting these TV Boxes into computers to make available in public schools. So I have 40 units from this same box and this unit was the only one with NAND memory.
So I managed to install Armbian on the other units and after carrying out all the customization I created a DD image of the EMMC unit /dev/mmcblk1.
(Note: check if your partition is /dev/mmcblk1 or /dev/mmcblk2)
Create a compressed disk image:
dd if=/dev/mmcblk1 status=progress | gzip -9 /mnt/external/filename.img.gz
Then I cloned the NAND unit and, oddly enough, it was uploaded to the Armbian system.
zcat /mnt/external/filename.img.gz | dd of=/dev/mmcblk1
It appears that when cloning information from an EMMC partition to NAND the u-boot process occurs normally without analyzing the hardware context.
So if anyone has the same problem, if you can get another unit with EMMC memory, it may be possible to convert it to a NAND unit.
-
Pita Bread reacted to cmuki in Efforts to develop firmware for H96 MAX M9 RK3576 TV Box 8G/128G
Success!
Yesterday late in the evening I managed to boot from usb. What I did was burn Armbian-unofficial_24.11.0-trunk_Armsom-sige5_noble_vendor_6.1.75_minimal to a USB drive, replace the dtb with the one from Android and boot with the commands "usb start" and "run bootcmd_usb0".
I couldn't get ROC's image nor Multiboot (with the replaced dtb) to boot this way.
EDIT: Installed it to eMMC and ran sbc-bench - results https://0x0.st/Xvsr.bin
When I plug in the HDMI, it crashes Will have to investigate.
dwhdmi-rockchip 27da0000.hdmi: i2c read err!
-
Pita Bread reacted to cvxx in [Howto] Boot Armbian on S905x without a reset button using serial console if you have non-stock Android (tested on Scishion V88 Pro)
Hi,
posting a solution I have found how to boot Armbian on S905x device Scishion V88 Pro
My device:
* works, boots into an Android (has working u-boot)
* has no reset button
* contains thirdparty Android ROM that does not allow to enter aml burn mode
* cannot use Android update app
* does not respond to eMMC pin short (like in this post)
The only way to boot Armbian in this case is to solder serial console, interrupt u-boot and run recover from sd card command:
1. solder serial console
2. connect usb-serial adapter
3. insert Armbian prepared SD card for your amlogic CPU version
4. plug power and immediately press and hold Enter
5. you should see interrupted u-boot prompt (ex, gxl_p212_v1#)
6. type command run recovery_from_sdcard and hit Enter
7. the box should now boot in Armbian
An example session:
gxl_p212_v1#help ? - alias for 'help' aml_sysrecovery- Burning with amlogic format package from partition sysrecovery amlmmc - AMLMMC sub system amlnf - aml nand sub-system amlnf_test- AMLPHYNAND sub-system autoscr - run script from memory base - print or set address offset bmp - manipulate BMP image data booti - boot arm64 Linux Image image from memory bootm - boot application image from memory bootp - boot image via network using BOOTP/TFTP protocol cbusreg - cbus register read/write clkmsr - measure PLL clock cmp - memory compare cp - memory copy crc32 - checksum calculation cvbs - CVBS sub-system dcache - enable or disable data cache defenv_reserv- reserve some specified envs after defaulting env dhcp - boot image via network using DHCP/TFTP protocol echo - echo args to console efuse - efuse read/write data commands efuse_user- efuse user space read write ops emmc - EMMC sub system env - environment handling commands exit - exit script false - do nothing, unsuccessfully fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) fatsize - determine a file's size fdt - flattened device tree utility commands forceupdate- forceupdate get_rebootmode- get reboot mode go - start application at address 'addr' gpio - query and control gpio pins hdmitx - HDMITX sub-system help - print command description/usage i2c - I2C sub-system icache - enable or disable instruction cache imgread - Read the image from internal flash with actual size irkey - irkey key_value1 key_value2 time_value itest - return true/false on integer compare jtagoff - disable jtag jtagon - enable jtag keyman - Unify key ops interfaces based dts cfg keyunify- key unify sub-system loop - infinite loop on address range macreg - ethernet mac register read/write/dump md - memory display mm - memory modify (auto-incrementing address) mmc - MMC sub system mmcinfo - display MMC info mw - memory write (fill) mwm - mw mask function nm - memory modify (constant address) open_scp_log- print SCP messgage osd - osd sub-system phyreg - ethernet phy register read/write/dump ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables rarpboot- boot image via network using RARP/TFTP protocol read_temp- cpu temp-system reboot - set reboot mode and reboot system reset - Perform RESET of the CPU rsvmem - reserve memory run - run commands in an environment variable saradc - saradc sub-system saradc_12bit- saradc sub-system saveenv - save environment variables to persistent storage sdc_burn- Burning with amlogic format package in sdmmc sdc_update- Burning a partition with image file in sdmmc card set_trim_base- cpu temp-system set_usb_boot- set usb boot mode setenv - set environment variables showvar - print local hushshell variables silent - silent sleep - delay execution for some time store - STORE sub-system systemoff- system off temp_triming- cpu temp-system test - minimal test like /bin/sh tftpboot- boot image via network using TFTP protocol true - do nothing, successfully unpackimg- un pack logo image into pictures update - Enter v2 usbburning mode usb - USB sub-system usb_burn- Burning with amlogic format package in usb usb_update- Burning a partition with image file in usb host usbboot - boot from USB device version - print monitor, compiler and linker version vout - VOUT sub-system vpu - vpu sub-system wipeisb - wipeisb write_trim- cpu temp-system write_version- cpu temp-system gxl_p212_v1#printenv EnableSelinux=enforcing aml_dt=gxl_p212_1g baudrate=115200 bootargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive androidboot.selinux=enforcing logo=osd1,loaded,0x3d800000,1080p60hz maxcpus=4 vout=1080p60hz,enable hdmimode=1080p60hz cvbsmode=576cvbs hdmitx= cvbsdrv=0 androidboot.firstboot=0 jtag=apee androidboot.hardware=amlogic bootcmd=run storeboot bootdelay=1 bootup_offset=0x1080240 bootup_size=0x3f4c8 cmdline_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; cvbs_drv=0 cvbsmode=576cvbs display_bpp=16 display_color_bg=0 display_color_fg=0xffff display_color_index=16 display_height=1080 display_layer=osd1 display_width=1920 dtb_mem_addr=0x1000000 ethact=dwmac.c9410000 ethaddr=00:15:18:01:81:31 factory_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=0x3d800000 fb_height=1080 fb_width=1920 fdt_high=0x20000000 firstboot=0 gatewayip=10.18.9.1 hdmimode=1080p60hz hostname=arm_gxbb init_display=osd open;osd clear;imgread pic logo bootup $loadaddr;bmp display $bootup_offset;bmp scale initargs=rootfstype=ramfs init=/init console=ttyS0,115200 no_console_suspend earlyprintk=aml-uart,0xc81004c0 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 androidboot.selinux=permissive ipaddr=10.18.9.97 jtag=apee loadaddr=1080000 maxcpus=4 netmask=255.255.255.0 outputmode=1080p60hz preboot=run factory_reset_poweroff_protect;run upgrade_check;run init_display;run storeargs;run upgrade_key;run upgrade_sadckey;run switch_bootmode; reboot_mode=normal recovery_from_flash=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};if imgread kernel ${recovery_part} ${loadaddr} ${recovery_offset}; then wipeisb; bootm ${loadaddr}; fi recovery_from_sdcard=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};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=setenv bootargs ${bootargs} aml_dt=${aml_dt} recovery_part={recovery_part} recovery_offset={recovery_offset};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; recovery_offset=0 recovery_part=recovery sdc_burning=sdc_burn ${sdcburncfg} sdcburncfg=aml_sdc_burn.ini serverip=10.18.9.113 stderr=serial stdin=serial stdout=serial storeargs=setenv bootargs ${initargs} androidboot.selinux=${EnableSelinux} logo=${display_layer},loaded,${fb_addr},${outputmode} maxcpus=${maxcpus} vout=${outputmode},enable hdmimode=${hdmimode} cvbsmode=${cvbsmode} hdmitx=${cecconfig} cvbsdrv=${cvbs_drv} androidboot.firstboot=${firstboot} jtag=${jtag}; setenv bootargs ${bootargs} androidboot.hardware=amlogic;run cmdline_keys; storeboot=echo Booting...; if unifykey get usid; then setenv bootargs ${bootargs} androidboot.serialno=${usid};fi;if unifykey get mac; then setenv bootargs ${bootargs} mac=${ethaddr};fi;if imgread kernel boot ${loadaddr}; then 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 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 fi; upgrade_key=if gpio input GPIOAO_2; then echo detect upgrade key; sleep 3;if gpio input GPIOAO_2; then run update; fi;fi; upgrade_sadckey=saradc open 0; echo detect sadckey ....;if saradc get_in_range 0 0x50; then sleep 1; if saradc get_in_range 0 0x50; then echo update by key...; run update; fi;fi; upgrade_step=2 usb_burning=update 1000 wipe_cache=successful wipe_data=successful Environment size: 5164/65532 bytes gxl_p212_v1#run recovery_from_sdcard card in [mmc_init] mmc init success reading aml_autoscript 800 bytes read in 4 ms (195.3 KiB/s) ## Executing script at 01080000 ## Error: "bootfromsd" not defined Saving Environment to aml-storage... mmc env offset: 0x27400000 Writing to MMC(1)... done reboot use default mode: normal INFO: PSCI Affinity Map: INFO: AffInst: Level 0, MPID 0x0, State ON INFO: AffInst: Level 0, MPID 0x1, State OFF INFO: AffInst: Level 0, MPID 0x2, State OFF INFO: AffInst: Level 0, MPID 0x3, State OFF bl31 reboot reason: 0xd bl31 reboot reason: 0x1 system cmd 1. ERROR: gxbb System RGXL:BL1:9ac50e:a1974b;FEAT:ADFC318C;POC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0; TE: 94201 BL2 Built : 19:41:49, Jun 20 2016. gxl ge299011 - xiaobo.gu@droid05 set vcck to 1120 mv set vddee to 1000 mv Board ID = 2 CPU clk: 1200MHz DDR3 chl: Rank0+1 @ 528MHz - FAIL DDR3 chl: Rank0 @ 528MHz - PASS DQS-corr enabled DDR scramble enabled Rank0: 1024MB(auto)-2T-7 DataBus test pass! AddrBus test pass! -s Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000 New fip structure! Load bl30 from eMMC, src: 0x00010200, des: 0x01100000, size: 0x0000d600 Load bl31 from eMMC, src: 0x00020200, des: 0x10100000, size: 0x00014400 Load bl33 from eMMC, src: 0x00038200, des: 0x01000000, size: 0x000a8000 NOTICE: BL3-1: v1.0(debug):c813a61 NOTICE: BL3-1: Built : 14:39:44, Jun 16 2016 aml log : bl31 normal boot ! [Image: gxl_v1.1.3137-2517a7a 2016-06-24 11:31:11 xing.xu@droid05] OPS=0x82 49 fa cb 46 f4 e1 33 33 f1 68 a2 be [0.441838 Inits done] secure task start! high task start! low task start! INFO: BL3-1: Initializing runtime services WARNING: No OPTEE provided by BL2 boot loader ERROR: Error initializing runtime service opteed_fast INFO: BL3-1: Preparing for EL3 exit to normal world INFO: BL3-1: Next image address = 0x1000000 INFO: BL3-1: Next image spsr = 0x3c9 U-Boot 2015.01 (Aug 11 2016 - 17:47:33) DRAM: 1 GiB Relocation Offset is: 36ecb000 register usb cfg[0][1] = 0000000037f5faf0 vpu: error: vpu: check dts: FDT_ERR_BADMAGIC, load default parameters vpu: clk_level = 7 vpu: set clk: 666667000Hz, readback: 666660000Hz(0x300) vpp: vpp_init boot_device_flag : 1 Nand PHY Ver:1.01.001.0006 (c) 2013 Amlogic Inc. init bus_cycle=6, bus_timing=7, system=5.0ns reset failed get_chip_type and ret:fffffffe get_chip_type and ret:fffffffe chip detect failed and ret:fffffffe nandphy_init failed and ret=0xfffffff1 MMC: aml_priv->desc_buf = 0x0000000033ecb6b0 aml_priv->desc_buf = 0x0000000033ecd9d0 SDIO Port B: 0, SDIO Port 😄 1 emmc/sd response timeout, cmd8, status=0x1ff2800 emmc/sd response timeout, cmd55, status=0x1ff2800 [mmc_startup] mmc refix success [mmc_init] mmc init success mmc read lba=0x14000, blocks=0x400 Amlogic multi-dtb tool Multi dtb detected Multi dtb tool version: v2 . Support 2 dtbs. aml_dt soc: gxl platform: p212 variant: 1g dtb 0 soc: gxl plat: p212 vari: 1g dtb 1 soc: gxl plat: p212 vari: 2g Find match dtb: 0 start dts,buffer=0000000033ed0270,dt_addr=0000000033ed0a70 parts: 11 00: logo 0000000002000000 1 01: recovery 0000000002000000 1 02: rsv 0000000000800000 1 03: tee 0000000000800000 1 04: crypt 0000000002000000 1 05: misc 0000000002000000 1 06: instaboot 0000000020000000 1 07: boot 0000000002000000 1 08: system 0000000040000000 1 09: cache 0000000020000000 2 10: data ffffffffffffffff 4 get_dtb_struct: Get emmc dtb OK! overide_emmc_partition_table: overide cache [mmc_get_partition_table] skip partition cache. Partition table get from SPL is : name offset size flag =================================================================================== 0: bootloader 0 400000 0 1: reserved 2400000 4000000 0 2: cache 6c00000 20000000 2 3: env 27400000 800000 0 4: logo 28400000 2000000 1 5: recovery 2ac00000 2000000 1 6: rsv 2d400000 800000 1 7: tee 2e400000 800000 1 8: crypt 2f400000 2000000 1 9: misc 31c00000 2000000 1 10: instaboot 34400000 20000000 1 11: boot 54c00000 2000000 1 12: system 57400000 40000000 1 13: data 97c00000 130400000 4 mmc read lba=0x12000, blocks=0x2 mmc read lba=0x12002, blocks=0x2 mmc_read_partition_tbl: mmc read partition OK! eMMC/TSD partition table have been checked OK! mmc env offset: 0x27400000 In: serial Out: serial Err: serial reboot_mode=normal hpd_state=1 [1080p60hz] is invalid for cvbs. set hdmitx VIC = 16 config HPLL = 2970 HPLL: 0xc000027b config HPLL done j = 4 vid_clk_div = 1 hdmitx phy setting done hdmitx: set enc for VIC: 16 enc_vpu_bridge_reset[1183] rx version is 2.0 div=10 [store]To run cmd[emmc dtb_read 0x1000000 0x40000] read emmc dtb Amlogic multi-dtb tool Multi dtb detected Multi dtb tool version: v2 . Support 2 dtbs. aml_dt soc: gxl platform: p212 variant: 1g dtb 0 soc: gxl plat: p212 vari: 1g dtb 1 soc: gxl plat: p212 vari: 2g Find match dtb: 0 Net: dwmac.c9410000 wipe_data=successful wipe_cache=successful upgrade_step=2 [OSD]load fb addr from dts [OSD]failed to get fb addr for logo [OSD]use default fb_addr parameters [OSD]fb_addr for logo: 0x3d800000 [OSD]load fb addr from dts [OSD]failed to get fb addr for logo [OSD]use default fb_addr parameters [OSD]fb_addr for logo: 0x3d800000 [CANVAS]addr=0x3d800000 width=3840, height=2160 amlkey_init() enter! [EFUSE_MSG]keynum is 4 [KM]Error:f[key_manage_query_size]L507:key[usid] not programed yet [KM]Error:f[key_manage_query_size]L507:key[mac] not programed yet [KM]Error:f[key_manage_query_size]L507:key[deviceid] not programed yet gpio: pin GPIOAO_2 (gpio 102) value is 1 get_cpu_id flag_12bit=1 detect sadckey .... saradc - saradc sub-system Usage: saradc saradc open <channel> - open a SARADC channel saradc close - close the SARADC saradc getval - get the value in current channel saradc get_in_range <min> <max> - return 0 if current value in the range of current channel Hit Enter or space or Ctrl+C key to stop autoboot -- : 0 card in [mmc_init] mmc init success Device: SDIO Port B Manufacturer ID: 74 OEM: 4a45 Name: SDC Tran Speed: 50000000 Rd Block Len: 512 SD version 3.0 High Capacity: Yes Capacity: 15 GiB mmc clock: 40000000 Bus Width: 4-bit reading s905_autoscript 537 bytes read in 4 ms (130.9 KiB/s) ## Executing script at 01020000 start amlogic old u-boot ## Error: "bootfromsd" not defined reading boot_android ** Unable to read file boot_android ** ** Bad device usb 0 ** reading u-boot.ext 646455 bytes read in 48 ms (12.8 MiB/s) ## Starting application at 0x01000000 ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.6.53-current-meson64 (build@armbian) (aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #1 SMP PREEMPT Mon Sep 30 14:25:15 UTC 2024 [ 0.000000] Machine model: Amlogic Meson GXL (S905X) P212 Development Board [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: created CMA memory pool at 0x000000002a800000, size 256 MiB [ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool [ 0.000000] OF: reserved mem: 0x000000002a800000..0x000000003a7fffff (262144 KiB) map reusable linux,cma [ 0.000000] OF: reserved mem: 0x0000000000000000..0x0000000000ffffff (16384 KiB) nomap non-reusable hwrom@0 [ 0.000000] OF: reserved mem: 0x0000000005000000..0x00000000052fffff (3072 KiB) nomap non-reusable secmon@5000000 [ 0.000000] OF: reserved mem: 0x0000000005300000..0x00000000072fffff (32768 KiB) nomap non-reusable secmon@5300000 [ 0.000000] OF: reserved mem: 0x0000000010000000..0x00000000101fffff (2048 KiB) nomap non-reusable secmon@10000000 [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000003f806fff] [ 0.000000] NUMA: NODE_DATA [mem 0x3f5e7940-0x3f5e9fff] [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000000000000-0x000000003f806fff] [ 0.000000] DMA32 empty [ 0.000000] Normal empty [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x0000000000ffffff] [ 0.000000] node 0: [mem 0x0000000001000000-0x0000000004ffffff] [ 0.000000] node 0: [mem 0x0000000005000000-0x00000000072fffff] [ 0.000000] node 0: [mem 0x0000000007300000-0x000000000fffffff] [ 0.000000] node 0: [mem 0x0000000010000000-0x00000000101fffff] [ 0.000000] node 0: [mem 0x0000000010200000-0x000000003f806fff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003f806fff] [ 0.000000] On node 0, zone DMA: 2041 pages in unavailable ranges [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv0.2 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: Trusted OS migration not required [ 0.000000] percpu: Embedded 22 pages/cpu s51304 r8192 d30616 u90112 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: root=UUID=bb7643a4-cf60-4444-9fc3-c565842689c1 rootflags=data=writeback console=ttyAML0,115200n8 console=tty0 rw no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 splash plymouth.ignore-serial-consoles [ 0.000000] Unknown kernel command line parameters "splash", will be passed to user space. [ 0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear) [ 0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 0.000000] Fallback order for Node 0: 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 256038 [ 0.000000] Policy zone: DMA [ 0.000000] mem auto-init: stack:off, heap alloc:on, heap free:off [ 0.000000] software IO TLB: SWIOTLB bounce buffer size adjusted to 0MB [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x000000003e280000-0x000000003e380000] (1MB) [ 0.000000] Memory: 653368K/1040412K available (16192K kernel code, 1700K rwdata, 4964K rodata, 3776K init, 606K bss, 124900K reserved, 262144K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU event tracing is enabled. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GIC: Using split EOI/Deactivate mode [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 24.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x588fe9dc0, max_idle_ns: 440795202592 ns [ 0.000000] sched_clock: 56 bits at 24MHz, resolution 41ns, wraps every 4398046511097ns [ 0.000329] Console: colour dummy device 80x25 [ 0.000344] printk: console [tty0] enabled [ 0.000943] Calibrating delay loop (skipped), value calculated using timer frequency.. 48.00 BogoMIPS (lpj=96000) [ 0.000969] pid_max: default: 32768 minimum: 301 [ 0.001063] LSM: initializing lsm=capability,yama,apparmor,integrity [ 0.001102] Yama: becoming mindful. [ 0.001209] AppArmor: AppArmor initialized [ 0.001325] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) [ 0.001349] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear) [ 0.003465] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.003582] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.003836] rcu: Hierarchical SRCU implementation. [ 0.003852] rcu: Max phase no-delay instances is 1000. [ 0.005705] EFI services will not be available. [ 0.006241] smp: Bringing up secondary CPUs ... [ 0.006969] Detected VIPT I-cache on CPU1 [ 0.007096] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] [ 0.007958] Detected VIPT I-cache on CPU2 [ 0.008080] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] [ 0.008931] Detected VIPT I-cache on CPU3 [ 0.009047] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] [ 0.009176] smp: Brought up 1 node, 4 CPUs [ 0.009247] SMP: Total of 4 processors activated. [ 0.009259] CPU features: detected: 32-bit EL0 Support [ 0.009269] CPU features: detected: 32-bit EL1 Support [ 0.009282] CPU features: detected: CRC32 instructions [ 0.009375] CPU: All CPU(s) started at EL2 [ 0.009396] alternatives: applying system-wide alternatives [ 0.011402] devtmpfs: initialized [ 0.018489] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.018564] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.026914] pinctrl core: initialized pinctrl subsystem [ 0.027526] DMI not present or invalid. [ 0.028305] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.030314] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations [ 0.030515] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.030690] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.030776] audit: initializing netlink subsys (disabled) [ 0.031078] audit: type=2000 audit(0.028:1): state=initialized audit_enabled=0 res=1 [ 0.031633] thermal_sys: Registered thermal governor 'fair_share' [ 0.031643] thermal_sys: Registered thermal governor 'bang_bang' [ 0.031659] thermal_sys: Registered thermal governor 'step_wise' [ 0.031671] thermal_sys: Registered thermal governor 'user_space' [ 0.031752] cpuidle: using governor menu [ 0.032151] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.032289] ASID allocator initialised with 65536 entries [ 0.033246] Serial: AMBA PL011 UART driver [ 0.044590] platform d0100000.vpu: Fixed dependency cycle(s) with /soc/hdmi-tx@c883a000 [ 0.044823] platform d0100000.vpu: Fixed dependency cycle(s) with /soc/hdmi-tx@c883a000 [ 0.044896] platform c883a000.hdmi-tx: Fixed dependency cycle(s) with /soc/vpu@d0100000 [ 0.047373] platform d0100000.vpu: Fixed dependency cycle(s) with /cvbs-connector [ 0.047478] platform cvbs-connector: Fixed dependency cycle(s) with /soc/vpu@d0100000 [ 0.047645] platform c883a000.hdmi-tx: Fixed dependency cycle(s) with /hdmi-connector [ 0.047723] platform hdmi-connector: Fixed dependency cycle(s) with /soc/hdmi-tx@c883a000 [ 0.048609] Modules: 25904 pages in range for non-PLT usage [ 0.048621] Modules: 517424 pages in range for PLT usage [ 0.049590] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.049635] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.049649] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.049660] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.049673] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.049685] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.049698] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.049710] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.050757] cryptd: max_cpu_qlen set to 1000 [ 0.116394] raid6: neonx8 gen() 2145 MB/s [ 0.184466] raid6: neonx4 gen() 2193 MB/s [ 0.252548] raid6: neonx2 gen() 2087 MB/s [ 0.320636] raid6: neonx1 gen() 1783 MB/s [ 0.388713] raid6: int64x8 gen() 1366 MB/s [ 0.456793] raid6: int64x4 gen() 1606 MB/s [ 0.524879] raid6: int64x2 gen() 1401 MB/s [ 0.592977] raid6: int64x1 gen() 1036 MB/s [ 0.592989] raid6: using algorithm neonx4 gen() 2193 MB/s [ 0.661030] raid6: .... xor() 1556 MB/s, rmw enabled [ 0.661043] raid6: using neon recovery algorithm [ 0.661698] ACPI: Interpreter disabled. [ 0.662702] iommu: Default domain type: Translated [ 0.662748] iommu: DMA domain TLB invalidation policy: strict mode [ 0.663591] SCSI subsystem initialized [ 0.663886] usbcore: registered new interface driver usbfs [ 0.663932] usbcore: registered new interface driver hub [ 0.663988] usbcore: registered new device driver usb [ 0.664389] pps_core: LinuxPPS API ver. 1 registered [ 0.664403] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.664430] PTP clock support registered [ 0.664717] EDAC MC: Ver: 3.0.0 [ 0.665431] scmi_core: SCMI protocol bus registered [ 0.666858] NetLabel: Initializing [ 0.666895] NetLabel: domain hash size = 128 [ 0.666905] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO [ 0.666978] NetLabel: unlabeled traffic allowed by default [ 0.666990] mctp: management component transport protocol core [ 0.667002] NET: Registered PF_MCTP protocol family [ 0.667338] vgaarb: loaded [ 0.667944] clocksource: Switched to clocksource arch_sys_counter [ 0.668331] VFS: Disk quotas dquot_6.6.0 [ 0.668386] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.669039] AppArmor: AppArmor Filesystem Enabled [ 0.669231] pnp: PnP ACPI: disabled [ 0.676553] NET: Registered PF_INET protocol family [ 0.676760] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear) [ 0.677912] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear) [ 0.678131] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.678187] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.678341] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear) [ 0.678571] TCP: Hash tables configured (established 8192 bind 8192) [ 0.678890] MPTCP token hash table entries: 1024 (order: 2, 24576 bytes, linear) [ 0.678989] UDP hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.679031] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear) [ 0.679256] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.679324] PCI: CLS 0 bytes, default 64 [ 0.679655] Trying to unpack rootfs image as initramfs... [ 0.684152] kvm [1]: IPA Size Limit: 40 bits [ 0.685347] kvm [1]: vgic interrupt IRQ9 [ 0.685423] kvm [1]: Hyp mode initialized successfully [ 0.688098] Initialise system trusted keyrings [ 0.688210] Key type blacklist registered [ 0.688445] workingset: timestamp_bits=44 max_order=18 bucket_order=0 [ 0.688527] zbud: loaded [ 0.689160] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.689832] fuse: init (API version 7.39) [ 0.691883] integrity: Platform Keyring initialized [ 0.724112] xor: measuring software checksum speed [ 0.728102] 8regs : 2524 MB/sec [ 0.732077] 32regs : 2523 MB/sec [ 0.736355] arm64_neon : 2335 MB/sec [ 0.736385] xor: using function: 8regs (2524 MB/sec) [ 0.736411] Key type asymmetric registered [ 0.736425] Asymmetric key parser 'x509' registered [ 0.736614] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 244) [ 0.736926] io scheduler mq-deadline registered [ 0.736971] io scheduler kyber registered [ 0.737060] io scheduler bfq registered [ 0.737682] irq_meson_gpio: 110 to 8 gpio interrupt mux initialized [ 0.750690] EINJ: ACPI disabled. [ 0.760568] soc soc0: Amlogic Meson GXL (S905X) Revision 21:a (82:2) Detected [ 0.763380] Serial: 8250/16550 driver, 8 ports, IRQ sharing disabled [ 0.771317] Serial: AMBA driver [ 0.772506] c11084c0.serial: ttyAML6 at MMIO 0xc11084c0 (irq = 14, base_baud = 1500000) is a meson_uart [ 0.772995] serial serial0: tty port ttyAML6 registered [ 0.774230] c81004c0.serial: ttyAML0 at MMIO 0xc81004c0 (irq = 15, base_baud = 1500000) is a meson_uart [ 0.774301] printk: console [ttyAML0] enabled [ 1.739205] Freeing initrd memory: 21632K [ 1.998474] loop: module loaded [ 2.006175] tun: Universal TUN/TAP device driver, 1.6 [ 2.007623] thunder_xcv, ver 1.0 [ 2.009026] thunder_bgx, ver 1.0 [ 2.012164] nicpf, ver 1.0 [ 2.015761] e1000e: Intel(R) PRO/1000 Network Driver [ 2.019700] e1000e: Copyright(c) 1999 - 2015 Intel Corporation. [ 2.026670] igb: Intel(R) Gigabit Ethernet Network Driver [ 2.030848] igb: Copyright (c) 2007-2014 Intel Corporation. [ 2.036442] igbvf: Intel(R) Gigabit Virtual Function Network Driver [ 2.042562] igbvf: Copyright (c) 2009 - 2012 Intel Corporation. [ 2.048795] sky2: driver version 1.30 [ 2.053285] VFIO - User Level meta-driver version: 0.3 [ 2.060720] usbcore: registered new interface driver usb-storage [ 2.066261] mousedev: PS/2 mouse device common for all mice [ 2.069980] i2c_dev: i2c /dev entries driver [ 2.078109] sdhci: Secure Digital Host Controller Interface driver [ 2.078938] sdhci: Copyright(c) Pierre Ossman [ 2.083836] Synopsys Designware Multimedia Card Interface Driver [ 2.090821] sdhci-pltfm: SDHCI platform and OF driver helper [ 2.091457] meson-gx-mmc d0072000.mmc: Got CD GPIO [ 2.093524] meson-gx-mmc d0074000.mmc: allocated mmc-pwrseq [ 2.105155] ledtrig-cpu: registered to indicate activity on CPUs [ 2.112906] meson-sm: secure-monitor enabled [ 2.116872] gxl-crypto c883e000.crypto: will run requests pump with realtime priority [ 2.123234] gxl-crypto c883e000.crypto: will run requests pump with realtime priority [ 2.131222] hid: raw HID events driver (C) Jiri Kosina [ 2.135974] gpio irq setup: hwirq: 0x3A irqfirst: 0x34 irqlast: 0x3A pin[48] [ 2.136066] usbcore: registered new interface driver usbhid [ 2.143432] genirq: Setting trigger mode 3 for irq 20 failed (meson_gpio_irq_set_type+0x0/0x60) [ 2.148374] usbhid: USB HID core driver [ 2.161508] platform-mhu c883c404.mailbox: Platform MHU Mailbox registered [ 2.169300] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available [ 2.178827] NET: Registered PF_INET6 protocol family [ 2.182401] Segment Routing with IPv6 [ 2.184386] In-situ OAM (IOAM) with IPv6 [ 2.187909] mmc0: new high speed SDHC card at address b368 [ 2.188255] NET: Registered PF_PACKET protocol family [ 2.195141] mmcblk0: mmc0:b368 SDC 15.0 GiB [ 2.198860] 8021q: 802.1Q VLAN Support v1.8 [ 2.206533] mmcblk0: p1 p2 [ 2.207428] Key type dns_resolver registered [ 2.234401] registered taskstats version 1 [ 2.234750] Loading compiled-in X.509 certificates [ 2.248234] mmc1: new HS200 MMC card at address 0001 [ 2.252487] mmcblk1: mmc1:0001 T22708 7.13 GiB [ 2.257845] mmcblk1boot0: mmc1:0001 T22708 4.00 MiB [ 2.261435] mmcblk1boot1: mmc1:0001 T22708 4.00 MiB [ 2.265759] mmcblk1rpmb: mmc1:0001 T22708 4.00 MiB, chardev (241:0) [ 2.267623] zswap: loaded using pool zstd/z3fold [ 2.284689] Key type .fscrypt registered [ 2.284746] Key type fscrypt-provisioning registered [ 2.291055] Btrfs loaded, zoned=yes, fsverity=yes [ 2.292881] Key type encrypted registered [ 2.296606] AppArmor: AppArmor sha1 policy hashing enabled [ 2.319775] meson-drm d0100000.vpu: Queued 2 outputs on vpu [ 2.348035] meson-dw-hdmi c883a000.hdmi-tx: Detected HDMI TX controller v2.01a with HDCP (meson_dw_hdmi_phy) [ 2.353046] meson-dw-hdmi c883a000.hdmi-tx: registered DesignWare HDMI I2C bus driver [ 2.360422] meson-drm d0100000.vpu: bound c883a000.hdmi-tx (ops 0xffff80008110a290) [ 2.368601] [drm] Initialized meson 1.0.0 20161109 for d0100000.vpu on minor 0 [ 3.012446] Console: switching to colour frame buffer device 160x45 [ 3.046669] meson-drm d0100000.vpu: [drm] fb0: mesondrmfb frame buffer device [ 3.056943] scpi_protocol scpi: SCP Protocol legacy pre-1.0 firmware [ 3.057606] meson-gx-mmc d0070000.mmc: allocated mmc-pwrseq [ 3.071375] dwc3-meson-g12a d0078080.usb: USB2 ports: 2 [ 3.071701] dwc3-meson-g12a d0078080.usb: USB3 ports: 0 [ 3.114943] mmc2: new high speed SDIO card at address 0001 [ 3.593479] dwc2 c9100000.usb: supply vusb_d not found, using dummy regulator [ 3.595571] dwc2 c9100000.usb: supply vusb_a not found, using dummy regulator [ 3.604268] dwc2 c9100000.usb: EPs: 7, dedicated fifos, 712 entries in SPRAM [ 3.611804] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 3.614923] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1 [ 3.622631] xhci-hcd xhci-hcd.1.auto: USB3 root hub has no ports [ 3.628685] xhci-hcd xhci-hcd.1.auto: hcc params 0x0228f664 hci version 0x100 quirks 0x0000008002000010 [ 3.637759] xhci-hcd xhci-hcd.1.auto: irq 32, io mem 0xc9000000 [ 3.643950] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.06 [ 3.651811] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 3.659266] usb usb1: Product: xHCI Host Controller [ 3.663792] usb usb1: Manufacturer: Linux 6.6.53-current-meson64 xhci-hcd [ 3.670499] usb usb1: SerialNumber: xhci-hcd.1.auto [ 3.676191] hub 1-0:1.0: USB hub found [ 3.684178] hub 1-0:1.0: 2 ports detected [ 3.694794] clk: Disabling unused clocks [ 3.704673] Freeing unused kernel memory: 3776K [ 3.712598] Run /init as init process [ 3.952047] usb 1-1: new high-speed USB device number 2 using xhci-hcd [ 4.109784] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608, bcdDevice=85.36 [ 4.122655] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0 [ 4.133996] usb 1-1: Product: USB2.0 Hub [ 4.188471] hub 1-1:1.0: USB hub found [ 4.197352] hub 1-1:1.0: 4 ports detected [ 4.378076] meson-vrtc c81000a8.rtc: registered as rtc0 [ 4.386658] meson-vrtc c81000a8.rtc: setting system clock to 1970-01-01T00:00:04 UTC (4) [ 4.408800] meson8b-dwmac c9410000.ethernet: IRQ eth_wake_irq not found [ 4.418343] meson8b-dwmac c9410000.ethernet: IRQ eth_lpi not found [ 4.428065] meson8b-dwmac c9410000.ethernet: PTP uses main clock [ 4.430124] random: crng init done [ 4.437457] meson8b-dwmac c9410000.ethernet: User ID: 0x11, Synopsys ID: 0x37 [ 4.463473] meson8b-dwmac c9410000.ethernet: DWMAC1000 [ 4.471552] meson8b-dwmac c9410000.ethernet: DMA HW capability register supported [ 4.481659] meson8b-dwmac c9410000.ethernet: RX Checksum Offload Engine supported [ 4.492058] meson8b-dwmac c9410000.ethernet: COE Type 2 [ 4.496064] usb 1-1.2: new low-speed USB device number 3 using xhci-hcd [ 4.499990] meson8b-dwmac c9410000.ethernet: TX Checksum insertion supported [ 4.500002] meson8b-dwmac c9410000.ethernet: Wake-Up On Lan supported [ 4.500241] meson8b-dwmac c9410000.ethernet: Normal descriptors [ 4.546035] meson8b-dwmac c9410000.ethernet: Ring mode enabled [ 4.553913] meson8b-dwmac c9410000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 4.612079] usb 1-1.2: New USB device found, idVendor=0e8f, idProduct=2517, bcdDevice= 1.00 [ 4.622732] usb 1-1.2: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 4.711090] input: HID 0e8f:2517 as /devices/platform/soc/d0078080.usb/c9000000.usb/xhci-hcd.1.auto/usb1/1-1/1-1.2/1-1.2:1.0/0003:0E8F:2517.0001/input/input0 [ 4.872910] hid-generic 0003:0E8F:2517.0001: input,hidraw0: USB HID v1.10 Keyboard [HID 0e8f:2517] on usb-xhci-hcd.1.auto-1.2/input0 [ 4.889832] input: HID 0e8f:2517 Consumer Control as /devices/platform/soc/d0078080.usb/c9000000.usb/xhci-hcd.1.auto/usb1/1-1/1-1.2/1-1.2:1.1/0003:0E8F:2517.0002/input/input1 [ 4.960497] input: HID 0e8f:2517 as /devices/platform/soc/d0078080.usb/c9000000.usb/xhci-hcd.1.auto/usb1/1-1/1-1.2/1-1.2:1.1/0003:0E8F:2517.0002/input/input2 [ 4.969600] input: HID 0e8f:2517 Mouse as /devices/platform/soc/d0078080.usb/c9000000.usb/xhci-hcd.1.auto/usb1/1-1/1-1.2/1-1.2:1.1/0003:0E8F:2517.0002/input/input3 [ 4.984451] hid-generic 0003:0E8F:2517.0002: input,hidraw1: USB HID v1.10 Mouse [HID 0e8f:2517] on usb-xhci-hcd.1.auto-1.2/input1 [ 7.325871] EXT4-fs (mmcblk0p2): mounted filesystem bb7643a4-cf60-4444-9fc3-c565842689c1 r/w with writeback data mode. Quota mode: none. [ 8.608652] systemd[1]: System time before build time, advancing clock. [ 8.646756] systemd[1]: Inserted module 'autofs4' [ 8.747816] systemd[1]: systemd 255.4-1ubuntu8.4 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified) [ 8.774826] systemd[1]: Detected architecture arm64. [ 8.788407] systemd[1]: Hostname set to <aml-s9xx-box>. [ 8.798036] systemd[1]: Initializing machine ID from random generator. [ 13.117643] systemd[1]: Configuration file /run/systemd/system/netplan-ovs-cleanup.service is marked world-inaccessible. This has no effect as configuration data is accessible via APIs without restrictions. Proceeding anyway. [ 13.813360] systemd[1]: Queued start job for default target graphical.target. [ 13.879198] systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe. [ 13.885686] systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty. [ 13.893115] systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck. [ 13.900979] systemd[1]: Created slice user.slice - User and Session Slice. [ 13.906566] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch. [ 13.917664] systemd[1]: Set up automount proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point. [ 13.928909] systemd[1]: Expecting device dev-disk-by\x2duuid-B1CE\x2d0046.device - /dev/disk/by-uuid/B1CE-0046... [ 13.939010] systemd[1]: Expecting device dev-ttyAML0.device - /dev/ttyAML0... [ 13.946174] systemd[1]: Reached target integritysetup.target - Local Integrity Protected Volumes. [ 13.955024] systemd[1]: Reached target nss-user-lookup.target - User and Group Name Lookups. [ 13.963405] systemd[1]: Reached target slices.target - Slice Units. [ 13.969502] systemd[1]: Reached target snapd.mounts-pre.target - Mounting snaps. [ 13.976827] systemd[1]: Reached target snapd.mounts.target - Mounted snaps. [ 13.983770] systemd[1]: Reached target swap.target - Swaps. [ 13.989227] systemd[1]: Reached target time-set.target - System Time Set. [ 13.996178] systemd[1]: Reached target veritysetup.target - Local Verity Protected Volumes. [ 14.065501] systemd[1]: Listening on rpcbind.socket - RPCbind Server Activation Socket. [ 14.069429] systemd[1]: Listening on syslog.socket - Syslog Socket. [ 14.075405] systemd[1]: Listening on systemd-fsckd.socket - fsck to fsckd communication Socket. [ 14.083705] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe. [ 14.092756] systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log). [ 14.101587] systemd[1]: Listening on systemd-journald.socket - Journal Socket. [ 14.107987] systemd[1]: systemd-pcrextend.socket - TPM2 PCR Extension (Varlink) was skipped because of an unmet condition check (ConditionSecurity=measured-uki). [ 14.127390] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket. [ 14.131110] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket. [ 14.176427] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System... [ 14.185060] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System... [ 14.194982] systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System... [ 14.198296] systemd[1]: sys-kernel-tracing.mount - Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing). [ 14.214047] systemd[1]: auth-rpcgss-module.service - Kernel Module supporting RPCSEC_GSS was skipped because of an unmet condition check (ConditionPathExists=/etc/krb5.keytab). [ 14.238221] systemd[1]: Starting fake-hwclock-load.service - Restore the current clock... [ 14.249699] systemd[1]: Starting keyboard-setup.service - Set the console keyboard layout... [ 14.262157] systemd[1]: Starting kmod-static-nodes.service - Create List of Static Device Nodes... [ 14.274003] (-hwclock)[1174]: fake-hwclock-load.service: Referenced but unset environment variable evaluates to an empty string: FORCE [ 14.278165] systemd[1]: Starting modprobe@configfs.service - Load Kernel Module configfs... [ 14.305340] systemd[1]: Starting modprobe@dm_mod.service - Load Kernel Module dm_mod... [ 14.326511] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm... [ 14.345426] systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore... [ 14.365374] systemd[1]: Starting modprobe@fuse.service - Load Kernel Module fuse... [ 14.385715] systemd[1]: Starting modprobe@loop.service - Load Kernel Module loop... [ 14.391807] systemd[1]: systemd-fsck-root.service - File System Check on Root Device was skipped because of an unmet condition check (ConditionPathExists=!/run/initramfs/fsck-root). [ 14.408189] device-mapper: uevent: version 1.0.3 [ 14.409094] device-mapper: ioctl: 4.48.0-ioctl (2023-03-01) initialised: dm-devel@redhat.com [ 14.421548] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules... [ 14.425225] systemd[1]: systemd-pcrmachine.service - TPM2 PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionSecurity=measured-uki). [ 14.448657] systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems... [ 14.453238] systemd[1]: systemd-tpm2-setup-early.service - TPM2 SRK Setup (Early) was skipped because of an unmet condition check (ConditionSecurity=measured-uki). [ 14.474641] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices... [ 14.493280] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System. [ 14.496550] systemd[1]: Mounted dev-mqueue.mount - POSIX Message Queue File System. [ 14.505204] systemd[1]: Mounted sys-kernel-debug.mount - Kernel Debug File System. [ 14.513869] systemd[1]: fake-hwclock-load.service: Deactivated successfully. [ 14.518816] systemd[1]: Finished fake-hwclock-load.service - Restore the current clock. [ 14.530682] systemd[1]: Finished kmod-static-nodes.service - Create List of Static Device Nodes. [ 14.541007] systemd[1]: modprobe@configfs.service: Deactivated successfully. [ 14.543620] systemd[1]: Finished modprobe@configfs.service - Load Kernel Module configfs. [ 14.554554] systemd[1]: modprobe@dm_mod.service: Deactivated successfully. [ 14.558823] systemd[1]: Finished modprobe@dm_mod.service - Load Kernel Module dm_mod. [ 14.567334] systemd[1]: modprobe@drm.service: Deactivated successfully. [ 14.573773] systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm. [ 14.581623] systemd[1]: modprobe@efi_pstore.service: Deactivated successfully. [ 14.587319] systemd[1]: Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore. Welcome to Armbian_community! Documentation: https://docs.armbian.com | Community support: https://community.armbian.com/ IP address: Network connection timeout! Create root password:
-
Pita Bread reacted to NicoD in Video : Tanix TX6 review + How to install Armbian
Here my review video of the Tanix TX6 TV-Box. I show Android and how to install Armbian onto it.
Greetings,
NicoD
-
Pita Bread reacted to kdr in PI-Hole on X96 mini - Tutorial
I wrote a full guide for X96 Mini. It is available there.
https://github.com/kdrapel/x96mini_linux/blob/main/README.md
----
Installing Linux on X96 Mini
Goal is to install a Linux on a X96 Mini that I did not use anymore as a TV box and wanted to recycle as a DNS server for ads-blocking (https://pi-hole.net/) and other experiments.
Important: I will not give any support or answer questions related to issues happening with your own X96
Prerequisites
Instructions are covering steps on a Windows machine. Should be similar for Linux. Based upon (messy) instructions found at https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/
Hardware
X96 Mini 2GB CPU is S905X. Label behind say "X96 mini RAM 2GB, ROM 16 GB". SD card, 16 GB. Smaller will be ok too (needs at least 8GB) Toothpick or small stick (reset button inside AV jack) Software
Rufus 3.12 7Z
Preparation
Download https://users.armbian.com/balbes150/arm-64/Armbian_20.10_Arm-64_focal_current_5.9.0.img.xz Unzip this file to get Armbian_20.10_Arm-64_focal_current_5.9.0.img Launch Rufus, select the img. Click on 'Start'. SD card will be formatted and content will be written.
Configuration of u-boot
In Windows Explorer, navigate to your SD card. You should see a structure a 'extlinux' folder, 'dtb', etc.
Rename the file 'u-boot-s905x-s912' to 'u-boot.ext'
Configuration of device tree block
A Device Tree Block (DTB) is a file that contains important information about the target hardware (more info http://junyelee.blogspot.com/2015/07/a-tutorial-on-device-tree.html). So it is necessary to use the proper one. This is a tricky part and if an improper DTB is used, your target system will fail loading or the kernel will panic.
Edit the file /extlinux/extlinux.conf Comment out all lines starting with FDT and APPEND (we don't want RK or AW configuration, we are only interested in AML s9xxx section). Uncomment 'FDT /dtb/amlogic/meson-gxl-s905x-p212.dtb' and 'APPEND ....'. See example below LABEL Armbian LINUX /zImage INITRD /uInitrd # rk-3399 #FDT /dtb/rockchip/rk3399-rock-pi-4.dtb #FDT /dtb/rockchip/rk3399-nanopc-t4.dtb #FDT /dtb/rockchip/rk3399-roc-pc-mezzanine.dtb #APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=uart8250,mmio32,0xff1a0000 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 # rk-3328 #FDT /dtb/rockchip/rk3328-roc-pc.dtb #FDT /dtb/rockchip/rk3328-box-trn9.dtb #FDT /dtb/rockchip/rk3328-box.dtb #APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=uart8250,mmio32,0xff130000 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 # aw h6 #FDT /dtb/allwinner/sun50i-h6-tanix-tx6.dtb #APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyS0,115200 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 video=HDMI-A-1:e #APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyS0,115200 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 mem=2048M video=HDMI-A-1:e # aml s9xxx #FDT /dtb/amlogic/meson-gxbb-p200.dtb FDT /dtb/amlogic/meson-gxl-s905x-p212.dtb #FDT /dtb/amlogic/meson-gxm-q200.dtb #FDT /dtb/amlogic/meson-g12a-x96-max.dtb #FDT /dtb/amlogic/meson-g12b-odroid-n2.dtb APPEND root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0
Launching
Unplug the X96 Mini Insert the SD card Using a toothpick, small stick or whatever suitable, press on the 'reset' switch which is located inside the AV jack. You don't need to press too hard. While the reset switch is maintained pressed, plug the power. The X96 Mini screen will appear and normally after a few seconds, it should switch to the Linux boot. You can release the reset switch. Linux should run if everything is properly configured. I access it through SSH on port 22. It is of course recommended to change the default root password (root / 1234)
Installing Pi-Hole on the X96
Upgrading system
First upgrade your system with "apt-get upgrade" About 50 packages or so are upgraded.
Install Pi-Hole
It may fail by saying that your OS is not supported, just follow the instructions they provide in the error message in this case. I will not detail the complete installation, I used the default configuration step without doing any tweaking except giving the target IP address of my X96 on my network.
curl -sSL https://install.pi-hole.net | PIHOLE_SKIP_OS_CHECK=true sudo -E bash
Configuration of router
Assign a static IP to the MAC address of your X96. This must match what you defined in the PI-hole configuration. Switch the router to your new DNS server (as the primary). I left the secondary DNS server to my ISP default, just in case the X96 crashes or fails for whatever reason.
Smoke testing
Disable ad-blocking in your browser and navigate to some heavy websites Additional lists may be useful for Youtube adblocking, here is my configuration.
Known issues
Wifi is not working. I did not investigate more as I don't need it right now. Probably some (proprietary) Realtek drivers are needed from what I have read on the web.
Troubleshootings
You can attach a keyboard and mouse to the USB ports. The Logitech receiver is also working such that I could use my keyboard.
-
Pita Bread reacted to queeks in Quick Guide - Amlogic TV Boxes
The guide was created in response to the outdated or non-functional nature of much of the software provided by armbian-config->Software->Softy, particularly for TV boxes. It is tailored for advanced users who are adept at using commands, prefer manual installation, and favor the convenience of copying and pasting commands rather than searching for them on the armbian forum. While detailed explanations of each command's function won't be provided, I will include source links for each section, enabling you to conduct your own research. In this guide, I am using the latest ubuntu-based Armbian build: Armbian_23.11.1_Aml-s9xx-box_jammy_current_6.1.63_xfce_desktop.img.xz.
Table of Contents
check dtb burn Armbian to SD card configure boot partition install Armbian on SD card flashing install-aml.sh script Amlogic USB Burning Tool Amlogic Burn Card Maker Tool SHORT PIN method Team Win Recovery Project software install docker install openWRT install pi-hole install portainer install RPi monitor install xfce install midori browser install full armbian firmware install USB LTE dongle backup SD card armbian commands android stock firmware
check dtb
Install Device Info HW and open the app In the "SYSTEM" tab, you can find the "dtb" information for your box. This information is crucial for configuring the boot partition correctly. Please keep a note of your "dtb" (device tree blob) information for future boot partition configuration.
burn Armbian to SD card
Mare sure to use good, reliable and fast SD card from SandDisk, class 10, A1 Choose between ubuntu (jammy) and debian (bookworm) and download .xz file compressed image from the official Armbian archive. For advanced linux users who want a clean server (not even includes armbian-config), the "minimal" variant is recommended. Download burning tool balenaEtcher or USBImager and burn the compressed image to your SD card. https://docs.armbian.com/User-Guide_Getting-Started/
configure boot partition
Open extlinux/extlinux.conf and uncomment the correct dtb for your box. If you make a mistake here, you will fail to boot. Make sure only one line is uncommented (check your dtb, for s912 SoC its q200 or q201). Go back to armbi_boot partition, copy the correct u-boot file according to your SoC and rename it to u-boot.ext. If you dont know your SoC, boot into Android, install/open Device Info HW app and go to SOC tab. The app may need root access to read device specs.
install Armbian on SD card
To boot the system for the first time you have to use one from the following - sometimes only one way of doing this works! If your box is installed with libreElec/coreElec, then you can't boot into Armbian, because you have to flash stock Android firmware first.
Toothpick method: disconnect the power supply, insert card/drive, push reset button and connect the power while holding the button. Wait until Armbian logo appears and release the button. Terminal method: boot to Android, insert SD card with Armbian, install Terminal Emulator app (either from Google Play or APKMirror), run it and type reboot update. Your box should reboot to Armbian. Update&Backup: somewhere in the Android interface, perhaps the applications folder, you will find a program called Update OR Update&Backup, open it if you have "Update" app pre-installed, insert SD card with Armbian, select "Local" and choose ZIP file (aml_autoscript.zip) from the SD card; select "Update" and your box should reboot to Armbian. Recovery method: boot into Android, insert card/thumb drive and choose Reboot to recovery. Your box should boot into Armbian. ADB method: enable ADB (Google it) and run the following command in a terminal window: adb reboot update Menu button method (works with very few devices): disconnect the power supply, insert card/drive, push menu button on your remote control and connect the power while holding the button. Wait until Armbian boot script appears and release the button.
install-aml.sh script
NOTE: This will overwrite the Android ROM on the eMMC flash and attempt to install Armbian on the internal eMMC storage. Before beginning, make sure you have a backup of the stock Android ROM in the event the installation fails or you want to revert back to Android in the future. Proceed at your own risk.
You can copy the working Armbian environment from SD card to eMMC using the install-aml.sh script. This file does a physical copy of whole system to eMMC. You can install Armbian to eMMC by running the shell script in the /root directory. Run the following commands in a terminal window:
sudo su cd /root/ sudo ./install-aml.sh Once the Armbian finishes copying to the eMMC, shutdown Armbian, unplug power from the box, remove the SD card from the box, power the box back on to boot from the eMMC storage, if everything worked as expected, Armbian should boot from the internal eMMC storage and no longer require the SD/microSD card.
Amlogic USB Burning Tool
If you have a box with an Amlogic processor and need to update its firmware, install a custom ROM, or unbrick the box, the Amlogic USB Burning Tool is the recommended solution. It provides an easy-to-use interface for flashing firmware onto Amlogic-based devices. To use the Amlogic USB Burning Tool, follow these steps:
Download the Amlogic USB tool zip file and extract it to the PC. In the folder, you have the InstallDriver.exe. This will install the required drivers for Amlogic TV boxes. Download the firmware file compatible with your box. Launch the Amlogic USB Burning Tool, change language and click “File” > “Import Image” to load the firmware file. Connect your box to your PC using a USB cable, ensuring the box is in recovery mode (toothpick method) or bootloader mode. The tool should detect your box, and you can click the “Start” button to begin the flashing process. Wait for the process to complete, and your box will reboot with the new firmware installed.
Amlogic Burn Card Maker Tool
With this method you can recover the device from a brick if you have no way to connect it to a PC. In this tutorial, we will guide you on using the burn card maker tool to create a bootable SD card for reinstalling Android Stock Firmware (ROM) on your box. You just need the correct firmware (ROM) for your specific box.
Download Burn_Card_Maker v2.0.2 (3.96 MB). Extract the archive and run Burn_Card_Maker.exe file to run the tool. Click on upper left chinese menu and choose second option, check ‘English Version’ and restart the application. Choose disk then ‘Choose your image files’ to open image and select your specific .img firmware for your box. Press ‘Make’ button and wait to finish. Now insert the micro SD card in your box and power on while holding the reset AV button. You will be able to enter into recovery and the firmware will be flashed automatically. When the TV BOX reboots, remove the micro SD Card, this step is very important, wait 4-5 minutes and the update will completed. If your device fails to boot, your last option is to use the SHORT PIN method.
SHORT PIN method
Follow the steps outlined in the guide Amlogic Burn Card Maker Tool. If pressing the AV reset button doesn't work, it is likely that your device is unresponsive or "dead". In this case, you can try shorting out the PINS. Please note that at this point, you have little to lose in terms of further damage to the device. The SHORT PIN method can be used when other recovery methods and the Amlogic USB Burning Tool are not responsive. Please note that this method should only be attempted by those who fully understand the risks involved in handling electronics and take full responsibility for any potential issues that may arise.
Dismantle: to proceed with the SHORT PIN method, you will need to dismantle your device. Remove the rubber placeholders on the back of the device to reveal screws. Unscrew these screws and carefully separate the device. Be cautious when removing the top part of the device, as the WIFI antenna is usually attached to it. Removing it too quickly may cause damage to the WIFI cable. NAND flash: locate the NAND flash chip, which is where the operating system is stored. Look closely at the PINS on the chip, as they are quite small. Identify two pins that are next to each other, and using a screwdriver, short them out by making them touch each other. Recovery menu: ensure that your SD card is inserted with the firmware image using the Burn Card Maker tool. Have your power supply and HDMI cable ready to be inserted. Now, slowly try different combinations of the PINS while applying power to the device. Eventually, you will find a combination that initiates the hardware and communicates with the SD card. This will initiate the boot sequence, and you should see a recovery menu on the screen. From there, the installation of Android will begin. Essentially, shorting out these two PINS is similar to holding the AV reset button. Again: Before applying power, hold down the two PINS and then apply power. Repeat this process until you see results or something on the screen. Sometimes, the screen may flash green or red, indicating that you have found the correct PINS but have the wrong firmware. In this case, return to your PC and find a different firmware image specific to your SoC. If you are unable to find the original stock ROM for your box, it is possible that your box is a clone of another well-known box. In this case, find the firmware for the box that is most closely related to yours. You need to make your box boot once into recovery/update mode to reinstall firmware from SD card. The SHORT PIN method modifies normal boot procedure to make your box look for kernel and dtb on SD card before booting from internal memory.
https://inv.vern.cc/watch?v=CUfKNNgxb9E
Team Win Recovery Project
TWRP, short for Team Win Recovery Project, is a community-driven project that provides a custom recovery solution for Android devices. It supports backups, restoration, and custom ROM installation.
https://twrp.me/Devices/
install docker
ubuntu
Add the GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Add repository to APT sources:
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" apt-get update Install Docker:
apt-get install docker-ce docker-ce-cli containerd.io Test the installation:
docker --version Install Docker Compose:
sudo curl -L "https://github.com/ubiquiti/docker-compose-aarch64/releases/download/1.22.0/docker-compose-Linux-aarch64" -o /usr/local/bin/docker-compose<br> sudo chmod +x /usr/local/bin/docker-compose Test Docker Compose installation:
docker-compose --version debian
apt-get remove docker docker-engine docker.io containerd runc apt-get install ca-certificates curl gnupg lsb-release mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null apt update apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin If you would like to use Docker as a non-root user, you should now consider adding your user to the docker group with something like:
sudo usermod -aG docker $USER https://docs.armbian.com/User-Guide_Advanced-Features/#how-to-run-docker
install openWRT
On the host system, the full armbian firmware should be installed so you can use it on AP mode:
wget https://imola.armbian.com/apt/pool/main/a/armbian-firmware-full/armbian-firmware-full_21.08.6_all.deb sudo dpkg -i armbian-firmware-full_21.08.6_all.deb Make sure your USB WIFI adapter supports AP mode:
iw list Set country regulations, for example, to Spain set:
iw reg set ES Make sure you are not runing wpa_supplicant on your host machine or docker container will tell messages like wlan0: Could not connect to kernel driver.
sudo systemctl stop wpa_supplicant sudo systemctl disable wpa_supplicant Install dependencies:
sudo apt install iw iproute2 gettext dhcpcd5 Initial configuration is performed using a config file, openwrt.conf. You can use the included openwrt.conf.example as a baseline, which explains the values. At the very least you’ll need to change the values of LAN_PARENT and WIFI_IFACE. Commands to download the repo and configure openwrt.conf
git clone https://github.com/oofnikj/docker-openwrt.git cd docker-openwrt cp openwrt.conf.example openwrt.conf nano openwrt.conf Build the image:
make build Create the openwrt container:
make run If you arrive at * Ready, point your browser to LAN_DOMAIN and you should be presented with the login page. The default login is root with the password set as ROOT_PW. Any settings you configured or additional packages you installed will persist until you run:
make clean This will delete the container and all associated Docker networks so you can start fresh if you screw something up.
Installing will create and enable a service pointing to wherever you cloned this directory and execute run.sh on boot.
make install
https://forum.openwrt.org/t/running-openwrt-in-a-docker-container/56049
https://badgateway.qc.to/contain-your-router/
https://github.com/oofnikj/docker-openwrt
install pi-hole
Start by creating a directory where you will store the configuration file for the Pi-Hole docker container:
mkdir pihole cd pihole nano docker-compose.yml Enter the following lines:
services: pihole: container_name: pihole image: pihole/pihole:latest ports: - "53:53/tcp" - "53:53/udp" - "67:67/udp" - "80:80/tcp" environment: TZ: 'Europe/Berlin' WEBPASSWORD: '1234' networks: internal: ipv4_address: 192.168.16.10 # Assign a static IP within your router's subnet volumes: - './etc-pihole:/etc/pihole' - './etc-dnsmasq.d:/etc/dnsmasq.d' cap_add: - NET_ADMIN restart: unless-stopped networks: openwrt-lan: ipv4_address: 192.168.16.10 # Assign a static IP within your LAN subnet networks: openwrt-lan: If you are using ubuntu to run the pi-hole docker container, you may need to disable the systemd-resolve service:
systemctl disable systemd-resolved.service systemctl stop systemd-resolved Then, you can bring your pi-hole up:
docker-compose up -d As we managed our own router firmware using OpenWrt, you need to tell your router to send pi-hole IP as DNS server to client. Go to Interfaces -> Lan -> DHCP Server -> Advanced Settings, inside DHCP-Options enter value: 6,192.168.16.10. Apply changes and restart the LAN interface.
https://pimylifeup.com/pi-hole-docker/
https://firebog.net/
https://arstech.net/pi-hole-blocking-lists-2023/
https://avoidthehack.com/best-pihole-blocklists
install portainer
docker volume create portainer_data docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --network=openwrt-lan portainer/portainer-ce
install xfce
sudo apt-get -y install xorg lightdm xfce4 tango-icon-theme gnome-icon-theme dbus-x11 sudo startxfce4 To disable the desktop environment and return to tty1 after installing xfce on Armbian, you can follow these steps:
Press Ctrl + Alt + F1 to switch to tty1. Log in with your username and password. Stop the display manager service by running the following command: sudo service lightdm stop This will stop the graphical interface and return you to the command line interface. To prevent the display manager from starting automatically on boot, run the following command:
sudo systemctl disable lightdm
install midori browser
sudo apt install midori
install RPi monitor
The RPi monitor on port 8888 can also be installed for AMLOGIC boxes with the following command:
sudo armbianmonitor -r
install full armbian firmware
By default, the Armbian builds only include a limited set of firmwares out of the box. To address certain driver issues, you may need to install the complete Armbian firmware. There are two ways to do this: either through armbian-config -> software -> Full, or by manually installing the firmware via a USB device if you don't have internet connectivity on your box. To manually install the firmware, download it from the following link: https://imola.armbian.com/apt/pool/main/a/armbian-firmware-full/. Once downloaded, copy the firmware to your USB device. Then, insert the USB device into the Armbian box and navigate to your home folder.
cd ~ Check device identifier of your USB device:
lsblk Mount USB device at ./usbstick and install the package:
mkdir usbstick sudo mount /dev/sdX1 ./usbstick cd usbstick dpkg --install armbian-firmware-full_*.deb Replace sdX1 with your device identifier.
install USB LTE dongle
Armbian has a default setting that treats USB LTE Dongles as mass storage devices. However, in order for the dongle to be recognized as an Ethernet device, it needs to be switched from mass storage mode to network mode. To achieve this, we will need to install and configure usb-modeswitch.
sudo nano /etc/usb_modeswitch.conf Paste the following:
# Huawei E353 (3.se) and others TargetVendor=0x12d1 TargetProductList="14db,14dc" HuaweiNewMode=1 NoDriverLoading=1 Install usb-modeswitch:
sudo apt-get update sudo apt-get install usb-modeswitch Switch dongle to network mode:
sudo usb_modeswitch -v 12d1 -p 1f01 -c /etc/usb_modeswitch.conf You can now check if mass storage is removed:
lsusb https://askubuntu.com/questions/757638/can-not-connect-huawei-e3372-modem-on-ubuntu-15-10-please-help
https://installati.one/install-usb-modeswitch-ubuntu-20-04/
armbian commands
Configure system, network, timezone, language, hostname, keyboard, etc:
armbian-config Check temperature of SoC:
armbianmonitor -m Get boot logs for inspection and automatically upload it to an online pasteboard service:
armbianmonitor -u
backup SD card
Identify the SD Card: First, you need to identify the device name of your SD card. You can use the lsblk or fdisk -l command to list all storage devices and identify the SD card. Backup with dd: Use the dd command to create a raw image of the SD card. Here's an example command: sudo dd if=/dev/sdX of=/path/to/backup.img bs=4M status=progress Replace /dev/sdX with the actual device name of your SD card and /path/to/backup.img with the desired backup location and filename. Restoring from Backup: To restore the backup to a new SD card, you can use either balenaEtcher or a similar command in reverse: sudo dd if=/path/to/backup.img of=/dev/sdX bs=4M status=progress
android stock firmware
x96
Tanix
Ugoos
Vontar
Mecool
-
Pita Bread reacted to NicoD in Using different desktop environments on Armbian
Hi all. I've done a lot of tests with different desktop environments on Armbian.
I wanted an as light as possible desktop environment so I'd have enough ram left to do video rendering with the NanoPi M4(2GB)
I had to try a lot of things to get things working fine. So I wanted to save others that hassle.
Setting up Display Manager
First we need a Display Manager. NODM is installed by default. I tried lightdm but couldn't get it to work. So I went for LXDM. With NODM installed I had problems, so I also removed NODM.
To be sure lxdm is configured right, I also manually configure it.
sudo apt install lxdm sudo apt remove nodm sudo dpkg-reconfigure lxdm Install LXDE Desktop
Next step is to install the desktop environment you want. There is a problem with some Desktop Environments and LXDM what makes you can't login to some DE's out of the box. That we will resolve later. Easiest is to install lxdm first to be able to configure the others well. And reboot.
sudo apt install lxde sudo reboot Once booted you should be greeted by the Login screen. Here you can choose your different Desktop Environment. Choose LXDE and login.
If you'd try xfce4, then you'd see it doesn't work. To fix this we need to change the file /usr/share/xsessions/xfce.desktop. Use your favorite text editor. I use geany.
sudo geany /usr/share/xsessions/xfce.desktop Somewhere at the top of the file you'll see "Name=Xfce Session". Replace that space with a hyphen to "Name=Xfce-Session" and save the file.
Now you can also login to the default XFCE4 Desktop.
With other desktops this can be the same. Go the the same directory and open the file with the desktop name that doesn't work. Again replace the space with a hyphen
Installing different Desktop Environments.
For the Mate desktop I also needed to install the applets, else I got errors at login because of these missing applets
sudo apt install mate-desktop-environment mate-applets For KDE-Plasma
sudo apt install kde-full For Gnome. Modify the file sudo geany /usr/share/xsessions/gnome...
sudo apt install gnome-session sudo update-alternatives --config gdm3.css
I also tried LXQT. But this one didn't work. You can try others too.
Remove Desktop Environment
To remove a desktop environment you don't want anymore you do the remove instead of install.
sudo apt remove kde-full sudo apt remove mate-desktop-environment . . .
Please let me know if there's mistakes made, or if you've got advice.
Source for changing the name to make them work @IgorS :
Greetings, NicoD
-
Pita Bread reacted to Igor in Armbian UEFI (arm64 and x86)
Many of us are using Armbian not just on ARM single board computers but also on servers (bare metal & virtual). We use our builds since we trust it more then Debian, Ubuntu, not to mention other distributions that are recklessly updating and one ends up as an OS tester and not OS user. Personally I use Armbian Jammy on Ryzen 9 workstation with great success. My primary use case is development / productivity. For the road I used to have 13" Dell notebook which recently suddenly died. It was out of warranty so I had to get something new. After some testings of various devices I settled with 12th Gen Intel i5-1240P powered Lenovo. Then I tried many general purpose distros to see how well they work and all had some (minor) troubles ...
We are having UEFI images (common image) since some time, but UEFI nor desktops were fine tuned nor ready for such performance daily driver desktop usage. We were close, but not close enough to just run it. Past two weeks we have been lifting general UEFI support, fixed many bugs and what came out is "Armbian ultimate developers desktop build".
- improved support in GRUB (armbian wallpaper) & HiDPI GRUB support
- all preinstalled applications are normal apt packages
- current 5.15.y kernel, Jammy userland (5.19.y has some strange issues)
- snapd is not installed (user can install it)
- HiDPI support (automated adjustments on big screen resolutions)
- NVIDIA graphics acceleration with proprietary driver (x86 only)
- Intel graphics acceleration also works out of the box
- preinstalled Google Chrome (x86 only)
- preinstalled Microsoft Visual Studio Code (x86 only)
- ZFS 2.1.5 ready (apt install zfsutils-linux zfs-dkms)
- face unlock works perfectly fine on this laptop
- installation to SSD drive to dual boot with Windows 10/11 is supported Armbian classical way by transferring actual live image to the prepared partition via nand-sata-install. All you need to do is prepare spare space on your drive, Windows 10/11 or Linux, UEFI support (most if not all hardware for past 10 years has it).
I have tweaked images (XFCE, Gnome, Cinnamon) a bit to my personal needs, but making changes is welcome.
Nice to have: disk encryption within nand-sata-install, small bug fixing, additional DEs. Currently we have CLI, XFCE, Gnome and Cinnamon. Others are too buggy.
https://www.armbian.com/uefi-x86/
https://www.armbian.com/uefi-arm64/
Please report where it works and how (well)!
-
Pita Bread reacted to Panda in Efforts to develop firmware for Lemfo HK1 RBOX K8S 4G/64G
Hello People, I Bring to you the Lemfo HK1 RBOX K8S 4G/64G.
This box came with Android 13 and can be rooted easy, follow some specs of the box:
Processor: Rockchip RK3528
GPU: Mali 450
Memory: 4Gb (micron)
Storage: 64Gb (eMMC 5.1 Samsung)
Network: PHY Integrated stmmac-0:02 Driver RK630 100Mbps
Wireless: 5G driver: rtl8822cs on gpio
Bluetooth: 5.1
USB 3.0: 01 5Gbps
USB 2.0: 01
HDMI: 01
TV-Out: 01
Power: 5v 2A
Aliexpress link: Lemfo HK1 Rbox K8S
What is Working:
HDMI: partial (read bellow)
Network: partial (read bellow)
Bluetooth: no
Wifi: no
USB 3.0: yes
Sound: yes over HDMI
Obs:
You need to use hinlink-ht2 image, but no wireless, nor ethernet, only HDMI work, and you need to turn on monitor around 15 seconds after turn on the TVBox
I get the FDT from Android, and this FDT with hilink-ht2 images boot without HDMI, but with network, if you boot with hinlink-ht2 make the initial configs and start the desktop you can replace the rk-3528-hinlink-ht2.dtb with the android FDT and the box will boot, wait around 30 seconds and turn on the monitor and you have the HDMI and network working.
I have build the image with xfce and include some drivers (mail450, RK630, rtl8822cs) and enable some DRM options (under test yet)
I Have the Andoid boot partition dump, and other partions, I will share the files later (need some dropbox os gdrive to share)
I have attached the Android.DTB and dmesg from android and armbian, if someone want take a look.
Any help and sugestion will be great!
Some pictures of the board:
Lemfo-hk1rbox-k8s.dtb android_dmesg.log linux_dmesg.log linux-syslog
-
Pita Bread reacted to TheLinuxBug in Armbian related videos / video documentation thread!
Hello Everyone!
Recently @NicoD has been helping to release some videos on the Armbian community as well he usually keeps up with reviewing and documenting single board computers.
This got me thinking it would probably be awesome to have a central place to document Armbian related videos and documentation that exists.
I will try to post any good Armbian related channels or videos my self, but I would invite anyone else who would like to contribute to this thread as well!
Are you a creator that loves Armbian and has made some videos about it?? Let us know and share here!
To get things started I will include NicoD's most recent videos:
This video is about an important Armbian community member which if you have been around the forum for any period of time you have probably heard from, or in some cases, had to deal with
Thanks for taking time out of your busy schedule @Wernerto do the video!
Additionally, NicoD has just released a video on the Rock 5b including some benchmarks:
NicoD had reached out and asked if he could give the new Rock 5b sample I had received for a spin, and well... I couldn't say no! Great job breaking things down NicoD!
Well those are the two I will start out with, if this thread takes off I will try and update it with many more videos!
If anyone wants to see more pictures of the crafty case I made for the Rock 5b, let me know and I can attach them in this thread
Cheers all!
-
Pita Bread reacted to interference in Leelbox S1 S905x (1GB/8GB)
Some more details:
Ethernet is 100 Mbps (hardware). I have been struggling at first with armbian booting to a blank colored screen, with random color (pink, light blue, whatever). Turns out, my power supply cable was faulty and the ground connection was interrupted. This created an awkward situation where the power was circulating through the ground of the HDMI connection. Surprisingly this worked for the first stages of booting but soon would trigger the blank screen (I guess at the loading of the kernel framebuffer). as it should be known by reading the installation guides on the forum, the installation to eMMC must be done with the dedicated script, and not through armbian config; in the latter case, the device will be bricked. Of course I learned that the hard way. In my experience, re-flashing the original firmware via USB did not work, but it worked through the SD card. Hunting down the original Android image can be challenging as most links are dead/expired. I am attaching a `sbc-bench` run.
The device is slow-ish but possibly usable for light tasks. Still, I think it's amazing I could salvage it, so thanks to the armbian community!
leelbox-s1.txt
-
Pita Bread reacted to interference in Leelbox S1 S905x (1GB/8GB)
TV Box Status Information Template Version 1.0
=======================================
TV Box Name: Leelbox S1 (PCB marking: "A95X_DDR4" "V1_1 2160906")
CPU: AMLogic S905X
RAM: 1 GB DDR4 (reported: 860 MiB) - 2 x SpecTek (Micron) "PPE05-075" "F1646"
Armbian build file name: Armbian_community 24.5.0-trunk.226
DTB file used: meson-gxl-s905x-p212.dtb
Kernel Version: Linux 6.6.22-current-meson64
Distribution Installed: Bookworm
Working Ethernet (Yes/No): Yes
Max Ethernet Speed that works (100/1000): to be verified
Does wifi work (Yes/No): Yes (RTL8189ETV)
Does bluetooth work (Yes/No): No
Does HDMI audio work (Yes/No): Not tested
Comments:
- also sold as ABOX-A1 according to online sources;
- installation to MMC worked without issue using the dedicated script.
-
Pita Bread reacted to tgillett in A95X F3 AIR no video
Just for the record...
The image file I used to get my S905X3 box running was from this tutorial:
https://i12bretro.github.io/tutorials/0269.html
which references this site for the image file:
https://drive.google.com/open?id=1n6CZa582uJECV3lzQDtFbmbyvmOSiUSg
The file is:
Armbian_20.10_Arm-64_bullseye_current_5.9.0_desktop.img.xz
I used the dtb file "meson-sm1-a95xf3-air.dtb" from the Stable image referenced in SteeMans post.
This at least gets the board running and allows for an upgrade to the Debian Bullseye operating system using the apt-get command.
I can't get the current Stable images from the site referred to in SteeMans post here to work:
https://forum.armbian.com/topic/17106-installation-instructions-for-tv-boxes-with-amlogic-cpus/
Also the SHA checksums for these files don't seem to agree with the published value, so it may be there is some problem...
I hope this helps.
-
Pita Bread reacted to xuraax in H96 MAX X3 ARMBIAN INSTALL
You are correct, none of the dtb's I tried from the release worked for me. Maybe I did not try them all!
That dtb had been downloaded and used by me about a year ago when I had made another attempt to install Armbian on my box. At the time installation process worked but the actual install was buggy.
Anyway I am happy to report that since yesterday's message, I made another attempt at installation and this time there were only minor issues whilst upgrading which were fairly easily resolved. I am sorry I cannot find the notes I took were I had recorded the actual error but I believe it was something about the system not able to register certain upgrades. These were then cleared and I had no further issues. I even went ahead and installed to EMMC with no issues whatsoever so now I don't need the SDcard anymore which I hope will improve the speed a bit as well as reliability. So far no more issues.
I have now only one question, given that I am now operating from EMMC, if in the future I would want to install a new upgrade how would I do it? Will installing from SDcard work or would it be sufficient to use the Upgrade Manager or sudo apt update; sudo apt upgrade?
Thanks.
-
Pita Bread reacted to mradalbert in H96 Max X3 Specifics only
Hi guys!
People on 4pda say that H96 Max x3, Vontar x3, HK1 Box and Transpeed X3 Air are the same hardware (last three even look the same ). I tried using @root-stas dtb file and it worked on Vontar x3. So I suggest to change topic name to include other boxes names - maybe that will gather more people in this thread. As of me expect known bugs my device can not detect all resolutions over HDMI. I have 1440p 75 Hz monitor and Armbian can detect only resolutions up to 1080p at 60 Hz. I'm experiencing color shifts as well. Most looks about right but grays are shifted towards yellowish red. If somebody is competent here enough to tell if these are device specific bugs or SoC/Armbian related please tell me so I can report it in right thread.
Here are modes detected on TV Box:
And here are modes detected on my laptop with Intel graphics running Ubuntu:
Here is color shift example:
grey
-
Pita Bread reacted to uppi in H96 max x3
Thanks. But the newer version of the images don't follow same instructions and u-boot.ext was not working for me. So I started looking for the older image files
That worked perfectly for me. I have installed it in eMMC and working great. Currently using it as a headless server for my home network with Adguard and samba server with External HDD. USB 3.0 and Gigabit Ethernet are working great.
-
Pita Bread reacted to alec in H96 MAX X3 ARMBIAN INSTALL
The same story with Armbian on SD or USB. How to fix it?
-
Pita Bread reacted to Shinra in Amlogic s905L?
Does anyone know what is the real specs of this board. I try to boot armbian in pendrive into it but it always boot to the android system or in recovery. I try the different device tree but it always the same result.
-
Pita Bread reacted to geraldine adi in Amlogic s905l board p271 install guide
SOLVED !!
I have try using dtb for p281 and it's work right now, i search on google that p271 architecture is same with p281
Download armbian s9xx on here
I have use dtb file name is meson-gxl-s905w-p281.dtb on /dtb/amlogic
By following this step :
Now it's work now
Thanks to armbian team and community !!
-
Pita Bread reacted to Hqnicolas in Efforts to develop firmware for H96 MAX M9 RK3576 TV Box 8G/128G
🏆 Become a sponsor, help to add other boards in armbian standart, you don't need to be a programmer to help the community,
just need a copy of the ARM BOARD and a x86 computer to compile new versions.
If you like what you see here and want to help: Donate Armbian the like button only costs a few dollars.
Armbian Needs you help!
Product Specification:
Chipset: Rockchip RK3576 Octa Core ARM Mali G52 MC3
WIFI: WiFi6 11ax 1x1 80 MHz
wifi controller: AP6275P
RAM: DDR4 4GB/8GB
ROM: eMMC 32GB/64GB/128GB
OS: Android 14.0 || Armbian Vendor 6.1
Ethernet: 1000M Standard RJ-45
Bluetooth: BT 5.0
The RK3576 is indeed a lower-cost SoC but features four Cortex-A72 and four Cortex-A53 cores instead
Android Base Files:
H96-RK3576-ANDROID.dts
H96-RK3576-ANDROID.dts
H96-RK3576-BOX.dtb
H96-RK3576-BOX.dtb
RK3576_MiniLoaderAll.bin
wifi controller: AP6275P
Wifi Driver:
https://drive.google.com/file/d/1n6x4tg5Xh24nWllOTJTq1ldVyDkK8W2Q/view?usp=sharing
Flashing Tools:
https://drive.google.com/file/d/1nLgPCBN0qmbzufWDFmISYc92JUpvwMPc/view?usp=sharing
build_armbian.csc:
https://drive.google.com/file/d/1VNR5QJlPylPsce9PI9O2TB3wOpshK2Bh/view?usp=sharing
@hzdm Stock Firmware: method
https://drive.google.com/file/d/1zLGvIxLE6vf8iSTjsyEr-Ly4MZ6ZahBB/view?usp=sharing
Force board Maskrom Mode
Maskrom Pins:
-
Pita Bread reacted to Armin in Armbian for Amlogic S905X3
Thanks @SteeMan and @root-stas for your great support (without forgotten @balbes150 for his great job on Armbian)
Today's news:
1. I have burnt the version Armbian_20.05.4_Arm-64_bionic_current_5.7.0-rc6_20200518.img on the SD card with Etcher
2. Copy u-boot.sd to u-boot.ext (impossible to boot on the SD card without this)
3. Modify uEnv.txt to choose meson-g12a-x96-max-no-cvbs DTB file in amlogic section:
4. Boot on the SD card (with toothpick method because impossible with android update method due to error like this)
5. Define root password and create user session
6. Force the Ethernet speed to 100Mb
sudo ethtool –s [device_name] speed 100 duplex full autoneg on 7. Now, I can use putty from another device to be connected on the TV Box !!!!
Next step is to copy this configuration on the eMMC. So, I'm waiting your instructions to be sure that I can use this method:
cd /boot sudo cp u-boot.ext u-boot.sd cd sudo /root/install-aml.sh
-
Pita Bread reacted to NicoD in Mekotronics R58 mini PC + Unofficial Armbian from Monka is GREAT
@Lotus09 I just made a video about gaming on RK3588.
Here my Mekotronics review video :
More video's on my channel about gaming on RK3588. It doesn't play every game, but enough to have a good time.
-
Pita Bread reacted to NicoD in Armbian in 3D
Hi all.
Since I wanted a 3D intro for my Youtube Channel I started working with Blender again. Now the intro is finished I've got time to try to make a 3D Armbian Logo.
I'll show some of the progress here for those who are interested. And if anybody else wants to do the same, go ahead. We can then compare the results.
I've only just begun. But I needed a break so I started writing this.
Here's how it begins... create a side view ...

Then put those pictures in Blender, add a cube, position it right on both pictures, and start modeling....
All done with the NanoPi M4 on Armbian Bionic.
I'll slowly keep working on it. I can't promise it will look great, but nothing is lost if it doesn't... Someone once asked me to do this, I can't remember who it was. I think Chwe or jmcc or tido. Could also have been a ghost in my sleep.
Cheers, NicoD
ps: @Igor It would be nice if we could easily resize images in our posts. Maybe with a dropdown box and % would be easiest to do. I know this isn't a priority, just a suggestion.