Gentoo 3.15.5

From Soekris Info Wiki

Jump to: navigation, search

Contents

TODO: THIS ARTICLE IS NOT FINISHED YET!

  • Feel free to add things!

Summary

  • This document describes how Gentoo was configured on a Soekris NET6501-70.
  • As the whole system is installed with testing (~amd64 Arch), you should know, what you are doing!
  • In my opinion, its pretty stable and I haven't encountered any special problems.
  • I've chosen Gentoo, because it doesn't have any fixed releases but rolling releases.
  • As Gentoo means compiling the whole system, you can very specific adjust every package for your needs.

Usage

  • My usage with Gentoo is primary for home routing:
 eth0: LAN (connected to a gigabit switch)
 eth1: VOIP (connected directly to a voip phone)
 eth2: IPTV (connected directly to a iptv reciever) 
 eth3: WAN (connected directly to a vdsl modem)
  • I am also running some small services for my LAN: ddclient, dnsmasq, hostapd, miniupnpd, nfs, samba, vnstatd

Installation

  • I don't want to show you here a detailed installation procedure, as you can do it, as described in the official Gentoo docs.
  • You can find this documentation here: Gentoo Installation Handbook
  • As you can't directly boot an ISO with the Soekris, I would recommend to use SystemRescueCd.
  • SystemRescueCd is a Gentoo-based LiveCD, which can be used, to chroot into your new system.
  • SystemRescueCd includes a PXE boot server. Just launch it from another PC, so you Soekris can directly PXE boot from this one.
  • Proceed, as the Gentoo Installation Handbook describes.

Gentoo Configuration

  • This is my /etc/portage/make.conf:
 # === Apps ===
 CURL_SSL="openssl"
 GRUB_PLATFORMS="pc"
 PYTHON_TARGETS="python2_7 python3_2"
 # === CCACHE ===
 CCACHE_DIR="/var/tmp/ccache"
 CCACHE_SIZE="2G"
 # === Compile ===
 CFLAGS="-march=atom -O3 -mmmx -msse -msse2 -msse3 -mssse3 -mcx16 -mmovbe -msahf -pipe -fomit-frame-pointer -mfpmath=sse"
 CHOST="x86_64-pc-linux-gnu"
 CXXFLAGS="${CFLAGS}"
 MAKEOPTS="-j3"
 LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now"
 # === Portage ===
 ACCEPT_LICENSE="Oracle-BCLA-JavaSE"
 ACCEPT_KEYWORDS="~amd64"
 EMERGE_DEFAULT_OPTS="--autounmask=n --quiet-build=n"
 GENTOO_MIRRORS="ftp://ftp.halifax.rwth-aachen.de/gentoo/"
 FEATURES="ccache parallel-fetch"
 I_KNOW_WHAT_I_AM_DOING="yes"
 PORTAGE_COMPRESS="gzip"
 PORTAGE_COMPRESS_FLAGS="-f9"
 # PORTAGE_RSYNC_EXTRA_OPTS="--delete-before --delete-excluded --exclude-from=/etc/portage/rsync_excludes --stats"
 PORTDIR_OVERLAY="/usr/local/portage"
 SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
 USE="-* bzip2 cracklib crypt curl cxx fontconfig ftp gd gmp gnutls iconv idn ipv6 javascript jpeg lm_sensors lzma mmx mysql mysqli ncurses nls nntp nptl offensive pam png readline samba slang spell sse2 ssl svg symlink tcpd threads truetype unicode usb vim-syntax xml zlib"
 # === Language ===
 ENABLE_UNICODE="utf-8"
 LINGUAS="de"

Kernel

  • My curent kernel config can be found here: Gentoo Sources 3.15.5
  • It's stripped down to a minimal version, so its only supports that, what a soekris really has. Additionally, ath9k for Atheros is enabled. You can of course modify the options.
  • Main purpose is home routing and small lan services.

GRUB2

  • My GRUB2 won't boot, if ConMute = Enabled is NOT set in comBIOS!
  • Change --speed to your specified speed in comBIOS!
  • /etc/default/grub2:
 GRUB_CMDLINE_LINUX="console=ttyS0,115200n8 nf_conntrack.nf_conntrack_helper=0 rootfstype=ext4"
 GRUB_DISABLE_LINUX_UUID=true
 GRUB_DISABLE_OS_PROBER=true
 GRUB_DISABLE_RECOVERY=true
 GRUB_DISTRIBUTOR=Gentoo
 GRUB_HIDDEN_TIMEOUT=5
 GRUB_HIDDEN_TIMEOUT_QUIET=false
 GRUB_SERIAL_COMMAND="serial --parity=no --port=0 --speed=115200 --stop=1 --unit=0 --word=8"
 GRUB_TERMINAL=console
 GRUB_HIDDEN_TIMEOUT=0
 GRUB_HIDDEN_TIMEOUT_QUIET=true
 GRUB_TIMEOUT=10

Networking

  • This configuration shows my setup from eth0 to eth3.
  • Additionally I've enabled IPv6, which is brought by [Hurricane Electric Internet Services]
  • It's an IPv6 tunnel broker. You can get a free account with your own subnet. You just have to [register]
  • MTU > 1500 seems to make problems with serving PXE booting. Because of that, it's commented out.
  • This is my /etc/conf.d/net
 # Modules
 modules="iproute2"
 modules_wlan0="!iwconfig !wpa_supplicant"
 # Intel 82574L Gigabit Ethernet Controller #1 (LAN)
 config_eth0="192.168.ZZ.1/24
              2001:XXX:YYYY:ZZ::1/64"
 # mtu_eth0="9200"
 # Intel 82574L Gigabit Ethernet Controller #2 (VOIP, C610A-IP)
 config_eth1="192.168.ZZ.1/24
            2001:XXX:YYYY:ZZ::1/64"
 # mtu_eth1="9200"
 # Intel 82574L Gigabit Ethernet Controller #3 (IPTV, MR303)
 config_eth2="192.168.ZZZ.1/24
            2001:XXX:YYYY:ZZZ::1/64"
 # mtu_eth2="9200"
 # Intel 82574L Gigabit Ethernet Controller #4 (WAN)
 config_eth3="192.168.ZZZ.1/24
              2001:XXX:YYYY:ZZZ::1/64"
 # mtu_eth3="9200"
 config_eth3_7="null"
 vlans_eth3="7"
 # T-Com Speedport 221 (VDSL50)
 config_ppp0="ppp"
 link_ppp0="eth3.7"
 plugins_ppp0="pppoe"
 username_ppp0="XXXXXXXXXXXXYYYYYYYYYYYY#ZZZZ@t-online.de"
 # Hurricane Electric IPv6 Tunnel Broker
 config_tun0="2001:XXX:YYYY:ZZZZ::2/64"
 iptunnel_tun0="mode sit remote 216.XX.YY.ZZ local 127.0.0.1 ttl 255"
 routes_tun0="default via 2001:XXX:YYYY:ZZZ::1"
 # JJPLUS ExpressRange 9 Mini PCI Express Module (WLAN)
 carrier_timeout_wlan0="0"
 config_wlan0="192.168.ZZ.1/24
               2001:XXX:YYYY:ZZ::1/64"
 # mtu_wlan0="2270"
 # Deps
 depend_ppp0() {
     need net.eth3
 }
Personal tools