Jump to content

ARMBIAN for Amlogic S905 and S905X (ver 5.44 =<)


balbes150

Recommended Posts

Here is some more info about the box:

 

lshw
amlogic-s905x
description: AArch64 Processor rev 4 (aarch64)
product: Amlogic
width: 64 bits
*-core
description: Motherboard
physical id: 0
capabilities: amlogic__gxbb
*-cpu:0
description: CPU
product: cpu
physical id: 0
bus info: cpu@0
size: 2016MHz
capacity: 2016MHz
capabilities: fp asimd evtstrm crc32 cpufreq
*-cpu:1
description: CPU
product: cpu
physical id: 1
bus info: cpu@1
size: 2016MHz
capacity: 2016MHz
capabilities: fp asimd evtstrm crc32 cpufreq
*-cpu:2
description: CPU
product: cpu
physical id: 2
bus info: cpu@2
size: 2016MHz
capacity: 2016MHz
capabilities: fp asimd evtstrm crc32 cpufreq
*-cpu:3
description: CPU
product: cpu
physical id: 3
bus info: cpu@3
size: 2016MHz
capacity: 2016MHz
capabilities: fp asimd evtstrm crc32 cpufreq
*-memory
description: System memory
physical id: 4
size: 1815MiB
*-usbhost:0
product: DWC OTG Controller
vendor: Linux 3.14.29 dwc_otg_hcd
physical id: 1
bus info: usb@2
logical name: usb2
version: 3.14
capabilities: usb-2.00
configuration: driver=hub slots=1 speed=480Mbit/s
*-usbhost:1
product: DWC OTG Controller
vendor: Linux 3.14.29 dwc_otg_hcd
physical id: 2
bus info: usb@1
logical name: usb1
version: 3.14
capabilities: usb-2.00
configuration: driver=hub slots=1 speed=480Mbit/s
*-usb
description: Keyboard
product: USB Receiver
vendor: Logitech
physical id: 1
bus info: usb@1:1
version: 29.00
capabilities: usb-2.00
configuration: driver=usbhid maxpower=98mA speed=12Mbit/s
*-network:0
description: Ethernet interface
physical id: 3
logical name: eth0
serial: ee:2e:ca:cb:e6:da
size: 10Mbit/s
capacity: 100Mbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=st_mac100 driverversion=March_2013 duplex=half link=no multicast=yes port=MII speed=10Mbit/s
*-network:1
description: Wireless interface
physical id: 4
logical name: wlan0
serial: cc:79:cf:49:93:51
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=rtl8723bs driverversion=3.14.29 firmware=N/A ip=192.168.1.7 link=yes multicast=yes wireless=IEEE 802.11bgn

 

And the available space on the box looks OK to me:

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            805M     0  805M   0% /dev
tmpfs           182M  8.0M  174M   5% /run
/dev/mmcblk0p2   30G  4.0G   25G  14% /
tmpfs           908M  112K  908M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           908M     0  908M   0% /sys/fs/cgroup
tmpfs           908M   72K  908M   1% /tmp
/dev/mmcblk0p1   64M   46M   19M  71% /boot
tmpfs           182M   28K  182M   1% /run/user/1000
tmpfs           182M     0  182M   0% /run/user/0
/dev/data       4.7G  722M  4.0G  16% /media/data

Link to comment
Share on other sites

Hello everyone!
I have updated and tested the BACKUP/RESTORE script in many situations.
Below are some screenshots of the script in action:
 


backup uncompressed: backup_uncompressed.png
 
backup compressed:     backup_compressed.png
 
restore compressed:     restore_compressed.png
 
restore uncompressed: restore_uncompressed.png


 
Here is the finished BACKUP/RESTORE script:

 

