Raspberry Pi: Difference between revisions
No edit summary |
|||
| Line 72: | Line 72: | ||
Why would you want to do this? To limit the amount of writes that is made to the SD card to prevent premature wearing. | Why would you want to do this? To limit the amount of writes that is made to the SD card to prevent premature wearing. | ||
=== UART Serial === | |||
By default, ArchLinux on the Raspberry Pi will start a getty on the UART serial port. To make use of the port, you will have to disable the getty first. | |||
Edit {{code|/boot/cmdline.txt}} and remove all instances of {{code|ttyAMA0}}. Mine ended up looking like: | |||
{{highlight|lang=text|code= | |||
root=/dev/mmcblk0p2 rw rootwait console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 elevator=noop | |||
}} | |||
Then, run: {{highlight|lang=terminal|code= | |||
systemctl disable serial-getty@ttyAMA0.service | |||
}} | |||
Reboot. | |||
[[Category:Linux]] | [[Category:Linux]] | ||
Revision as of 04:58, 2 January 2017
Setup
Arch Linux
Setup the SD card to contain two partitions using fdisk:
- 100MB (W95 FAT32 (LBA))
- Data
Download ArchLinux's Raspberry Pi tarball.
- Raspberry Pi: http://archlinuxarm.org/os/ArchLinuxARM-rpi-latest.tar.gz
- Raspberry Pi 2: http://archlinuxarm.org/os/ArchLinuxARM-rpi-2-latest.tar.gz
# fdisk /dev/sdcard
## Set up the SD card partitions
# mkfs.vfat /dev/sdcard1
# mkfs.ext4 /dev/sdcard2
# cd /mnt
# mkdir boot root
# mount /dev/sdcard1 boot
# mount /dev/sdcard2 root
# tar -xpf ArchLinuxARM-rpi-latest.tar.gz -C root
# mv root/boot/* boot
# umount boot root
For more information, see:
- http://archlinuxarm.org/platforms/armv6/raspberry-pi
- http://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2
Configuration
Wifi
See Wifi.
Miscellaneous
Control Status LEDs
The Raspberry Pi 2 LEDs are driven by the kernel's led-GPIO drivers. This allows for the LEDs to be controlled by software rather than hardware as is the case with the older first generation Pi's. The two LEDs on the Raspberry Pi 2 are the green status light (led0) and the red power light (led1).
To see the available triggers that are in use and available for a particular LED:
# cat /sys/class/leds/led1/trigger
none usb-gadget usb-host [mmc0] timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on transient flash torch input
The active trigger is in [ ] and can be changed by writing to the file. For example, to turn off the LED entirely:
# echo none > /sys/class/leds/led1/trigger
# cat /sys/class/leds/led1/trigger
[none] usb-gadget usb-host mmc0 timer oneshot heartbeat backlight gpio cpu0 cpu1 cpu2 cpu3 default-on transient flash torch input
You may also edit the config.txt file to change the behavior on startup.
# Disable the ACT LED.
dtparam=act_led_trigger=none
dtparam=act_led_activelow=off
# Disable the PWR LED.
dtparam=pwr_led_trigger=none
dtparam=pwr_led_activelow=off
See Also: http://www.armadeus.com/wiki/index.php?title=GPIO_LEDS
Mounting /var/log as tmpfs
Append to the /etc/fstab with the following line.
tmpfs /var/log tmpfs nodev,nosuid,mode=0755,size=50m 0 0
This will mount /var/log as a 50MB ramdisk. If your system is using systemd, this will break systemd-journald. To fix it, you will need to create a startup script after the mount has completed that creates the journald's directory in /var/log/journal/.
Reboot the Pi for the changes to take affect, or run mount -a which will mount the ramdisk to /var/log immediately, though you'll need to restart any services that has handles to any files there.
Why would you want to do this? To limit the amount of writes that is made to the SD card to prevent premature wearing.
UART Serial
By default, ArchLinux on the Raspberry Pi will start a getty on the UART serial port. To make use of the port, you will have to disable the getty first.
Edit /boot/cmdline.txt and remove all instances of ttyAMA0. Mine ended up looking like:
root=/dev/mmcblk0p2 rw rootwait console=tty1 selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 elevator=noop
Then, run:
systemctl disable serial-getty@ttyAMA0.service
Reboot.