{"id":1431,"date":"2021-03-16T14:31:37","date_gmt":"2021-03-16T14:31:37","guid":{"rendered":"http:\/\/www.dev-metal.ch\/?p=1431"},"modified":"2023-11-19T16:16:36","modified_gmt":"2023-11-19T16:16:36","slug":"hc2-armbian-und-logitech-media-server","status":"publish","type":"post","link":"https:\/\/www.dev-metal.ch\/?p=1431","title":{"rendered":"HC2 Armbian und Logitech Media Server \/ OS auf HD"},"content":{"rendered":"<p>Hier beschreibe ich, wie man eine HC2 mit Armbian installiert und einem Logitech Media Server darauf betreibt.<\/p>\n<h1>HC2 Armbian Image &amp; Installation HD<\/h1>\n<p>Die Installation von Armbian ist eigentlich &#8222;outofthebox&#8220;. Da die HC2 aber \u00fcber eine SD Karte verf\u00fcgt und die Lebensdauer entsprechend beschr\u00e4nkt ist, ist es von Vorteil, die in der HC2 eingebaute Disk als OS-Disk zu verwenden. Man kann leider die HC2 nicht \u00fcber die HD Vollkommen boot-f\u00e4hig machen. Fast nicht. Ich beschreibe hier, wie ich das gel\u00f6st habe:<\/p>\n<h2>Image \/ SD<\/h2>\n<ul>\n<li>Download (Focal-Image) &amp; Installation: <a href=\"https:\/\/www.armbian.com\/odroid-xu4\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.armbian.com\/odroid-xu4\/<\/a><\/li>\n<li>SSH Standard Login: <strong>root<\/strong>\u00a0 Password:\u00a0<strong>1234<\/strong>\n<ul>\n<li>Starte\u00a0 das Dienstprogramm armbian-config und<\/li>\n<li>gehe in den Bereich System -&gt; DTB und<\/li>\n<li>w\u00e4hle die optimierte Kartenkonfiguration f\u00fcr Odroid HC1. Die gleiche Konfiguration gilt auch f\u00fcr HC2 und MC1.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Disc \/ HD<\/h2>\n<ul>\n<li>Erstelle auf der HD zwei Partitionen. Eine f\u00fcr das Betriebssystem (40G) und eine f\u00fcr die Daten (Rest)<\/li>\n<li>HD identifizieren<\/li>\n<\/ul>\n<pre>sudo fdisk -l<\/pre>\n<ul>\n<li>Partitionen erstellen<\/li>\n<\/ul>\n<pre>sudo fdisk \/dev\/sda\nd= delete partition\nn= create partition\nw=write partition<\/pre>\n<ul>\n<li>recheck<\/li>\n<\/ul>\n<pre>sudo fdisk -l<\/pre>\n<ul>\n<li>Erstelle Formatierung<\/li>\n<\/ul>\n<pre>sudo mkfs.ext4 -L os \/dev\/sda1\nsudo mkfs.ext4 -L data \/dev\/sda2<\/pre>\n<ul>\n<li>Erstelle Mount-Verzeichnisse<\/li>\n<\/ul>\n<pre>sudo mkdir \/osFiles\nsudo mkdir \/mnt\/files<\/pre>\n<ul>\n<li>\/etc\/fstab anpassen: Mount Patitionen<\/li>\n<\/ul>\n<pre>#Mounts\n\/dev\/sda1 \/osFiles ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1\n\/dev\/sda2 \/mnt\/files ext4 defaults,noatime,nodiratime,commit=600,errors=remount-ro 0 1<\/pre>\n<ul>\n<li>Reboot<\/li>\n<li>Files auf neue OS-Partition (\/osFiles) kopieren.<br \/>\nAchtung: Alle Services (wie den logitechmediaserver) vorher beenden<\/li>\n<\/ul>\n<pre>sudo rsync -aAXHv --exclude={\"\/dev\/*\",\"\/proc\/*\",\"\/sys\/*\",\"\/tmp\/*\",\"\/run\/*\",\"\/mnt\/*\",\"\/media\/*\",\"\/lost+found\",\"\/osFiles\"} \/ \/osFiles<\/pre>\n<ul>\n<li>SDA uuid (UUID) herausfinden:<\/li>\n<\/ul>\n<pre>sudo blkid\n\n\/dev\/sda1: LABEL=\"os\" UUID=\"975a0396-5016-42b3-a66e-fe5276a36797\" TYPE=\"ext4\" PARTUUID=\"262deb28-e8fe-5d4d-b3a4-808b44571e85\"<\/pre>\n<ul>\n<li class=\"_3gqTEjt4x9UIIpWiro7YXz\">Im boot.ini die neue UUID setzen bzw. ersetzen:<\/li>\n<\/ul>\n<pre>sudo vi \/boot\/boot.ini\n.\nsetenv rootdev \"UUID=975a0396-5016-42b3-a66e-fe5276a36797\"\n.<\/pre>\n<ul>\n<li class=\"_3gqTEjt4x9UIIpWiro7YXz\">reboot.<\/li>\n<li>Wenn alles geklappt hat, sollte neu von sda1 gebootet werden. Check:<\/li>\n<\/ul>\n<pre>mount | grep '\/ '<\/pre>\n<ul>\n<li>sollte folgendes ausgeben<\/li>\n<\/ul>\n<pre>\/dev\/sda1 on \/ type ext4 (rw,noatime,errors=remount-ro,commit=600,data=ordered)<\/pre>\n<ul>\n<li>\u00dcber armbian-config k\u00f6nnen neue U-boot Versionen eingespielt werden. Diese m\u00fcssen weiterhin auf die SD-Karte gespiehlt werden. Deswegen soll das \/boot Verzeichnis weiterhin auf die SD-Karte zeigen:<\/li>\n<li>Microsd karte wieder einbinden.<\/li>\n<li>erstelle\u00a0 \/mnt\/microsd:<\/li>\n<\/ul>\n<pre>sudo mkdir \/mnt\/microsd<\/pre>\n<ul>\n<li>fstab erweitern<\/li>\n<li>\n<p class=\"_1qeIAgB0cPwnLhDF9XSiJM\">Editiere \/etc\/fstab, und f\u00fcge hinzu:<\/p>\n<\/li>\n<\/ul>\n<pre>\/dev\/mmcblk0p1 \/mnt\/microsd auto defaults 0 0 \n\/mnt\/microsd\/boot \/boot none defaults,bind 0 0<\/pre>\n<ul>\n<li>Mount durchf\u00fchren und pr\u00fcfen ob korrekt gemountet wird<\/li>\n<\/ul>\n<pre>sudo mount \/mnt\/microsd &amp;&amp; sudo mount \/boot<\/pre>\n<ul>\n<li>Wenn Check:<\/li>\n<\/ul>\n<pre>mount | grep '\/boot '<\/pre>\n<ul>\n<li>sollte folgendes ausgeben<\/li>\n<\/ul>\n<pre>\/dev\/mmcblk0p1 on \/boot type ext4 (rw,relatime)<\/pre>\n<ul>\n<li>Wenn alles ok ist<\/li>\n<\/ul>\n<pre>sudo reboot<\/pre>\n<p>Damit l\u00e4uft das System nun (gr\u00f6sstenteils \ud83d\ude09 ) auf der HD anstelle der SD. Das entlastet die SD enorm und f\u00fchrt zu einem l\u00e4ngeren Leben der SD Karte.<\/p>\n<p>lame installieren:<\/p>\n<pre>sudo apt-get install lame<\/pre>\n<p>ffmpeg installieren:<\/p>\n<pre>sudo apt-get install ffmpeg<\/pre>\n<h3>RAM-Logging deaktivieren<\/h3>\n<p>Armbian installiert out-of-the-box ein RAM-Logging. Dabei wird 50MB Diskplatz als RAM verwendet und nach \/var\/log gemounted. F\u00fcr kleine Systeme kann das Sinn machen. Ich verwende hier aber eine 2TB SSD und ben\u00f6tige damit keine RAM-Disk. Insbesondere, weil es immer mal wieder zu Problemen kam, welche in einem System-Freeze endeten. Dabei wurde die RAM-Disk bis 100% gef\u00fcllt was dann letzten Endes in einen System-Freeze m\u00fcndete. <a href=\"https:\/\/forum.armbian.com\/topic\/8466-solved-how-to-disable-armbian-ram-logging-correctly\/#comment-64091\" target=\"_blank\" rel=\"noopener\">Hier<\/a> wird beschreiben, wie man diese RAM-Disk deaktiviert.<\/p>\n<h1>LMS Installation<\/h1>\n<p>LMS Download-Link: <a href=\"https:\/\/forums.slimdevices.com\/showthread.php?98711-Logitech-Media-Server-Versions\" target=\"_blank\" rel=\"noopener\">https:\/\/forums.slimdevices.com\/showthread.php?98711-Logitech-Media-Server-Versions<\/a><\/p>\n<p>Damit der LMS auf dem Armbian Focal l\u00e4uft, m\u00fcssen die Perl-Pakete selber kompiliert werden:<\/p>\n<pre>cd ~\nsudo apt install nasm make gcc rsync patch g++ libc-bin zlib1g-dev libgd-dev libmodule-install-perl\ngit clone https:\/\/github.com\/Logitech\/slimserver-vendor.git\ncd slimserver-vendor\/CPAN\/\n.\/buildme.sh<\/pre>\n<p>Jetzt LMS downloaden und installieren<\/p>\n<pre>cd ~\nwget http:\/\/downloads.slimdevices.com\/nightly\/8.1\/lms\/c9adb5f63e54ec0d72e6266e75fb73989f4be345\/logitechmediaserver_8.1.2~1614990085_arm.deb\nsudo apt install .\/logitechmediaserver_8.1.2~1614990085_arm.deb<\/pre>\n<p>Den LMS stoppen, da er noch nicht l\u00e4uft. siehe<\/p>\n<pre>tail -f \/var\/log\/squeezeboxserver\/server.log<\/pre>\n<pre>sudo service logitechmediaserver stop<\/pre>\n<p>Nun die compilierten Perl-Binaries nach LMS kopieren:<\/p>\n<pre class=\"bbcode_code\">sudo cp -r ~\/slimserver-vendor\/CPAN\/build\/arch\/5.30\/arm-linux-gnueabihf-thread-multi-64int \/usr\/share\/squeezeboxserver\/CPAN\/arch\/5.30\/<\/pre>\n<p>Und den Logitech Media Server wieder starten<\/p>\n<pre>sudo service logitechmediaserver start<\/pre>\n<p>Das wars. Damit rennt der LMS auf einer HC2. Brower starten und link aufrufen:<\/p>\n<pre>http:\/\/ip-adresse:9000<\/pre>\n<h1>Deezer-Plugin \/ Titel stoppen rund 50s vor Ende<\/h1>\n<p>Beim Einsatz des Deezer-Plugins ergab sich das Problem, dass die Songs rund 50s vor Ende des Titels stoppten und die Wiedergabe zum n\u00e4chsten Titel spang. Dies kann behoben werden, indem beim LMS die AAC\/AAC Wiedergabe deaktiviert wird:<a href=\"https:\/\/www.dev-metal.ch\/wp-content\/uploads\/2021\/03\/Unbenannt.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1841\" src=\"https:\/\/www.dev-metal.ch\/wp-content\/uploads\/2021\/03\/Unbenannt.jpg\" alt=\"\" width=\"1047\" height=\"430\" srcset=\"https:\/\/www.dev-metal.ch\/wp-content\/uploads\/2021\/03\/Unbenannt.jpg 1047w, https:\/\/www.dev-metal.ch\/wp-content\/uploads\/2021\/03\/Unbenannt-300x123.jpg 300w, https:\/\/www.dev-metal.ch\/wp-content\/uploads\/2021\/03\/Unbenannt-1024x421.jpg 1024w, https:\/\/www.dev-metal.ch\/wp-content\/uploads\/2021\/03\/Unbenannt-768x315.jpg 768w, https:\/\/www.dev-metal.ch\/wp-content\/uploads\/2021\/03\/Unbenannt-2x1.jpg 2w\" sizes=\"auto, (max-width: 1047px) 100vw, 1047px\" \/><\/a>Siehe auch: <a href=\"https:\/\/github.com\/Logitech\/slimserver\/issues\/130#issuecomment-1212912369\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/Logitech\/slimserver\/issues\/130#issuecomment-1212912369<\/a><\/p>\n<h1>ZRAM &#8211; Speicher erh\u00f6hen<\/h1>\n<p>Bei einem System mit wenig RAM-Speicher kann es Sinn machen, den zram Speicher zu erh\u00f6hen (siehe <a href=\"https:\/\/forum.armbian.com\/topic\/5565-zram-vs-swap\/page\/2\/#comment-61082\">https:\/\/forum.armbian.com\/topic\/5565-zram-vs-swap\/page\/2\/#comment-61082<\/a>)<\/p>\n<pre>sudo vi \/etc\/default\/armbian-zram-confi<\/pre>\n<pre># configuration values for the armbian-zram-config service\n#\n# enable the armbian-zram-config service?\nENABLED=true\n\n# Zram swap enabled by default, unless set to disabled\n# SWAP=false\n\n# percentage of zram used as swap compared to physically available DRAM.\n# Huge overcommitment (300) is possible and sometimes desirable. See\n# https:\/\/forum.armbian.com\/topic\/5565-zram-vs-swap\/?do=findComment&amp;comment=61082\n# and don't forget to adjust $MEM_LIMIT_PERCENTAGE below too.\n# ZRAM_PERCENTAGE=50\n<span style=\"color: #ff0000;\">ZRAM_PERCENTAGE=300<\/span>\n\n# percentage of DRAM available to zram. If this amount is exceeded the zram\n# devices used for swap simply behave as if the device is full. You need to\n# adjust\/increase this value only if you want to work with massive memory\n# overcommitment (ZRAM_PERCENTAGE exceeding 150 for example)\n# MEM_LIMIT_PERCENTAGE=50\n<span style=\"color: #ff0000;\">MEM_LIMIT_PERCENTAGE=300<\/span>\n\n# create how many zram devices max for swap\n# ZRAM_MAX_DEVICES=4\n\n# Which algorithm for zram based swapping. Seems lzo is best choice on ARM:\n# https:\/\/forum.armbian.com\/topic\/8161-swap-on-sbc\/?do=findComment&amp;comment=61668\n# SWAP_ALGORITHM=lzo\n\n# Which algorithm to choose for zram based ramlog partition\n# RAMLOG_ALGORITHM=zstd\n\n# Which algorithm to choose for zram based \/tmp\n# TMP_ALGORITHM=zstd\n\n# Size for zram based \/tmp, total memory \/ 2 by default\n# TMP_SIZE=500M\n\n# If defined a separate partition will be used as zram backing device. Be CAREFUL\n# which partition you assign and read starting from CONFIG_ZRAM_WRITEBACK in\n# https:\/\/www.kernel.org\/doc\/Documentation\/blockdev\/zram.txt\n# ZRAM_BACKING_DEV=\/dev\/nvme0n2<\/pre>\n<h1>Links<\/h1>\n<ul>\n<li><a href=\"https:\/\/www.nexus0.net\/pub\/documents\/LMS\/lms-build\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.nexus0.net\/pub\/documents\/LMS\/lms-build\/<\/a><\/li>\n<li><a href=\"https:\/\/www.hardkernel.com\/shop\/odroid-hc2-home-cloud-two\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.hardkernel.com\/shop\/odroid-hc2-home-cloud-two\/<\/a><\/li>\n<li>Tutorial: <a href=\"https:\/\/www.reddit.com\/r\/ODroid\/comments\/7zwkrt\/tutorial_how_to_boot_linux_from_an_ssdhdd_on_the\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.reddit.com\/r\/ODroid\/comments\/7zwkrt\/tutorial_how_to_boot_linux_from_an_ssdhdd_on_the\/<\/a><\/li>\n<li><a href=\"https:\/\/forum.odroid.com\/viewtopic.php?t=23925\" target=\"_blank\" rel=\"noopener\"><span class=\"autolink\">https:\/\/forum.odroid.com\/viewtopic.php?t=23925<\/span><\/a><\/li>\n<li>Installation aus den Sourcen (Perl und LMS): <a href=\"https:\/\/www.nexus0.net\/pub\/documents\/LMS\/lms-build\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.nexus0.net\/pub\/documents\/LMS\/lms-build\/<\/a><\/li>\n<li><a href=\"https:\/\/forums.slimdevices.com\/showthread.php?114165-Installation-LMS-8-1-2-auf-einem-HC2-mit-armbian\" target=\"_blank\" rel=\"noopener\">https:\/\/forums.slimdevices.com\/showthread.php?114165-Installation-LMS-8-1-2-auf-einem-HC2-mit-armbian<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Hier beschreibe ich, wie man eine HC2 mit Armbian installiert und einem Logitech Media Server darauf betreibt. HC2 Armbian Image &amp; Installation HD Die Installation von Armbian ist eigentlich &#8222;outofthebox&#8220;. Da die HC2 aber \u00fcber eine SD Karte verf\u00fcgt und die Lebensdauer entsprechend beschr\u00e4nkt ist, ist es von Vorteil, die in der HC2 eingebaute Disk [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"no","_lmt_disable":"","footnotes":""},"categories":[10],"tags":[],"class_list":["post-1431","post","type-post","status-publish","format-standard","hentry","category-techdocs"],"modified_by":"ralph","_links":{"self":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/1431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1431"}],"version-history":[{"count":44,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/1431\/revisions"}],"predecessor-version":[{"id":2011,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=\/wp\/v2\/posts\/1431\/revisions\/2011"}],"wp:attachment":[{"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dev-metal.ch\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}