#!/bin/bash
# Author: xXx
# Purpose: Automate the process of backing up internal storage.
# Date: 4 Jan 2017 20:22:00 EET
###############################################################################
# Update: 5 Jan 2017 19:48:00 EET                                             #
# Reason: Added support for when the user have started his machine            #
# from USB. Now the right source and destination should be selected.          #
# Added support for uncompressed images.                                      #
# Added detection if the user runs already from emmc.                         #
###############################################################################
# Update: 6 Jan 2017 21:43:00 EET                                             #
# Reason: Added functionality to restore images that this program creates.    #
###############################################################################
_r=$(tput bold && tput setaf 1)
_g=$(tput bold && tput setaf 2)
_b=$(tput bold && tput setaf 4)
_y=$(tput bold && tput setaf 3)
_x=$(tput sgr0)
OUTDIR="/root"
dobackup(){
echo $_y" DO YOU WANT COMPRESSION ? "$_x
while true
read -p " "$_b"YES=("$_y"y"$_b") NO=("$_y"n"$_b")"$_x" " yn
do
case $yn in
y)
COMPRESS=TRUE
break;;
n)
COMPRESS=FALSE
break;;
*)
;;
esac
done
if [ "$COMPRESS" = "TRUE" ];then
echo "$_b SAVING AND COMPRESSING "$_g"$emmc"$_b" TO "$_g"$OUTDIR/$image.gz"$_x"..."
dd if=/dev/$emmc | pv -s $intsize"K" | gzip > $OUTDIR/$image.gz
finish
else
echo "$_b SAVING "$_g"$emmc"$_b" TO "$_g"$OUTDIR/$image"$_x"..."
dd if=/dev/$emmc | pv -s $intsize"K" | dd of=$OUTDIR/$image
finish
fi
}
dorestore(){
echo $_y" DID YOU USED COMPRESSION WHEN YOU TOOK THE BACKUP ? "$_x
while true
read -p " "$_b"YES=("$_y"y"$_b") NO=("$_y"n"$_b")"$_x" " yn
do
case $yn in
y)
COMPRESS=TRUE
break;;
n)
COMPRESS=FALSE
break;;
*)
;;
esac
done
if [ "$COMPRESS" = "TRUE" ];then
[ ! -f $OUTDIR/$image.gz ] && echo "$_r NO IMAGE FOUND. MAKE SURE YOU HAVE MADE A BACKUP FIRST."$_x"" && exit 1
echo "$_y YOU ARE ABOUT TO MAKE SERIOUS CHANGES TO YOUR SYSTEM!!!"
echo " FILE "$_g"$OUTDIR/$image.gz"$_y" IS GOING TO BE WRITEN TO "$_g"$emmc"$_y" "
echo " MAKE SURE EVERYTHING IS OK AND:"
read -p " PRESS ENTER TO CONTINUE OR CTRL+C TO CANCEL $_x" blah
echo $_b" RESTORING $OUTDIR/$image.gz TO /dev/$emmc | PLEASE WAIT..."$_x
#echo " SOME MUMBO JUMBO APPEARS HERE..."
gunzip -c $OUTDIR/$image.gz | pv -s $intsize"K" | dd of=/dev/$emmc
finish
else
[ ! -f $OUTDIR/$image ] && echo "$_r NO IMAGE FOUND. MAKE SURE YOU HAVE MADE A BACKUP FIRST."$_x"" && exit 1
echo "$_y YOU ARE ABOUT TO MAKE SERIOUS CHANGES TO YOUR SYSTEM!!!"
echo " FILE "$_g"$OUTDIR/$image"$_y" IS GOING TO BE WRITEN TO "$_g"$emmc"$_y" "
echo " MAKE SURE EVERYTHING IS OK AND:"
read -p " PRESS ENTER TO CONTINUE OR CTRL+C TO CANCEL $_x" blah
echo $_b" RESTORING $OUTDIR/$image TO /dev/$emmc | PLEASE WAIT..."$_x
#echo " SOME MUMBO JUMBO APPEARS HERE..."
dd if=$OUTDIR/$image | pv -s $intsize"K" | dd of=/dev/$emmc
finish
fi
}
finish(){
echo "$_g JOB FINISHED!"$_x""
}
[ $(whoami) != root ] && echo "$_r Please run this program as root""$_x" && exit 1
avail=$(lsblk | grep -oE '(mmcblk[0-9]|sda[0-9])' | sort | uniq)
runfrom=$(lsblk | grep /$ | grep -oE '(mmcblk[0-9]|sda[0-9])')
[ "$runfrom" = "" ] && echo "$_r UNABLE TO FIND ROOT OF THE RUNNING SYSTEM!!! $_x" && exit 1
emmc=$(echo $avail | sed "s/$runfrom//" | sed "s/sd[a-z][0-9]//g" | sed "s/ //g")
[ "$emmc" = "" ] && echo "$_r UNABLE TO FIND YOUR EMMC DRIVE!!! $_x" && exit 1
[ "$(echo $emmc | grep mmcblk)" = "" ] && echo "$_r YOU DO NOT APPEAR TO HAVE AN EMMC DRIVE!!! $_x" && exit 1
intsize=$(fdisk -s /dev/$emmc)
rootfree=$(df | grep /$ | awk '{print $4}')
image=$(echo $(cat /proc/cpuinfo | egrep '(Hardware|Revision)' | awk '{print $3}') | sed "s/ /-/g")-emmc.img
echo "$_b AVAILABLE DEVICES: "$_g"$(echo $avail)""$_x"
echo "$_b YOU ARE RUNNING "$_g"$(lsb_release -c | awk '{print $2}')"$_b" FROM "$_g"$runfrom""$_x"
echo -e "$_b INTERNAL EMMC IS: "$_g"$emmc"$_b" SIZE: "$_g"$intsize""$_x"
echo -e "$_b ROOT ($runfrom) FREE SPACE IS:\t"$_g"$rootfree""$_x"
[ $rootfree -le $intsize ] && echo "$_r NOT ENOUGH FREE SPACE!!! $_x" && exit 1
[ $runfrom = $emmc ] && echo "$_r YOU ARE RUNNING ALREADY FROM EMMC!!! $_x" && exit 1
echo "$_y DO YOU WANT TO BACKUP OR RESTORE ? "$_x""
while true
read -p " "$_b"BACKUP=("$_y"b"$_b") RESTORE=("$_y"r"$_b")"$_x" " br
do
case $br in

