tpc010 Posted June 26, 2016 Posted June 26, 2016 This information will be very useful for everyone. Yes I know, but I will insert the Tip with the startup-script, then it will work easier for all. I will only show the UART part.
lavvy Posted June 26, 2016 Posted June 26, 2016 I use computer translation. Sorry, I may not understand Your question. You asked about KODI. What he had in mind ? KODI works on Android. Is there a version of Openelec that you can run on MXQ PRO. Please specify what "docker", give the link. Docker is this https://www.docker.com. Armbian runs docker on the clearfog. http://forum.armbian.com/index.php/topic/490-docker-on-armbian/ . About the kodi, i am asking if kodi can run as an application on the armbian linux not android or openelec.
balbes150 Posted June 26, 2016 Author Posted June 26, 2016 Docker is this https://www.docker.com. Armbian runs docker on the clearfog. http://forum.armbian.com/index.php/topic/490-docker-on-armbian/ . About the kodi, i am asking if kodi can run as an application on the armbian linux not android or openelec. Thanks for the links. I will try to examine this information.
tpc010 Posted June 26, 2016 Posted June 26, 2016 This information will be very useful for everyone. I have good news, it's working with a auto-script script, so I will finish the last environment lines for autoboot with a Armbian SD card and will post all needed information. FYI: You have to change the resolution in Android and this will set the environment, which will used from Armbian auto-script.
lavvy Posted June 26, 2016 Posted June 26, 2016 @balbes150 thanks for the attention. i guessed that it can run docker and kodi cos all those applications have been supported at the odroids. in-fact @lgor confirmed that it is supposed to run http://forum.armbian.com/index.php/topic/490-docker-on-armbian/ but i wish you could test it on your mxq pro machine, cos i don't have it yet. secondly kodi has been confirmed to be working with hardware acceleration , 4k and cec on the s905 c2 . http://forum.odroid.com/viewtopic.php?f=136&t=19433 . i don't know if you could confirm that on the mxq pro tv box. thirdly , it will be fine to checkout this odrobian jessie, a c2 derivative.. http://forum.odroid.com/viewtopic.php?t=18771
Shimon Posted June 27, 2016 Posted June 27, 2016 Is it possible to reclaim all that reserved memory, like it's done in Odroid's boot.ini? (for headless operation I'd prefer to get close to 2GB) ​ @balbes150 I've modified the s905_autoscript.txt and produced a new s905_autoscript but it seems setenv m "sxga" is not supported (black screen). ​Which modes are supported and how do I add a new one? ​ ​ ​ ​ ​ ​ ​
balbes150 Posted June 27, 2016 Author Posted June 27, 2016 1. Remove not needed packages. Remove unnecessary files. Disabled in fstab to mount SWAP. Repartition (del SWAP). For example using gparted. This can be done without a PC. To boot Linux from a USB TV box and change the partitions on the SD card or Vice versa. 2. TV box has an HDMI output. You can only use the HDMI settings.
Shimon Posted June 27, 2016 Posted June 27, 2016 I meant memory, not storage. Right now just `1823856` bytes is avaliable. Look at these lines in boot.ini: ​ if test "${vpu}" = "0"; then fdt rm /mesonstream; fdt rm /vdec; fdt rm /ppmgr; fi if test "${hdmioutput}" = "0"; then fdt rm /mesonfb; fi The first line probably doesn't apply here, but the second might, freeing the reserved framebuffer memory. ​ ​Re: HDMI - how does Odroid manage to display all those other modes? ​ ​
balbes150 Posted June 28, 2016 Author Posted June 28, 2016 Maybe I'm wrong. It seems to me that these commands remove the information from the dtb file.
Shimon Posted June 28, 2016 Posted June 28, 2016 Yes, with parts of the configuration gone, the system doesn't initialize certain devices and uses less memory. Can it be done on our TV boxes too?
balbes150 Posted June 28, 2016 Author Posted June 28, 2016 Weren't watching, maybe I'm wrong. I think such procedures are added only in u-boot for Odroid C2. For use in our u-boot, need to patch and make yourself.
tpc010 Posted June 28, 2016 Posted June 28, 2016 Hi,here is a short howto to boot Armbian on Mini M8S from SD Card.You have to change the u-boot environment to check the SD-Card and then start a autoscript script.To boot the Armbian image you have to change some files from Armbian, change all mmcblk0 to mmcblk1 in file /etc/fstab /etc/init.d/firstrun /etc/init.d/resize2fsYou need the file boot-s905.txt and have to convert it to autoscript, the Mini M8S u-boot can't work with Armbians u-boot boot.ini. setenv cec "cecf" setenv mesontimer "0" setenv nographics "0" setenv condev "console=ttyS0,115200n8 console=tty0 consoleblank=0" setenv verbosity "255" setenv bootargs "root=/dev/mmcblk1p2 rootwait rootflags=data=writeback rw ${condev} no_console_suspend hdmimode=${hdmimode} m_bpp=${display_bpp} fsck.repair=yes loglevel=${verbosity} net.ifnames=0" setenv initrd_loadaddr "0x13000000" fatload mmc 0:1 ${initrd_loadaddr} uInitrd fatload mmc 0:1 ${loadaddr} zImage fatload mmc 0:1 ${dtb_mem_addr} dtb/meson8_Mini-M8S.dtb fdt addr ${dtb_mem_addr} if test "${mesontimer}" = "1"; then fdt rm /timer; fi if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi booti ${loadaddr} ${initrd_loadaddr} ${dtb_mem_addr} Convert it with u-boot tools to autoscript. mkimage -A arm -O linux -T script -C none -d boot-s905.txt s905_autoscript Copy it to SD-Card to the boot partition, and also copy the file "meson8_Mini-M8S.dtb" the Boot partition in folder "dtb".Now open the case and connect the UART connector. Read this Howto for more informations.http://www.cnx-software.com/2015/12/06/how-to-run-headless-linux-on-amlogic-s905-devices-such-as-mini-mx-or-k1-plus/# setenv preboot "run factory_reset_poweroff_protect;run upgrade_check;run bootmode_check;run init_display;run storeargs;run upgrade_key;run user_start;run switch_bootmode;" setenv user_start "if mmcinfo; then run linux_start_mmc;fi;" setenv linux_start_mmc "if fatload mmc 0 ${loadaddr} s905_autoscript; then echo ===[LINUX START from mmc]===;autoscr ${loadaddr};fi;" saveenv After reboot the Mini M8S should boot from SD-Card. Please check the lines and be careful, an error can brake the possibility to interrupt the boot sequence. UPDATE 2016/09/08: after apt-get distupgrade, the uboot package was updated and this was rewriting the uboot data from emmc, but the Mini m8s is not working with the uboot from Hardkernels Ordroid uboot. I got this after boot: ***** Warning!! ************************************************** **** This board have not been autorized or product keys are not valid. ** Please contact with Hardkernel or your distributor *************************************************** ******************* After shorten the emmc at boottime, I was able to recover the stockimage via OTG USB and amlogic's windows tool, thanks to balbes150, I found a info on freaktab. So after first armbian boot from SD, you have to remove the uboot package with "apt-get remove linux-u-boot-odroidc2". boot-s905.txt s905_autoscript.gz meson8_Mini-M8S.dtb.gz 2
Shimon Posted June 28, 2016 Posted June 28, 2016 Thx, @tpc010, nice write-up! Two questions; firstly how much memory is saved by setting nographics to 1? And secondly, are you saying that an M8S Mini that can already boot Ubuntu (via multiboot) won't boot @balbes150's Armbian image? (or were you simply starting from scratch with a vanilla image?)
tpc010 Posted June 28, 2016 Posted June 28, 2016 Thx, @tpc010, nice write-up! Two questions; firstly how much memory is saved by setting nographics to 1? And secondly, are you saying that an M8S Mini that can already boot Ubuntu (via multiboot) won't boot @balbes150's Armbian image? (or were you simply starting from scratch with a vanilla image?) Youre welcome, with screenoutput it needs around 330MB Memory after boot and without screen around 150MB after boot, you have to rebuild the autoscript file, don't change it directly in the compiled file. I don't know about Ubuntu on this system, but I think you can test it, now you have all informations to do it.
Shimon Posted June 29, 2016 Posted June 29, 2016 We're not talking about how much memory is used (not related to running X) but how much is available to the system (look at the first column in the free command's output). The following line, which is missing from @balbes150 script, should free some more: if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi OK, booted Armbian on M8S Mini without a problem using the multiboot method. The 2 GB memory limit is still there (probably the same kernel configuration) but unlike Ubuntu, frequency scaling works. I wonder where the difference is coming from?
tpc010 Posted June 29, 2016 Posted June 29, 2016 We're not talking about how much memory is used (not related to running X) but how much is available to the system (look at the first column in the free command's output). The following line, which is missing from @balbes150 script, should free some more: if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi OK, booted Armbian on M8S Mini without a problem using the multiboot method. The 2 GB memory limit is still there (probably the same kernel configuration) but unlike Ubuntu, frequency scaling works. I wonder where the difference is coming from? Ok sorry, it was to late :-) nographics 1 user@odroidc2:~$ free -m total used free shared buffers cached Mem: 1976 174 1801 6 9 78 -/+ buffers/cache: 86 1889 Swap: 127 0 127 nographics 0 user@odroidc2:~$ free -m total used free shared buffers cached Mem: 1782 317 1464 6 14 97 -/+ buffers/cache: 206 1576 Swap: 127 0 127
Shimon Posted June 29, 2016 Posted June 29, 2016 Great for servers, almost 200 MB reclaimed I think this option should find its way into @balbes150's images.
balbes150 Posted June 29, 2016 Author Posted June 29, 2016 Dare I recommend to make corrections. This will allow the script autostart to interrupt the boot u-boot. Without this, if there is script, the console UART must not be interrupted. The script to start before stop loading. it adds the ability to boot from USB drives. setenv bootcmd "run start_autoscript;run storeboot;" setenv start_autoscript "if usb start ; then run start_usb_autoscript;fi;if mmcinfo; then run start_mmc_autoscript;fi;" setenv start_mmc_autoscript "if fatload mmc 0 1020000 s905_autoscript; then autoscr 1020000; fi" setenv start_usb_autoscript "if fatload usb 0 1020000 s905_autoscript; then autoscr 1020000; fi"
Shimon Posted July 4, 2016 Posted July 4, 2016 @balbes150 Where do I need to put the `fdt rm /reserved-memory; fdt rm /aocec;` line in your version of the script (Ubuntu, Armbian) to unconditionally free memory on every boot?
balbes150 Posted July 4, 2016 Author Posted July 4, 2016 You need to look a specific version of the script. Write here the contents of your script, I can tell you how you can add.
Shimon Posted July 4, 2016 Posted July 4, 2016 Thanks! Here's the script I use to boot Armbian (it's your v2, I believe): setenv m "720p60hz" setenv cec "cecf" setenv m_bpp "24" setenv mesontimer "0" setenv nographics "1" setenv loadaddr "0x11000000" setenv dtb_loadaddr "0x1000000" setenv initrd_loadaddr "0x13000000" setenv condev "console=ttyS0,115200n8 console=tty0 consoleblank=0" setenv bootargs "root=LABEL=ROOTFS rootwait rootflags=data=writeback rw ${condev} no_console_suspend hdmimode=${m} m_bpp=${m_bpp} fsck.repair=yes net.ifnames=0" setenv boot_start booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr} if fatload mmc 0:1 ${dtb_loadaddr} /dtb/${s905_dtb}.dtb; then setenv dtb_img "1"; else if fatload mmc 0:1 ${dtb_loadaddr} dtb.img; then setenv dtb_img "1"; else setenv dtb_img "0";fi;fi; if fatload mmc 0:1 ${initrd_loadaddr} uInitrd; then if fatload mmc 0:1 ${loadaddr} zImage; then if test "${dtb_img}" = "1"; then run boot_start;fi;fi;fi; if fatload usb 0:1 ${dtb_loadaddr} /dtb/${s905_dtb}.dtb; then setenv dtb_img "1"; else if fatload usb 0:1 ${dtb_loadaddr} dtb.img; then setenv dtb_img "1"; else setenv dtb_img "0";fi;fi; if fatload usb 0:1 ${initrd_loadaddr} uInitrd; then if fatload usb 0:1 ${loadaddr} zImage; then if test "${dtb_img}" = "1"; then run boot_start;fi;fi;fi;
balbes150 Posted July 5, 2016 Author Posted July 5, 2016 Based on the fact that these scripts binarie files. They cannot be edited. To change the parameter you want to edit a text file and build the binary. I recommend making two scripts, for console, for desktop. setenv m "720p60hz" setenv cec "cecf" setenv m_bpp "24" setenv mesontimer "0" setenv nographics "1" setenv loadaddr "0x11000000" setenv dtb_loadaddr "0x1000000" setenv initrd_loadaddr "0x13000000" setenv condev "console=ttyS0,115200n8 console=tty0 consoleblank=0" setenv bootargs "root=LABEL=ROOTFS rootwait rootflags=data=writeback rw ${condev} no_console_suspend hdmimode=${m} m_bpp=${m_bpp} fsck.repair=yes net.ifnames=0" setenv boot_start fdt_start fdt addr ${dtb_loadaddr}; if test "${nographics}" = "1"; then fdt rm /reserved-memory; fdt rm /aocec; fi; booti ${loadaddr} ${initrd_loadaddr} ${dtb_loadaddr} if fatload mmc 0:1 ${dtb_loadaddr} /dtb/${s905_dtb}.dtb; then setenv dtb_img "1"; else if fatload mmc 0:1 ${dtb_loadaddr} dtb.img; then setenv dtb_img "1"; else setenv dtb_img "0";fi;fi; if fatload mmc 0:1 ${initrd_loadaddr} uInitrd; then if fatload mmc 0:1 ${loadaddr} zImage; then if test "${dtb_img}" = "1"; then run boot_start;fi;fi;fi; if fatload usb 0:1 ${dtb_loadaddr} /dtb/${s905_dtb}.dtb; then setenv dtb_img "1"; else if fatload usb 0:1 ${dtb_loadaddr} dtb.img; then setenv dtb_img "1"; else setenv dtb_img "0";fi;fi; if fatload usb 0:1 ${initrd_loadaddr} uInitrd; then if fatload usb 0:1 ${loadaddr} zImage; then if test "${dtb_img}" = "1"; then run boot_start;fi;fi;fi;
Shimon Posted July 5, 2016 Posted July 5, 2016 I'd already experimented with editing the txt script and mkimage, trying to change resolution to sxga but without the modified uBoot it didn't work. This does, however, thanks @balbes150!
asasl Posted July 10, 2016 Posted July 10, 2016 Hello! Can I host Linux Armbian on the internal eMMC flash? It is also much faster CF cards.
balbes150 Posted July 11, 2016 Author Posted July 11, 2016 Hello! Can I host Linux Armbian on the internal eMMC flash? It is also much faster CF cards. Yes, this is possible. But not yet ready automatic installation procedure, all you need to perform manually.
balbes150 Posted July 19, 2016 Author Posted July 19, 2016 Alpha version profile armbian for vegas95. This is not difficult, please check the build process of the image vegas95\debian\wheezy. Primary start kernel from external media passes. The rest is still in not working condition. Pay attention to the image itself NOT working, it is only the Assembly test profile. https://github.com/150balbes/lib
balbes150 Posted July 19, 2016 Author Posted July 19, 2016 As it turned out, the images of workers. The download does not occur due to a failure in the procedure of the extension section. The procedure prescribed force /dev/mmcblk0. And when you start from SD card, this device indicates the internal memory (eMMC). Where you already have the partitions from Android. If you disable the extension root partition in the script, it works (without automatic extensions section). 1
balbes150 Posted July 23, 2016 Author Posted July 23, 2016 http://freaktab.com/forum/tv-player-support/amlogic-based-tv-players/s905/tronsmart-ac/firmware-roms-tools-at/565449-running-linux-from-sd-card-or-usb-flash-drive-using-balbes150-method-and-files?p=586733#post586733 1
balbes150 Posted July 29, 2016 Author Posted July 29, 2016 Updated image, using the automatically load dtb file from the internal memory. After writing it to the media, you need to replace the script s905_autoscript the one to be on the website next to the image. To use the new script s905_autoscript, with the same images, you need to replace script and remove from the first partition (FAT) file of the dtb.img. Armbian_5.17_Vegas95_Debian_jessie_3.14.73_desktop_20160729.img.xz https://yadi.sk/d/pHxaRAs-tZiei This option can be used on any models. Copy the dtb file in the manual as previously required. But keep in mind that sometimes the dtb file from internal memory not operating properly (system not loaded). In these cases, you need to copy the first section finished the dtb file.img as you did previously.
mdel Posted August 20, 2016 Posted August 20, 2016 @balbes150 i've flashed your Armbian_5.17_Vegas95_Debian_jessie_3.14.73_desktop_20160729.img.xz, and i'm testing it on a nexbox A95X (s905). i'm "auto booting" your s905_autoscript by renaming to to aml_autoscript and running recovery mode with "toothpick", so it boots directly and i don't have to modify my stock android uboot env which i'm not sure how to restore after i touch it. So your armbian booted fine, i also have some hdmi problems (broken image) and need to unplug it after boot to fix it.. I have a couple of questions, why are there so many dtb directories on that images (dtb/, dtb-3.14.73-vegas95/ dtb-3.14.73-vegas95.old/), is there a dynamic loading of dtb files from the boot partition ? I see your script use the dtb auto loading from memory if there's no dtb.img file, but that dtb.img should be on the root of the boot partition not in a directory right ? Anyways, i'm wondering what's going on because that armbian image has some problems on my a95x : - not important but cpufreq doesn't seem to work. i can change scaling governors but it won't change frequencies at least according to armbianmonitor (which doesn't seem to read temperatures well either, so maybe the frequency reading is also wrong).. - then more important, one of the two usb ports won't work on armbian (nothing is detected, nothing in the logs when i plug a dongle), it works fine in android. The second port works fine. root@vegas95:~# lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub root@vegas95:~# lsusb -t /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M That's why i'm wondering about a wrong dtb file loading. I've also tried to place my dtb.img file on the boot partition but the usb problem stays the same. I haven't tested anything else, i think wifi is not working but that's okay, and i'll care about multimedia stuff later. Finally i would be very interested in getting a non desktop ubuntu (possibly xenial) armbian image, if you have something like that. At some point i'll test armbian C2 xenial image with a modified boot method, but the C2 has some specifics that i don't really want to mix in my tests.. thx
Recommended Posts