Gentoo Installation auf dem Raspberry Pi ohne Monitor

Aus 4-it
Zur Navigation springen Zur Suche springen


Dieses HowTo ist als Gedankenstütze geschrieben worden und ist aus diesem Grund nicht unbedingt für Einsteiger gedacht.

Laden aller benötigten Dateien

mkdir /tmp/RasPi
cd /tmp/RasPi

Stage 3 Image

wget ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo/releases/arm/autobuilds/current-stage3-armv6j_hardfp/stage3-armv6j_hardfp-*.tar.bz2 -Ostage3-armv6j_hardfp.tar.bz2 

Portage

wget http://distfiles.gentoo.org/snapshots/portage-latest.tar.bz2 -Oportage-latest.tar.bz2 

Kernel

git clone --depth 1 git://github.com/raspberrypi/firmware/

Vorbereiten der SD-Karte

Beispielpartitionierung

Disk /dev/sdb: 31.9 GB, 31914983424 bytes
64 Köpfe, 32 Sektoren/Spur, 30436 Zylinder, zusammen 62333952 Sektoren
Einheiten = Sektoren von 1 × 512 = 512 Bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xae2700f6

    Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sdb1   *        2048      411647      204800    c  W95 FAT32 (LBA)
/dev/sdb2          411648      673791      131072   82  Linux Swap / Solaris
/dev/sdb3          673792    62333951    30830080   83  Linux

Formatieren der Partitionen

mkfs.vfat -F 16 -n RasPiBot /dev/sdb1
mkswap /dev/sdb2
mkfs.ext4 -L RasPiRoot /dev/sdb3
tune2fs -i6M -c 200 /dev/sdb3


Installation

Mounten

mkdir /mnt/gentoo
mount /dev/sdb3 /mnt/gentoo
mkdir /mnt/gentoo/boot/
mount /dev/sdb1 /mnt/gentoo/boot

System kopieren

cd /tmp/RasPi
tar xvfpj stage3-armv6j_hardfp.tar.bz2 -C /mnt/gentoo/
tar xvjf portage-latest.tar.bz2 -C /mnt/gentoo/usr
cd firmware/boot
cp * /mnt/gentoo/boot/ -v
cp ../modules /mnt/gentoo/lib/ -vr

System vorbereiten

cd /mnt/gentoo/
vim etc/fstab
/dev/mmcblk0p1          /boot           auto            noauto,noatime  1 2
/dev/mmcblk0p3          /               ext4            noatime         0 1
/dev/mmcblk0p2          none            swap            sw              0 0
vim boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p3 rootfstype=ext4 elevator=deadline rootwait
vim etc/portage/make.conf
CFLAGS="-O2 -pipe -march=armv6j -mfpu=vfp -mfloat-abi=hard"
CXXFLAGS="${CFLAGS}"
CHOST="armv6j-hardfloat-linux-gnueabi"
MAKEOPTS="-j2"
INPUT_DEVICES="keyboard mouse evdev"
LINGUAS="de"
ACCEPT_LICENSE="*"
GENTOO_MIRRORS="http://ftp.uni-erlangen.de/pub/mirrors/gentoo "
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="bindist v4l v4l2 pam ssl alsa matroska exif jpg
     bash-completion jpeg tif gif png dts rar mp3 xvid
     mp4 x264 ffmpeg vlc 
     -yahoo -msn -ipv6 -gnome -kde -gstreamer -branding
     -ppp
"
cp usr/share/zoneinfo/Europe/Berlin etc/localtime
echo "Europe/Berlin" >etc/timezone
vim etc/shadow
root::10770:0:::::
...
...
vim etc/conf.d/hostname
vim etc/rc.conf
...
...
rc_sys=""
...
...
vim etc/inittab
...
...
# SERIAL CONSOLES
#s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100
#s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100
...
...
vim etc/locale.gen
vim etc/conf.d/net
dns_domain_lo="Arbeitsgruppe"
config_eth0="192.168.116.250 netmask 255.255.255.0 brd 192.168.116.255"
routes_eth0="default via 192.168.116.1"
dns_servers_eth0="192.168.116.1"
cd etc/init.d
ln -s net.lo net.eth0
cd /mnt/gentoo
vim etc/ssh/sshd_config
...
...
PermitEmptyPasswords yes
...
...
cd etc/runlevels/boot/
ln -s /etc/init.d/net.eth0 net.eth0
rm hwclock
ln -s /etc/init.d/swclock swclock
ln -s /etc/init.d/sshd sshd
cd /
umount /mnt/gentoo/boot/ /mnt/gentoo/

Systemboot

Eine SSH Verbindung sollte jetzt mit dem Raspberry Pi ohne Passwort möglich sein. Der Benutzer ist dann natürlich root.

locale-gen
env-update && source /etc/profile
passwd
eselect profile set default/linux/arm/13.0/armv6j
eselect locale set de_DE@euro
. /etc/profile
nano /etc/ssh/sshd_config
...
...
#PermitEmptyPasswords no
...
...
emerge --sync
emerge -v app-misc/screen mirrorselect mlocate gentoolkit -j2 -a
etc-update
screen
emerge -v vim sshfs-fuse dosfstools mtools xfsprogs netplug openvpn netkit-telnetd traceroute imagemagick zip unzip unrar alsa-utils mplayer subversion syslog-ng vixie-cron dhcpcd htop -j2
rc-update add syslog-ng default
rc-update add vixie-cron default
emerge -uDNve system -j2
updatedb

Quellen

http://wiki.gentoo.org/wiki/Raspberry_Pi_Quick_Install_Guide, 13.02.2013

http://www.gentoo.de/doc/de/handbook/handbook-amd64.xml?full=1, 13.02.2013