dobackup
break;;
r)
dorestore
break;;
*)
;;
esac
done

 

 

 

You can also download the script from here
Please test the script and report any bugs.

Link to comment
Share on other sites

I've just given the latest Ubuntu image a test drive and I'm delighted to report it's much better compared to the one I've been using so far (20160625):

- the temp sensor as well as WiFI works out of the box
- no problem with ZRAM swapping, I was able to go up to 3G without any OOM kills whatsoever (@balbes150, you can safely make ZRAM the default, dispensing with that puny swapfile)

- persistent eth0 MAC address
- the kernel still only supports 1.5GHz max clock (instead of 1.6GHz)
- I was unable to free the reserved memory which used to work with the old kernel

For now, I've copied the new kernel to my own image and love the benefits :)

@balbes150 Could you suggest a proper way of integrating the fdt commands via the s905x_init.sh script perhaps?
 

Link to comment
Share on other sites

NEXBOX A95X running UBUNTU image (not the desktop). The fw_printenv output is the following if that is any help:

 

------------------------------------------------------------------------------------------------------------------------------------------------------

root@amlogic-s905x:~# fw_printenv
EnableSelinux=enforcing
aml_dt=gxl_p212_2g
baudrate=115200
bootcmd=run start_autoscript;run storeboot;
bootdelay=1
bootfromnand=0
bootfromrecovery=0
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
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
ipaddr=10.18.9.97
jtag=apao
loadaddr=1080000
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 switch_bootmode;
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
start_autoscript=if usb start ; then run start_usb_autoscript;fi;if mmcinfo; then run start_mmc_autoscript;fi;
start_mmc_autoscript=if fatload mmc 0 1020000 s905_autoscript; then autoscr 1020000; fi
start_usb_autoscript=if fatload usb 0 1020000 s905_autoscript; then autoscr 1020000; fi
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=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 run try_auto_burn; fi;fi;fi;
try_auto_burn=update 700 750;
update=run usb_burning; run sdc_burning; if mmcinfo; then run recovery_from_sdcard;fi;if usb start 0; then run recovery_from_udisk;fi;run recovery_from_flash;
upgrade_check=echo upgrade_step=${upgrade_step}; if itest ${upgrade_step} == 3; then run init_display; run storeargs; run update;else 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_step=2
usb_burning=update 1000
wipe_cache=successful
wipe_data=successful
----------------------------------------------------------------------------------------------------------------------------------------------------------

