Humingboard i2eX

Hummingboard i2eX

  • CPU: i.MX6 Dual 1GHz
  • GPU: GC2000 OpenGL ES1.1,2.0
  • RAM: 64bit 1Gb
  • NIC: 10/100/1000Mbps
  • 1x HDMI 1080p mit CEC
  • 1x Coax SPDIF
  • 2x USB2.0
  • 1x microSD
  • 1x mini PCI-E
  • 1x mSata
  • 1x Standard micro USB 5V DC
  • + sonstige Schnittstellen (SPI, … )

LibreELEC



Einrichtung der mSATA


parted /dev/sda

parted /dev/sda

GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.


print

(parted) print

Error: /dev/sda: unrecognised disk label
Model: ATA Crucial_CT512M55 (scsi)
Disk /dev/sda: 512GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags:


mklabel msdos
mkpart primary ext4 1049kB 100%
print

(parted) print

Model: ATA Crucial_CT512M55 (scsi)
Disk /dev/sda: 512GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  512GB  512GB  primary  ext4         lba

das Programm parted beenden
quit

das Dateisystem erstellen, in meinem Fall nutze ich ext4 und die Partition bekommt das Label msata
mkfs.ext4 -L msata /dev/sda1

mkfs.ext4 -L msata /dev/sda1

mke2fs 1.42.12 (29-Aug-2014)
Discarding device blocks: done                            
Creating filesystem with 125026560 4k blocks and 31260672 inodes
Filesystem UUID: 74c46c6d-dd69-471e-93fe-30f3d6d5eccb
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

das System neustarten
reboot

die mSATA wird automatisch eingehangen (letzte Zeile)
mount

mount

