{"id":933,"date":"2025-06-10T17:20:00","date_gmt":"2025-06-10T15:20:00","guid":{"rendered":"https:\/\/gentz.cloud\/?p=933"},"modified":"2025-09-10T23:37:04","modified_gmt":"2025-09-10T21:37:04","slug":"running-gira-homeserver-4-11-on-a-dell-optiplex-fx160","status":"publish","type":"post","link":"https:\/\/gentz.cloud\/?p=933","title":{"rendered":"Running Gira Homeserver 4.11 on a Dell Optiplex FX160"},"content":{"rendered":"\n<p>This guide walks you through installing the Gira Homeserver 4.11 firmware on a Dell Optiplex FX160, based on a forum thread (original in German) at [<a href=\"https:\/\/www.roelbroersma.nl\/forums\/topic\/4-11-auf-einem-standard-debian-linux\/\">RoelBroersma.nl<\/a> Forums]. It reflects my personal experience and modifications\u2014use it at your own risk.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Install Debian (Base System)<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Use <strong>Debian 13 AMD64<\/strong>.<\/li>\n\n\n\n<li>Download the <strong>netinstall ISO<\/strong> and boot from it.<\/li>\n\n\n\n<li>Create a <strong>single primary partition<\/strong> (<code>sda1<\/code>), formatted as <strong>ext4<\/strong>, mounted as <code>\/<\/code>, marked bootable, with <strong>GRUB<\/strong> installed in the same partition.<\/li>\n\n\n\n<li>Create a user named <code>hs<\/code>.<\/li>\n\n\n\n<li>During setup, minimal software is fine\u2014just install <strong>SSH<\/strong> if you want remote access.<\/li>\n<\/ol>\n\n\n\n<p>At this point, you should be able to boot into Debian, log in as root or <code>hs<\/code>, and get a console.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Rename Network Interface (to <code>eth0<\/code>)<\/h3>\n\n\n\n<p>Modern Debian gives NICs names like <code>ens33<\/code> or <code>enp0s3<\/code>, but the Homeserver firmware expects <code>eth0<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo nano \/etc\/default\/grub\n\n<\/pre><\/div>\n\n\n<p>Find:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nGRUB_CMDLINE_LINUX=&quot;&quot;\n\n<\/pre><\/div>\n\n\n<p>Change to:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nGRUB_CMDLINE_LINUX=&quot;net.ifnames=0 biosdevname=0&quot;\n\n<\/pre><\/div>\n\n\n<p>Then:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo update-grub\n\n<\/pre><\/div>\n\n\n<p>Next, edit <code>\/etc\/network\/interfaces<\/code> and replace the old interface name (e.g., <code>ens33<\/code>) with <code>eth0<\/code>. You can also set a static IP if needed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. (Optional) Allow Root Login via SSH<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo nano \/etc\/ssh\/sshd_config\n# Under &quot;Authentication&quot;:\nPermitRootLogin yes\n\n<\/pre><\/div>\n\n\n<p>Restart SSH service:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo systemctl restart ssh\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">4. Install Prerequisite Packages<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsudo apt update\nsudo apt install -y \\\n  python-is-python3 \\\n  python3-pil \\\n  python3-numpy \\\n  python3-serial \\\n  openssl \\\n  mc \\\n  setserial \\\n  joe \\\n  net-tools \\\n  cpio \\\n  psmisc \\\n  haproxy \\\n  zip \\\n  chrony\n<\/pre><\/div>\n\n\n<p><em>(On Debian 9, use the original package names: <code>python<\/code>, <code>python-pil<\/code>, etc.)<\/em><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5. Extract the HS Firmware from VMware Image<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download an <strong>original Gira Homeserver 4.11 VMware image<\/strong> as described in the forum.<\/li>\n\n\n\n<li>Boot that VM and package the required directories into a TAR:<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ntar -cvf hs411_fw.tar \\\n  \/flash\/* \\\n  \/ofs\/share\/* \\\n  \/etc\/init.d\/hs_starter \\\n  \/etc\/init.d\/hs_main \\\n  \/etc\/init.d\/hs_admin \\\n  \/etc\/init.d\/ctradel\n\n<\/pre><\/div>\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Copy <code>hs411_fw.tar<\/code> to your Debian machine:<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo tar -xvf hs411_fw.tar -C \/\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">6. Fix Startup Script (<code>hs_starter<\/code>)<\/h3>\n\n\n\n<p>Edit <code>\/etc\/init.d\/hs_starter<\/code> and insert a short delay to avoid a race condition:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\/etc\/init.d\/hs_main &amp;amp;\npid1=$!\nsleep 3\n\/etc\/init.d\/hs_admin\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">7. Enable Autostart with <code>systemd<\/code><\/h3>\n\n\n\n<p>Create a service unit:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo tee \/etc\/systemd\/system\/hs_starter.service &gt;\/dev\/null &amp;lt;&amp;lt;&#039;EOF&#039;\n&#x5B;Unit]\nDescription=Homeserver Starter\nAfter=network-online.target\nWants=network-online.target\n\n&#x5B;Service]\nType=oneshot\nExecStart=\/etc\/init.d\/hs_starter\nRemainAfterExit=yes\n\n&#x5B;Install]\nWantedBy=multi-user.target\nEOF\n\n<\/pre><\/div>\n\n\n<p>Enable and start it:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo systemctl daemon-reload\nsudo systemctl enable hs_starter\nsudo systemctl start hs_starter\nsystemctl status hs_starter\n\n<\/pre><\/div>\n\n\n<h3 class=\"wp-block-heading\">8. Test<\/h3>\n\n\n\n<p>Start it manually:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nsudo \/etc\/init.d\/hs_starter\nps aux | grep hs_main\n\n<\/pre><\/div>\n\n\n<p>If HS starts, reboot and let <code>systemd<\/code> handle it automatically.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Notes &amp; Observations<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>I originally followed this process based on the <strong>&#8220;4.11 auf einem Standard Debian Linux&#8221;<\/strong> forum post (in German)<a href=\"https:\/\/www.roelbroersma.nl\/forums\/topic\/4-11-auf-einem-standard-debian-linux\/?utm_source=chatgpt.com\" target=\"_blank\" rel=\"noreferrer noopener\">RoelBroersma.nl<\/a> and tailored it to my hardware.<\/li>\n\n\n\n<li>On Debian 9, the network interface was <code>ens33<\/code>; on Debian 13 it differed (I didn\u2019t note the name).<\/li>\n\n\n\n<li>If <code>\/etc\/init.d\/ctradel<\/code> doesn\u2019t exist, create a stub to avoid script errors: <code>echo -e '#!\/bin\/sh\\nexit 0' | sudo tee \/etc\/init.d\/ctradel sudo chmod +x \/etc\/init.d\/ctradel<\/code><\/li>\n\n\n\n<li>The Optiplex FX160 is a bit dated, but with an SSD it runs the Homeserver surprisingly well.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Disclaimer<\/h2>\n\n\n\n<p>This guide is published <strong>for educational and training purposes only<\/strong>.<br>It is not affiliated with or endorsed by <strong>Gira Giersiepen GmbH &amp; Co. KG<\/strong>.<br>All product names, trademarks, and registered trademarks are property of their respective owners.<\/p>\n\n\n\n<p>The intention of this post is to <strong>document a technical experiment<\/strong> on legacy hardware (Dell Optiplex FX160) for learning purposes.<br>If you plan to run a Gira Homeserver in production, please obtain the official hardware and licenses directly from Gira.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This guide walks you through installing the Gira Homeserver 4.11 firmware on a Dell Optiplex FX160, based on a forum thread (original in German) at [RoelBroersma.nl Forums]. It reflects my personal experience and modifications\u2014use it at your own risk. 1. Install Debian (Base System) At this point, you should be able to boot into Debian,<\/p><\/div>\n<div class=\"blog-btn\"><a href=\"https:\/\/gentz.cloud\/?p=933\" class=\"home-blog-btn\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-933","post","type-post","status-publish","format-standard","hentry","category-tips-ricks"],"_links":{"self":[{"href":"https:\/\/gentz.cloud\/index.php?rest_route=\/wp\/v2\/posts\/933","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gentz.cloud\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gentz.cloud\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gentz.cloud\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gentz.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=933"}],"version-history":[{"count":3,"href":"https:\/\/gentz.cloud\/index.php?rest_route=\/wp\/v2\/posts\/933\/revisions"}],"predecessor-version":[{"id":936,"href":"https:\/\/gentz.cloud\/index.php?rest_route=\/wp\/v2\/posts\/933\/revisions\/936"}],"wp:attachment":[{"href":"https:\/\/gentz.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gentz.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gentz.cloud\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}