Link to comment
Share on other sites

This post is gentoo centric...

 

Question near end.

 

As 'test' I had replaced the files

 config-3.14.29

 System.map-3.14.29

 zImage

in /boot

 

with the corresponding ones from kszaq LE S905 aarch64 7.0.3.012

 

Same for /lib/modules and /lib/firmware directories

 

Note that I had done same, with success, previously to replace

balbes150 distributed kernel with my own natively built kernel+modules

from 150balbes Amlogic_s905-kernel git.

 

But the gentoo did not boot properly with kszaq kernel. Screen stays

eventually black and no ssh access. So I reverted back to previous

kernel+modules.

 

Note also that I had built kszaq kernel+modules myself from kszaq

LibreELEC.tv git because, for now, kszaq's own builds are 32bit. And

my own 64bit built LE works fine.

 

So I thought to compare the both kernel+modules ...

 

Question: perhaps, to properly boot different kernel+modules, I will

need to update to different uInitrd u-boot image in /boot as well? If

so, how would one make such corresponding uInitrd ?

Link to comment
Share on other sites

Hi all

With kind help from OP I learned how to make uInitrd u-boot image.

It boots successfully with gentoo kernel I natively built.

I also tried to make one to boot with the LE kernel I cross built. But so far I did not succeed.

But at least I can now do so for natively buillt kernel+modules.

Have a nice day.

Link to comment
Share on other sites

Firstly hello to all involved in this thread

 

sorry if I missed, but is it possible to install and run one of this images on sd card while libreelec is installed on internal memory , or it must be android ?

 

my box is Beelink Mini MX S905 1GB/8GB ( one without red sign on top )

 

libreelec is last from kszaq - 7.0.3.12c

Link to comment
Share on other sites

Firstly hello to all involved in this thread

 

sorry if I missed, but is it possible to install and run one of this images on sd card while libreelec is installed on internal memory , or it must be android ?

 

my box is Beelink Mini MX S905 1GB/8GB ( one without red sign on top )

 

libreelec is last from kszaq - 7.0.3.12c

I am running Armbian_5.24_Amlogic-s905x_Ubuntu_xenial_3.14.29_desktop_20161227.img.xz from SD CARD while libreelec is installed on internal memory. My system is Mini M8S.

Link to comment
Share on other sites

 

in short, if not problem, first I must download image for S905, or is same like for S905X , what is the most safest way to install on sd card and run it ?

If i'm not mistaken, all images are universal, at least for me that was the case.

I only had to put the correct dtb.img for my system in the root of the FAT partition in the SDCARD for my system to boot.

I use rufus in windows, and dd or disks in linux to write the images to SDCARDS.

Link to comment
Share on other sites

 

Here is some more info about the box:

 

lshw

amlogic-s905x

description: AArch64 Processor rev 4 (aarch64)

product: Amlogic

width: 64 bits

*-core

description: Motherboard

physical id: 0

capabilities: amlogic__gxbb

*-cpu:0

description: CPU

product: cpu

physical id: 0

bus info: cpu@0

size: 2016MHz

capacity: 2016MHz

capabilities: fp asimd evtstrm crc32 cpufreq

*-cpu:1

description: CPU

product: cpu

physical id: 1

bus info: cpu@1

size: 2016MHz

capacity: 2016MHz

capabilities: fp asimd evtstrm crc32 cpufreq

*-cpu:2

description: CPU

product: cpu

physical id: 2

bus info: cpu@2

size: 2016MHz

capacity: 2016MHz

capabilities: fp asimd evtstrm crc32 cpufreq

