Difference between revisions of "Raspberry Pi"

From ArchWiki
Jump to: navigation, search
m (What is Raspberry Pi)
m
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:Getting and installing Arch]]
 
[[Category:Getting and installing Arch]]
{{Note|Support for the ARM architecture is provided on http://archlinuxarm.org/ }}
+
{{Article summary start}}
 +
{{Article summary text|Raspberry Pi is a minimalist computer built for the [[Wikipedia:ARMv6|ARMv6 architecture]]. [http://www.raspberrypi.org/ More information about this project] and [http://uk.farnell.com/raspberry-pi technical specification].}}
 +
{{Article summary heading|Related}}
 +
{{Article summary wiki|Beginners%27_Guide}} - This article is not meant to be an exhaustive setup guide and assumes that the reader has setup an Arch system before. Arch newbies are encouraged to read the Beginners'_Guide if unsure how to preform standard tasks such as creating users, managing the system, etc.
 +
[http://elinux.org/RPiconfig RPi Config] - Excellent source of info relating to under-the-hood tweaks.
  
How mature is Raspberry Pi (RPI). A brief overview.
+
[http://elinux.org/RPI_vcgencmd_usage RPi vcgencmd usage] - Overview of firmware command vcgencmd.
 +
{{Article summary end}}
  
== What is Raspberry Pi? ==
+
== Article Preface ==
 
+
{{Note|Support for the ARM architecture is provided on http://archlinuxarm.org/ }}
It is a minimalist computer built for [http://en.wikipedia.org/wiki/ARMv6 ARMv6] architecture. [http://www.raspberrypi.org/ More information about this project] and [http://uk.farnell.com/raspberry-pi technical specification].
+
{{Note|Posts to the official Arch Linux Forum related to ARM specific issues will be promptly closed.}}
  
 
== Installing Arch Linux ARM ==
 
== Installing Arch Linux ARM ==
Line 12: Line 17:
 
See the [http://archlinuxarm.org/platforms/armv6/raspberry-pi#qt-platform_tabs-ui-tabs2 archlinuxarm documentation].
 
See the [http://archlinuxarm.org/platforms/armv6/raspberry-pi#qt-platform_tabs-ui-tabs2 archlinuxarm documentation].
  
== Video ==
+
== Audio ==
 +
{{Note| The requisite module '''snd-bcm2835''' should be autoloaded by default.}}
  
The generic {{pkg|xf86-video-fbdev}} driver can be used.
+
Install the needed packages:
 +
pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins
 +
 
 +
Optionally adjust the default volume using `alsamixer` and ensure that the sole source "PCM" is not muted (denoted by double MM if muted).
 +
 
 +
Select an audio source for output:
 +
amixer cset numid=3 x
 +
 
 +
Where 'x' corresponds to:
 +
*0 for Auto
 +
*1 for Headphones
 +
*3 for HDMI
 +
 
 +
=== Caveats for HDMI Audio ===
 +
Some applications require a setting in {{ic|/boot/config.txt}} to force audio over HDMI:
 +
hdmi_drive=2
 +
 
 +
== Onboard Hardware Sensors ==
 +
=== Temperature ===
 +
Temperatures sensors for the board itself are including as part of the '''raspberrypi-firmware-tools''' package.  the RPi offers a sensor of the BCM2835 SoC (CPU/GPU):
 +
 
 +
/opt/vc/bin/vcgencmd measure_temp
 +
temp=49.8'C
 +
 
 +
Alternatively, simply read from the filesystem:
 +
% cat /sys/class/thermal/thermal_zone0/temp               
 +
49768
 +
 
 +
=== Voltage ===
 +
Four different voltages can be monitored via {{ic|/opt/vc/bin/vcgencmd}} as well:
 +
 
 +
% /opt/vc/bin/vcgencmd measure_volts <id>
 +
 
 +
*core for core voltage
 +
*sdram_c for sdram Core voltage
 +
*sdram_i for sdram I/O voltage
 +
*sdram_p for sdram PHY voltage
 +
 
 +
== Overclocking/Underclocking ==
 +
The Raspberry Pi can be overclocked by editing {{ic|/boot/config.txt}}, for example:
 +
 +
arm_freq=800
 +
arm_freq_min=100
 +
core_freq=300
 +
core_freq_min=75
 +
sdram_freq=400
 +
over_voltage=0
 +
 
 +
The optional xxx_min lines define the min usage of their respective settings.  When the system is not under load, the values will drop down to those specified.  Consult the [[http://elinux.org/RPiconfig#Overclocking Overclocking]] article on elinux for additional options and examples.
 +
 
 +
A reboot is needed for new settings to take effect.
 +
 
 +
{{Note|The overclocked setting for CPU clock applies only when the governor throttles up the CPU, i.e. under load.}}
 +
 
 +
Users may query the current frequency of the CPU via this command:
 +
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
  
 
== Serial Console ==
 
== Serial Console ==
Line 20: Line 81:
  
 
Change loglevel to 5 to see boot messages
 
Change loglevel to 5 to see boot messages
  # loglevel=5
+
  loglevel=5
  
 
Change speed from 115200 to 38400
 
Change speed from 115200 to 38400
  # console=ttyAMA0,38400 kgdboc=ttyAMA0,38400
+
  console=ttyAMA0,38400 kgdboc=ttyAMA0,38400
  
 
Start getty service
 
Start getty service
  # systemctl start getty@ttyAMA0
+
  systemctl start getty@ttyAMA0
  
 
Enable on boot
 
Enable on boot
  # systemctl enable getty@ttyAMA0.service
+
  systemctl enable getty@ttyAMA0.service
  
 
Creating the proper service link:
 
Creating the proper service link:
  # ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyAMA0.service
+
  ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyAMA0.service
  
 
Then connect :)
 
Then connect :)
  # screen /dev/ttyUSB0 38400
+
  screen /dev/ttyUSB0 38400
 +
 
 +
== Video ==
 +
pacman -S xf86-video-fbdev
 +
 
 +
Adjustments are likely required to correct proper overscan/underscan and are easily achieved in {{ic|boot/config.txt}} in which many tweaks are set.  To fix, simply uncomment the corresponding lines and setup per the commented instructions:
 +
 
 +
# uncomment the following to adjust overscan. Use positive numbers if console
 +
# goes off screen, and negative if there is too much border
 +
#overscan_left=16
 +
overscan_right=8
 +
overscan_top=-16
 +
overscan_bottom=-16
 +
 
 +
Users wishing to use the analog video out should consult [https://raw.github.com/Evilpaul/RPi-config/master/config.txt this] config file which contains options for non-NTSC outputs.
  
Referenced from these [http://www.raspberrypi.org/phpBB3/viewtopic.php?f=53&t=19186] posts [https://bbs.archlinux.org/viewtopic.php?id=144847]
+
A reboot is needed for new settings to take effect.

Revision as of 19:36, 8 April 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki - This article is not meant to be an exhaustive setup guide and assumes that the reader has setup an Arch system before. Arch newbies are encouraged to read the Beginners'_Guide if unsure how to preform standard tasks such as creating users, managing the system, etc. RPi Config - Excellent source of info relating to under-the-hood tweaks.

RPi vcgencmd usage - Overview of firmware command vcgencmd. Template:Article summary end

Article Preface

Note: Support for the ARM architecture is provided on http://archlinuxarm.org/
Note: Posts to the official Arch Linux Forum related to ARM specific issues will be promptly closed.

Installing Arch Linux ARM

See the archlinuxarm documentation.

Audio

Note: The requisite module snd-bcm2835 should be autoloaded by default.

Install the needed packages:

pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins

Optionally adjust the default volume using `alsamixer` and ensure that the sole source "PCM" is not muted (denoted by double MM if muted).

Select an audio source for output:

amixer cset numid=3 x

Where 'x' corresponds to:

  • 0 for Auto
  • 1 for Headphones
  • 3 for HDMI

Caveats for HDMI Audio

Some applications require a setting in /boot/config.txt to force audio over HDMI:

hdmi_drive=2

Onboard Hardware Sensors

Temperature

Temperatures sensors for the board itself are including as part of the raspberrypi-firmware-tools package. the RPi offers a sensor of the BCM2835 SoC (CPU/GPU):

/opt/vc/bin/vcgencmd measure_temp
temp=49.8'C

Alternatively, simply read from the filesystem:

% cat /sys/class/thermal/thermal_zone0/temp                
49768

Voltage

Four different voltages can be monitored via /opt/vc/bin/vcgencmd as well:

% /opt/vc/bin/vcgencmd measure_volts <id>
  • core for core voltage
  • sdram_c for sdram Core voltage
  • sdram_i for sdram I/O voltage
  • sdram_p for sdram PHY voltage

Overclocking/Underclocking

The Raspberry Pi can be overclocked by editing /boot/config.txt, for example:

arm_freq=800
arm_freq_min=100
core_freq=300
core_freq_min=75
sdram_freq=400
over_voltage=0

The optional xxx_min lines define the min usage of their respective settings. When the system is not under load, the values will drop down to those specified. Consult the [Overclocking] article on elinux for additional options and examples.

A reboot is needed for new settings to take effect.

Note: The overclocked setting for CPU clock applies only when the governor throttles up the CPU, i.e. under load.

Users may query the current frequency of the CPU via this command:

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq

Serial Console

Edit the default /boot/cmdline.txt

Change loglevel to 5 to see boot messages

loglevel=5

Change speed from 115200 to 38400

console=ttyAMA0,38400 kgdboc=ttyAMA0,38400

Start getty service

systemctl start getty@ttyAMA0

Enable on boot

systemctl enable getty@ttyAMA0.service

Creating the proper service link:

ln -s /usr/lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyAMA0.service

Then connect :)

screen /dev/ttyUSB0 38400

Video

pacman -S xf86-video-fbdev

Adjustments are likely required to correct proper overscan/underscan and are easily achieved in boot/config.txt in which many tweaks are set. To fix, simply uncomment the corresponding lines and setup per the commented instructions:

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
overscan_right=8
overscan_top=-16
overscan_bottom=-16

Users wishing to use the analog video out should consult this config file which contains options for non-NTSC outputs.

A reboot is needed for new settings to take effect.