slitaz-arm annotate rpi/pitft-setup @ rev 219

dot command may not search current directory first
author Pascal Bellard <pascal.bellard@slitaz.org>
date Sun Jul 23 13:50:45 2017 +0200 (2017-07-23)
parents abffc259e9cb
children
rev   line source
pankso@187 1 #!/bin/sh
pankso@187 2 #
pankso@187 3 # Setup Adafruit PiTFT on SliTaz Raspberry Pi
pankso@187 4 #
pankso@187 5 . /etc/slitaz/slitaz.conf
pankso@187 6
pankso@187 7 linux="linux-pitft-3.10.32+-arm.tazpkg"
pankso@187 8 mirror="http://mirror.slitaz.org/arm/rpi/packages"
pankso@187 9 cache="/var/cache/tazpkg"
pankso@187 10
pankso@187 11 module_conf="/etc/modprobe.d/pitft.conf"
pankso@187 12 calibration_conf="/etc/X11/xorg.conf.d/99-calibration.conf"
pankso@187 13 udev_rules="/etc/udev/rules.d/95-stmpe.rules"
pankso@187 14
pankso@187 15 # Kernel
pankso@187 16 if [ ! -d "$PKGS_DB/installed/linux-pitft" ]; then
pankso@187 17 cd ${cache}
pankso@187 18 if [ ! -f "$linux" ]; then
pankso@187 19 echo "Downloading custom Linux kernel..."
pankso@187 20 busybox wget ${mirror}/${linux}
pankso@187 21 fi
pankso@187 22 spk-add ${linux}
pankso@187 23 fi
pankso@187 24
pankso@187 25 # Modules
pankso@187 26 if [ ! -f "$module_conf" ]; then
pankso@187 27 echo "Creating: $module_conf"
pankso@187 28 cat > ${module_conf} << EOT
pankso@187 29 # PiTFT kernel module options
pankso@187 30 #
pankso@187 31 options fbtft_device name=adafruitts rotate=90 frequency=32000000
pankso@187 32 options rpi_power_switch gpio_pin=23 mode=0
pankso@187 33 EOT
pankso@187 34 fi
pankso@187 35 modprobe -v spi-bcm2708
pankso@187 36 modprobe -v fbtft_device
pankso@187 37
pankso@187 38 # Xorg calibration
pankso@187 39 if [ ! -f "$calibration_conf" ]; then
pankso@187 40 echo "Creating: $calibration_conf"
pankso@187 41 cat > ${calibration_conf} << EOT
pankso@187 42 Section "InputClass"
pankso@187 43 Identifier "calibration"
pankso@187 44 MatchProduct "stmpe-ts"
pankso@187 45 Option "Calibration" "3692 48 154 3892"
pankso@187 46 Option "SwapAxes" "1"
pankso@187 47 EndSection
pankso@187 48 EOT
pankso@187 49 fi
pankso@187 50
pankso@187 51 # Udev
pankso@187 52 if [ ! -f "$udev_rules" ]; then
pankso@187 53 echo "Creating: $udev_rules"
pankso@187 54 cat > ${udev_rules} << EOT
pankso@187 55 SUBSYSTEM=="input", ATTRS{name}=="stmpe-ts", ENV{DEVNAME}=="*event*", SYMLINK+="input/touchscreen"
pankso@187 56 EOT
pankso@187 57 fi
pankso@187 58
pankso@187 59 # Autologin and use PiTFT kernel
pankso@187 60 echo "Configuring autologin..."
pankso@187 61 sed -i s'/#auto_login.*/auto_login yes/' /etc/slim.conf
pankso@187 62 echo "Configuring bootloader..."
pankso@187 63 sed -i s'/kernel=.*/kernel=kernel-pitft.img/' /boot/config.txt
pankso@187 64
pankso@187 65 # Start on boot
pankso@187 66 if ! grep -q 'FRAMEBUFFER' /etc/init.d/local.sh; then
pankso@187 67 echo "Enabling PiTFT at boot time..."
pankso@187 68 cat >> /etc/init.d/local.sh << EOT
pankso@187 69
pankso@187 70 echo "Setting up PiTFT touchscreen..."
pankso@187 71 modprobe -v spi-bcm2708
pankso@187 72 modprobe -v fbtft_device
pankso@187 73 #modprobe -v rpi_power_switch
pankso@187 74 export FRAMEBUFFER=/dev/fb1
pankso@187 75 startd slim
pankso@187 76
pankso@187 77 EOT
pankso@187 78 fi
pankso@187 79
pankso@187 80 echo "----"
paul@190 81 echo "PiTFT initialization finished: you can reboot"
pankso@187 82 echo "----"
pankso@187 83
pankso@187 84 exit 0