*-cpu:3

description: CPU

product: cpu

physical id: 3

bus info: cpu@3

size: 2016MHz

capacity: 2016MHz

capabilities: fp asimd evtstrm crc32 cpufreq

*-memory

description: System memory

physical id: 4

size: 1815MiB

*-usbhost:0

product: DWC OTG Controller

vendor: Linux 3.14.29 dwc_otg_hcd

physical id: 1

bus info: usb@2

logical name: usb2

version: 3.14

capabilities: usb-2.00

configuration: driver=hub slots=1 speed=480Mbit/s

*-usbhost:1

product: DWC OTG Controller

vendor: Linux 3.14.29 dwc_otg_hcd

physical id: 2

bus info: usb@1

logical name: usb1

version: 3.14

capabilities: usb-2.00

configuration: driver=hub slots=1 speed=480Mbit/s

*-usb

description: Keyboard

product: USB Receiver

vendor: Logitech

physical id: 1

bus info: usb@1:1

version: 29.00

capabilities: usb-2.00

configuration: driver=usbhid maxpower=98mA speed=12Mbit/s

*-network:0

description: Ethernet interface

physical id: 3

logical name: eth0

serial: ee:2e:ca:cb:e6:da

size: 10Mbit/s

capacity: 100Mbit/s

capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd autonegotiation

configuration: autonegotiation=on broadcast=yes driver=st_mac100 driverversion=March_2013 duplex=half link=no multicast=yes port=MII speed=10Mbit/s

*-network:1

description: Wireless interface

physical id: 4

logical name: wlan0

serial: cc:79:cf:49:93:51

capabilities: ethernet physical wireless

configuration: broadcast=yes driver=rtl8723bs driverversion=3.14.29 firmware=N/A ip=192.168.1.7 link=yes multicast=yes wireless=IEEE 802.11bgn

 

 

And the available space on the box looks OK to me:

df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            805M     0  805M   0% /dev
tmpfs           182M  8.0M  174M   5% /run
/dev/mmcblk0p2   30G  4.0G   25G  14% /
tmpfs           908M  112K  908M   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           908M     0  908M   0% /sys/fs/cgroup
tmpfs           908M   72K  908M   1% /tmp
/dev/mmcblk0p1   64M   46M   19M  71% /boot
tmpfs           182M   28K  182M   1% /run/user/1000
tmpfs           182M     0  182M   0% /run/user/0
/dev/data       4.7G  722M  4.0G  16% /media/data

 

Try to install in the eMMC option console image. Judging by the output of "df-h" the data size and the amount of free space close. Formatting creates a service directory "lost+" which can take a lot of space and not enough space for a full backup of the system. Alternatively, you can check install to eMMC, to start the system from external media , mount the partition /dev/data, delete all data, copy manually all the directories and files on /dev/data.

 

 

I've just given the latest Ubuntu image a test drive and I'm delighted to report it's much better compared to the one I've been using so far (20160625):

 

- the temp sensor as well as WiFI works out of the box

- no problem with ZRAM swapping, I was able to go up to 3G without any OOM kills whatsoever (@balbes150, you can safely make ZRAM the default, dispensing with that puny swapfile)

- persistent eth0 MAC address

- the kernel still only supports 1.5GHz max clock (instead of 1.6GHz)

- I was unable to free the reserved memory which used to work with the old kernel

 

For now, I've copied the new kernel to my own image and love the benefits :)

 

@balbes150 Could you suggest a proper way of integrating the fdt commands via the s905x_init.sh script perhaps?

 

 

To add commands to the fdt in the script, you can use only the mistake of a script s905_autoscript. These commands must be executed on the processing stage u-boot.

 

 

NEXBOX A95X running UBUNTU image (not the desktop). The fw_printenv output is the following if that is any help:

 

----------------------------------------------------------------------------------------------------------------------------------------------------------

 

You want to know, is possible to install in internal memory ?

 

 

 

 

Question: perhaps, to properly boot different kernel+modules, I will
need to update to different uInitrd u-boot image in /boot as well? If
so, how would one make such corresponding uInitrd ?

 

 

