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 |