rootfs on / type rootfs (rw)
devtmpfs on /dev type devtmpfs (rw,relatime,size=382240k,nr_inodes=95560,mode=755)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
/dev/mmcblk0p1 on /flash type vfat (ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=as...
/dev/mmcblk0p2 on /storage type ext4 (rw,noatime,stripe=1024)
/dev/loop0 on / type squashfs (ro,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_ag...
cgroup on /sys/fs/cgroup/bfqio type cgroup (rw,nosuid,nodev,noexec,relatime,bfqio)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw)
tmpfs on /var type tmpfs (rw,relatime)
/dev/sda1 on /var/media/msata type ext4 (rw,nosuid,nodev,noexec,noatime,data=ordered)

anzeigen des benutzten/freien Speicherplatzes
df -h

df -h

Filesystem                Size      Used Available Use% Mounted on
devtmpfs                373.3M         0    373.3M   0% /dev
/dev/mmcblk0p1          124.7M    101.9M     22.8M  82% /flash
/dev/mmcblk0p2           58.4G    129.1M     55.3G   0% /storage
/dev/loop0               94.8M     94.8M         0 100% /
tmpfs                   502.4M         0    502.4M   0% /dev/shm
tmpfs                   502.4M      5.0M    497.4M   1% /run
tmpfs                   502.4M         0    502.4M   0% /sys/fs/cgroup
tmpfs                   502.4M      4.0K    502.4M   0% /tmp
tmpfs                   502.4M     24.0K    502.4M   0% /var
/dev/sda1               469.3G      6.8G    438.6G   2% /var/media/msata



LCD (serdisplib)


  • um LibreELEC mit Unterstützung für Displays mittels serdisplib zu bauen genügt folgendes

cd ~

git clone https://github.com/LibreELEC/LibreELEC.tv.git

cd ~/LibreELEC.tv

nano distributions/LibreELEC/options

distributions/LibreELEC/options

LCD_DRIVER="...,glcd,..."

PROJECT=imx6 ARCH=arm make image

… warten, das dauert

  • hier gibt es ein fertiges LibreELEC-Image ⇒ TODO
  • einfach auf eine SD-Karte überspielen und booten




Einstellungen in LibreELEC



einloggen
ssh root@libreelec


nano /storage/.cache/services/lcdd.conf

/storage/.cache/services/lcdd.conf

LCD_DRIVER="glcd"


nano /storage/.config/LCDd.conf

/storage/.config/LCDd.conf

[server]
DriverPath=/usr/lib/lcdproc/
Driver=glcd
Bind=127.0.0.1
Port=13666
User=nobody
WaitTime=2
ServerScreen=no
Foreground=no
Backlight=open
Heartbeat=off
Hello=""
Hello=""
Hello="       LibreELEC"

[glcd]
ConnectionType=serdisplib
Size=240x128
CellSize=10x16
useFT2=yes
normal_font=/usr/share/fonts/liberation/LiberationMono-Bold.ttf
#normal_font=/usr/share/fonts/TTF/DejaVuSansMono-Bold.ttf
#normal_font=/usr/share/fonts/TTF/courbd.ttf

# Some fonts miss the Unicode characters used to represent icons. In this case
# the built-in 5x8 font can used if this option is turned off. [default: yes;
# legal: yes, no]
fontHasIcons=yes

# Set the initial contrast if supported by connection type.
# [default: 600; legal: 0 - 1000]
#Contrast=600

# Set brightness of the backlight if the backlight is switched 'on'.
# [default: 800; legal: 0 - 1000]
#Brightness=1000

# Set brightness of the backlight if the backlight is switched 'off'. Set this
# to zero to completely turn off the backlight. [default: 100; legal: 0 - 1000]
#OffBrightness=0

# Time (ms) from first key report to first repeat. Set to 0 to disable repeated
# key reports. [default: 500; legal: 0 - 3000]
#KeyRepeatDelay=500

# Time (ms) between repeated key reports. Ignored if KeyRepeatDelay is disabled
# (set to zero). [default: 300; legal: 0 - 3000]
#KeyRepeatInterval=300

serdisp_name=alphacool
serdisp_device=USB:060C/04EB

# serdisplib: Options string to pass to serdisplib during initialization. Use
# this to set any display related options (e.g. wiring). The display size is
# always set based on the Size configured above! By default, no options are
# set.
# Important: The value must be quoted as it contains equal signs!
#serdisp_options="INVERT=1"

  • für ein Alphacool LCD 240×128


nano /storage/.kodi/userdata/LCD.xml

/storage/.kodi/userdata/LCD.xml

<lcd>
   <disableonplay></disableonplay>
   <scrollseparator>  ##  </scrollseparator>
   <progressbarsurroundings>on</progressbarsurroundings>
   <allowemptylines>on</allowemptylines>
   <icontextoffset>2</icontextoffset>
   <centerbigdigits>on</centerbigdigits>
   <disableplayindicatoronpause>off</disableplayindicatoronpause>
   <screensaver>
      <line>$INFO[LCD.TimeWide22]</line>
      <line>$INFO[LCD.TimeWide21]</line>
   </screensaver>
   <general>
      <line>$INFO[System.Date(dd mmm yyyy)]   $INFO[System.Date(ddd)]   $INFO[System.Time]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[System.CurrentWindow]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[System.CurrentControl]</line>
      <line></line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[Weather.Conditions] $INFO[Weather.Temperature]</line>
   </general>
   <navigation>
      <line>$INFO[System.Date(dd mmm yyyy)]   $INFO[System.Date(ddd)]   $INFO[System.Time]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[System.CurrentWindow]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[System.CurrentControl]</line>
      <line></line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[Weather.Conditions] $INFO[Weather.Temperature]</line>
   </navigation>
   <music>
      <line>$INFO[LCD.AlignRight]$INFO[System.Time]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[MusicPlayer.Artist]</line>
      <line>$INFO[LCD.AlignCenter]$INFO[MusicPlayer.Album]</line>
      <line>$INFO[LCD.AlignCenter]$INFO[MusicPlayer.Title]</line>
      <line></line>
      <line>$INFO[LCD.PlayIcon]$INFO[LCD.AlignRight]$INFO[Player.Time] / $INFO[Player.Duration]</line>
      <line>$INFO[LCD.ProgressBar]</line>
   </music>
   <video>
      <line>$INFO[LCD.AlignRight]$INFO[System.Time]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[VideoPlayer.Title]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[VideoPlayer.Year]</line>
      <line></line>
      <line>$INFO[LCD.PlayIcon]$INFO[LCD.AlignRight]$INFO[Player.Time] / $INFO[Player.Duration]</line>
      <line>$INFO[LCD.ProgressBar]</line>
   </video>
   <tvshow>
      <line>$INFO[LCD.AlignRight]$INFO[System.Time]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[VideoPlayer.TVShowTitle]</line>
      <line>$INFO[LCD.AlignCenter]$INFO[VideoPlayer.Title]</line>
      <line>$INFO[LCD.AlignCenter]Folge $INFO[VideoPlayer.Episode]</line>
      <line></line>
      <line>$INFO[LCD.PlayIcon]$INFO[LCD.AlignRight]$INFO[Player.Time] / $INFO[Player.Duration]</line>
      <line>$INFO[LCD.ProgressBar]</line>
   </tvshow>
   <pvrtv>
      <line>$INFO[LCD.AlignRight]$INFO[System.Time]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[VideoPlayer.ChannelName]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[VideoPlayer.Title]</line>
      <line></line>
      <line>$INFO[LCD.PlayIcon]$INFO[LCD.AlignRight]$INFO[Player.Time] / $INFO[Player.Duration]</line>
      <line>$INFO[LCD.ProgressBar]</line>
   </pvrtv>
   <pvrradio>
      <line>$INFO[LCD.AlignRight]$INFO[System.Time]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[MusicPlayer.ChannelName]</line>
      <line></line>
      <line>$INFO[LCD.AlignCenter]$INFO[MusicPlayer.Title]</line>
      <line></line>
      <line>$INFO[LCD.PlayIcon]$INFO[LCD.AlignRight]$INFO[Player.Time] / $INFO[Player.Duration]</line>
      <line>$INFO[LCD.ProgressBar]</line>
   </pvrradio>
   <xbelaunch>
      <line></line>
   </xbelaunch>
</lcd>

Bilder
im Kodi Hauptmenü Kodi spielt ein Video