Generate a new uInitrd needed when changing kernel or changing the composition of the modules required to run the system.

Link to comment
Share on other sites

You want to know, is possible to install in internal memory ?

 

 

 

I 'd like to, but I'm too scared to do so since it is working fine as a server from SD. I wanted to help developers (is it is help, if not just ignore) like you that don't have access to certain hardware (nexbox a95x in my case which i think is pretty popular) to develop more hardware specific images.

I would like to know though if it is possible to mount the internal memory somehow. "mount" command gives wrong fs type error.

Link to comment
Share on other sites

If i'm not mistaken, all images are universal, at least for me that was the case.

I only had to put the correct dtb.img for my system in the root of the FAT partition in the SDCARD for my system to boot.

I use rufus in windows, and dd or disks in linux to write the images to SDCARDS.

 

Ok, after burning with dd I got 2 partition , BOOT and ROOTFS with all subfolders

where exactly did You put dtb.img ?

Link to comment
Share on other sites

I 'd like to, but I'm too scared to do so since it is working fine as a server from SD. I wanted to help developers (is it is help, if not just ignore) like you that don't have access to certain hardware (nexbox a95x in my case which i think is pretty popular) to develop more hardware specific images.

I would like to know though if it is possible to mount the internal memory somehow. "mount" command gives wrong fs type error.

 

According to the information given in Your model there is need to start the system from the internal storage option. You can try installing to the internal memory. But only on the condition that You are prepared for possible problems. If the installation can not complete correctly and you will need to restore the firmware (via USB cable or other means).

 

 

 

Ok, after burning with dd I got 2 partition , BOOT and ROOTFS with all subfolders

where exactly did You put dtb.img ?

 

BOOT (FAT).

Link to comment
Share on other sites

I would like to know though if it is possible to mount the internal memory somehow. "mount" command gives wrong fs type error.

 

I would like to do that while running an image from sd-card. Is that possible?

Command " mount /dev/mmcblk1boot1 /mnt/mmc" gives

 

mount: wrong fs type, bad option, bad superblock on /dev/mmcblk1boot1,

       missing codepage or helper program, or other error

 

       In some cases useful info is found in syslog - try

       dmesg | tail or so.

 

Command "dmesg | tail" gives  "UDF-fs: warning (device mmcblk1boot1): udf_fill_super: No partition found (2)"

 

 

 

 

Link to comment
Share on other sites

ok, after doing this, system is loading then stop in procces

 

on the bottom of screen this is last 2 lines 

 

Ubuntu 16.04.1 LTS amlogic-s905x tty1

 

amlogic-s905x login:

 

what i'm doing wrong and how to fix this problem

 

Login   root

Password  1234

 

To perform the initial configuration.

 

 

 

I would like to do that while running an image from sd-card. Is that possible?

Command " mount /dev/mmcblk1boot1 /mnt/mmc" gives

 

mount: wrong fs type, bad option, bad superblock on /dev/mmcblk1boot1,

       missing codepage or helper program, or other error

 

       In some cases useful info is found in syslog - try

       dmesg | tail or so.

 

Command "dmesg | tail" gives  "UDF-fs: warning (device mmcblk1boot1): udf_fill_super: No partition found (2)"

 

 

 

 

mount /dev/data /mnt/mmc

or

mount /dev/system /mnt/mmc

Link to comment
Share on other sites

My X9 Android TV box (Amlogic S905x) is running great from my 56 gig fast microSD card, but thinking about installing it on the EMMC. 

 

Question, since my box is only 2gig/8gig, does that leave enough space to be functional??  Right now, I am merely using it as an Emby server.  Before I commit, I don't want to find out that it does not have enough storage.  Also, will I be able to use a computer and USB cable to reinstall the orginal firmware, perhaps using the Amlogic flash tool.  I have swapped firmware on this box several times using the Amlogic flash tool for different versions of Android.  This is an exact box as the Mini M8 S2, just branded different.

 

thanks

Link to comment
Share on other sites

