Martian Posted September 19, 2015 Posted September 19, 2015 Hi, I have the following issue: I installed Armbian 4.3 Debian (wheezy) 3.4.108 for Micro. My device is A20-Olimex-Olinuxino Micro with nand. I installed it to boot from NAND and store the rootfs on SATA /dev/sda1. When I powered it up with HDMI connected to the TV and micro sdcard plugged in, I see the red armbian logo shows up, but then display turns off and nothing. If I login with ssh I see that /boot is mounted to NAND and rootfs is indeed in /dev/sda1. If I boot without micro sdcard plugged I don't see any display output on the TV, but still the device boots up and the mounts seems the same, /boot on /dev/nand1 and /dev/sda1 is the rootfs. Perfect so I wanted to enable HDMI output and tried with a10disp as in documentation, but got the following: root@micro:/boot# a10disp changehdmimodeforce 4 sunxi disp kernel module version is 1.0 Cannot change HDMI mode because HDMI is not enabled. root@micro:/boot# a10disp switchtohdmiforce 4 sunxi disp kernel module version is 1.0 Cannot change HDMI mode because LCD is not enabled. root@micro:/boot# a10disp enablehdmi 4 sunxi disp kernel module version is 1.0 Reported framebuffer size is too small to fit mode (2.93 MB available; 7.03 MB required). Increase the default framebuffer size allocated at boot, or if you don't need double buffering (used by Mali and video acceleration) use the --nodoublebuffer option. I assume the framebuffer size is variable: sunxi_fb_mem_reserve Here is how my cmdline looks like: root@micro:/boot# cat /proc/cmdline console=tty1 root=/dev/sda1 rootwait rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 enforcing=0 loglevel=1 So following the documentation I tried to edit the boot.cmd and uEnv.txt files as follow: root@micro:/boot# cat boot.cmd setenv bootargs console=tty0 root=/dev/sda1 rootwait panic=10 disp.screen0_output_mode=1280x720p60 hdmi.audio=EDID:0 sunxi_fb_mem_reserve=128 sunxi_no_mali_mem_reserve sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 consoleblank=0 script=script.bin kernel=uImage root@micro:/boot# cat uEnv.txt console=tty1 nand_root=/dev/sda1 rootwait extraargs=rootfstype=ext4 disp.screen0_output_mode=1280x720p60 hdmi.audio=EDID:0 sunxi_g2d_mem_reserve=0 sunxi_ve_mem_reserve=0 sunxi_fb_mem_reserve=128 sunxi_no_mali_mem_reserve panic=10 consoleblank=0 script=script.bin kernel=uImage root@micro:/boot# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr Image Name: Created: Sat Sep 19 12:50:46 2015 Image Type: ARM Linux Script (uncompressed) Data Size: 271 Bytes = 0.26 kB = 0.00 MB Load Address: 00000000 Entry Point: 00000000 Contents: Image 0: 263 Bytes = 0.26 kB = 0.00 MB When I reboot I get the same cmdline so it seems my changes are not applied I wonder where they are really taken from? Yet the HDMI display shows nothing. The dmesg log can be found here. Thanks! Martin
Igor Posted September 19, 2015 Posted September 19, 2015 What power supply are you using? If you are running system from nand, than uEnv.txt is taking control. boot.scr and boot.cmd should not be there. Is your /boot (/dev/nand1)? nand1 is boot partition with kernel uImage and uEnv.txt and some other files but not boot.scr and boot.cmd And you have to remove SD card if you want to boot from NAND .. if it's not booting than check BUG/Limitations and proceed with the hint.
Martian Posted September 21, 2015 Author Posted September 21, 2015 Hi, Meanwhile I decided to try upgrading to vanilla Jessie. I couldn't boot it due to the following: U-Boot 2011.09-rc1-00000-gf75abad-dirty (Oct 21 2013 - 18:44:22) Allwinner Technology CPU: SUNXI Family Board: A20-Cubietruck DRAM: 1 GiB NAND: NB1 : enter NFB_Init [NAND] nand driver( version: 0x2, 0x12, data: 20130526 [NAND] set nand_good_block_ratio 870 NB1 : nand phy init ok PHY_PageReadSpare : too much ecc err,bank 0 block 25f,page 0 NB1 : init ok 3480 MiB Using default environment In: serial Out: serial Err: serial --------fastboot partitions-------- -total partitions:2- -name- -start- -size- bootloader : 8000 8000 rootfs : 10000 6bc000 ----------------------------------- no misc partition is found Hit any key to stop autoboot: 1 \0x08\0x08\0x08 0 Failed to mount ext2 filesystem... ** Unrecognized f ilesystem type ** reading /uEnv.txt 277 bytes read ## Warning: defaulting to text format Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** reading /script.bin 52252 bytes read Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** reading uImage 5411152 bytes read ## Booting kernel from Legacy Image at 48000000 ... Image Name: Linux kernel Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 5411088 Bytes = 5.2 MiB Load Address: 40008000 Entry Point: 40008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Using machid 0x10bb from environment Starting kernel ... Uncompressing Linux... done, booting the kernel. Error: unrecognized/unsupported machine ID (r1 = 0x000010bb). Available machine support: ID (hex)\0x09NAME ffffffff\0x09Generic DT based system ffffffff\0x09Allwinner sun9i Family ffffffff\0x09Allwinner sun8i Family ffffffff\0x09Allwinner sun7i (A20) Family ffffffff\0x09Allwinner sun6i (A31) Family ffffffff\0x09Allwinner A1X (Device Tree) Please check your kernel config and/or bootloader. So I tried Legacy Jessie, but I had issues to install OpenMediaVault on top of it so I eventually rolled back to Legacy wheezy again. This time after all this acrobatics my uEnv.txt works and I got the desired FB buffer size. I didn't have a chance yet to try the HDMI display, because my TV is overtaken by my kid watching movies. I will update later for the status of the HDMI. Thanks Igor! Martin
Recommended Posts