Setting the internal memory is possible. Before installing you need to check how much space system on an external drive and compare with what size does the partition /dev/data. Can be uninstalled from the system (on an external drive) part is not used packages and to clean from unnecessary files. This will reduce the required size of the internal memory. You can use the server version of the image, it requires less space to copy the internal memory. There is another extreme option to install to the internal memory. To change the distribution of internal (eMMC) memory in the dtb file. To unite all unused Linux partitions into one and install them Armbian.

Link to comment
Share on other sites

Hi guys,

 

Thanks balbes150 for all this great work.

 

Thanks clarkss12, your video is right on the point : full blown LINUX computer for 40$

 

I am completely new here so the questions I have might already have been answered or the answers might be obvious. So please be kind with me.

 

I have a MIDI software going ( see here for details :http://forum.fractalaudio.com/threads/news-of-the-midyax-project-using-the-bcr2000-to-pilot-the-axe-fx.68598/)

that I would like to run on one of these S905 cheap computers. My current hardware target is the RPi3 and it is running OK (not too fast) on it.

 

I am thinking of buying this MXQ PRO + : http://www.dx.com/p/mxq-pro-4k-s905-wi-fi-bt4-0-android-5-1-smart-tv-player-w-2gb-16gb-434193#.WHxzmLbhCek

since it has :

- 4 USB port that can be connected to 4 MIDI devices (through USB not DIN)

- bluetooth to connect to BT keyboard and mouse

- 16Gb eMMC to install the a LINUX system

 

So I would like to know  :

- once balbes150 Ubuntu image is installed can new packages be installed "as normal" ?

- is ALSA included and does it run OK ?

- can bluetooth be activated quite easily on the S905 boxes that have it ?

- can the system be installed on the eMMC

- is there two ARMBIAN :on UBUNTU and one DEBIAN ( from the Dodc : "What is ARMBIAN?:  Lightweight Debian or Ubuntu based distribution specialized for ARM developing boards")

- in this image what is the windowing system ? XFCE ?

 

I have read quite a few articles (specially in CNX-SOFTWARE) on these kind of box and installing LINUX on it, and it is really hard to get a clear vision of what is going on.

From what I understand I would put it this way :

- there are some ARM boxs (most aim a TV player, media center) that have LINUX build provided for them, but they are in the price range say 80$ to 150$ or more

- for cheap S905 or S912 (or maybe some Rockship chips) there is ARMBIAN and a headless build referred to in : http://www.cnx-software.com/2015/12/06/how-to-run-headless-linux-on-amlogic-s905-devices-such-as-mini-mx-or-k1-plus/

- the cheap ARM box manufacturer don't provide any LINUX images, they just provide ANDROID

- my vision of things might be too narrow to understand it all  :)

 

Thanks in advance for the help.

Link to comment
Share on other sites

 

So I would like to know  :

- once balbes150 Ubuntu image is installed can new packages be installed "as normal" ?

- is ALSA included and does it run OK ?

- can bluetooth be activated quite easily on the S905 boxes that have it ?

- can the system be installed on the eMMC

- is there two ARMBIAN :on UBUNTU and one DEBIAN ( from the Dodc : "What is ARMBIAN?:  Lightweight Debian or Ubuntu based distribution specialized for ARM developing boards")

- in this image what is the windowing system ? XFCE ?

 

I'll try to address general questions since Balbes build is unofficial Armbian port, but we are planning to merge it upstream, that at least some of the most popular TV boxes will be officially supported. That will bring some more choices and an added value.

 

- HDMI sound should work, for spdif don't know.

- Bluetooth could be enabled but it's generally problematic so the answer is: perhaps

- yes, but currently not as simple as on stock Armbian. Our stock installer is not yet ready nor tested on those boards. 

- when official support arrives, you will be able to choose Debian as a base, but only if you built it yourself. We don't plan to provide two different desktop version for download.

- yes, it's an XFCE

 

First officially supported Amlogic box will be Beelink GT1, since it sits on my desk. (thanks to @p-i-u.de for donation one).

Link to comment
Share on other sites

Thanks for all the answers Admin

 

Have you been able to activate Bluetooth on your Beelink GT1 ?

So Beelink GT1 is officially supported on ARMBIAN, and that means ARMBIAN can be installed on the eMMC of the Beelink GT1 ?

 

- when official support arrives, you will be able to choose Debian as a base, but only if you built it yourself. We don't plan to provide two different desktop version for download.

Cool. But is that already the case for Beelink GT1 ? Debian can be installed. 

 

First officially supported Amlogic box will be Beelink GT1, since it sits on my desk. (thanks to @p-i-u.de for donation one).

 

that make sense ;)

 

The HDMI sound is not important for my project (no MIDI file playback) and even if the video playback is not optimal (due to hardware optimization no used) that is not too bad. Actually, do the hardware acceleration ( Mali-T820MP3 ) work on your ARMBIAN Beelink GT1 ?

 

About package installation : ARMBIAN works like Debian/Ubuntu ?

 

Had a look at the Beelink GT1. Sound like a really powerful box. I might drop the  4USB of the MXQ PRO + for the 2 USB in the Beelink GT1 but only if the bluetooth works fine with ARMBIAN.

 

Just for info, there is currently a promotion of Gearbest : http://www.gearbest.com/tv-box-mini-pc/pp_416057.html?wid=21 with code GTFR. Got the info from : https://www.bxnxg.com/beelink-gt1-box-tv-android-amlogic-s912-h265-10bit-4k-2gb-ram-et-16gb-stockage-review-test-prix/.

 

Cheers

Link to comment
Share on other sites

Have you been able to activate Bluetooth on your Beelink GT1 ?

I only boot the board with one of balbes images once, nothing else.

 

So Beelink GT1 is officially supported on ARMBIAN, and that means ARMBIAN can be installed on the eMMC of the Beelink GT1 ?

Unfortunately not. What's officially supported you can find here. I wrote will be. It depend of the troubles, but certanly not in next 30-60 days since we are planning major images update for all boards in between and a one bug-fixing session. We are small team and we support lot's of different designs. Amlogic is currently not very well supported by us and we are planning to improve that.

 

MALI is 3D engine and a marketing tool, useful for (retro) gaming as example. Video playing has nothing to do with this part of the chip.

 

About package installation : ARMBIAN works like Debian/Ubuntu ?

Yes of course. In this sense all are the same.

Link to comment
Share on other sites

Unfortunately not. What's officially supported you can find here. I wrote will be. It depend of the troubles, but certanly not in next 30-60 days since we are planning major update in between and a one bug-fixing session. We are small team and we support lot's of different designs. Amlogic is currently not very well support by us and we are planning to improve that.

Sorry I misunderstood.

 

Great that you're working on Amlogic processors. I understand all the great work that you're doing takes a lot of time. Thanks a lot for doing it.

 

 

MALI is 3D engine and a marketing tool, useful for (retro) gaming as example. Video playing has nothing to do with this part of the chip.

Ok thanks for the info. But isn't there some kind of 2D hardware acceleration in these S905 chips ?

Link to comment
Share on other sites

IMHO TV boxes models MXQ - huge variety. They are very often counterfeited. So it is very easy to purchase a TV box, which looks normal, has excellent performance and low price. But in the end You get headache with high probability - a waste of money. To me many times appealed to different individuals, who have bought similar cheap TV boxes and who or what they are unable to run, and in the course of the trial , get a brick. That's very difficult to recover, because the manufacturer collected the TV box as a hodgepodge (of different components), has not provided any supporting drivers or codes. On these TV boxes can often only work with one exclusive stitching (from the seller). When you try to use others - get part is not working equipment (WiFi or BT or eth network or remote control, etc.). Therefore I can recommend only those models that are already tested in work. List of models You can find in this topic or in topics on freaktab.

 

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

 

http://freaktab.com/forum/tv-player-support/amlogic-based-tv-players/s905x/598320-a95x-s905x-emmc-boot-for-ubuntu

 

http://freaktab.com/forum/tv-player-support/amlogic-based-tv-players

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines