<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Keita</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Keita"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Keita"/>
	<updated>2026-04-18T07:21:56Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Hyper-V&amp;diff=19641</id>
		<title>Hyper-V</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Hyper-V&amp;diff=19641"/>
		<updated>2021-04-13T09:31:52Z</updated>

		<summary type="html">&lt;p&gt;Keita: /* Xorg */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ハイパーバイザ]]&lt;br /&gt;
[[en:Hyper-V]]&lt;br /&gt;
Hyper-V は Microsoft Windows の特定のエディションに含まれているハイパーバイザです。Arch Linux の仮想マシンを動作させることができます。一般的に Hyper-V はデスクトップとして使うことよりも企業における使用を想定して作られています。[[VirtualBox]], [[Parallels]], [[VMware]] などの一般消費者向けの VM プログラムにあるような便利で簡単なインターフェイスは付属していません。最新版の Windows 10 と Windows Server 2016 では Arch Linux を簡単に設定して互換性を高めるオプションがあります。インターネット接続共有 (ICS) をセットアップしなくても内部スイッチの NAT やマルチ NAT、ポートフォワーディングが使えます。Arch Linux では第2世代の仮想マシンが利用できます。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
Windows Server 2008 以降の Windows や Pro エディションの Windows 8, 8.1, 10 には Hyper-V が付属しています。&amp;lt;!-- If someone has experience with Windows Server 2008+ and knows how Hyper-V is enabled, could they add it here? --&amp;gt;コントロールパネルの &amp;quot;Programs and Features&amp;quot; から &amp;quot;Turn Windows features on or off&amp;quot; で有効にできます。&amp;quot;Hyper-V&amp;quot; チェックボックスにチェックを入れて、変更を適用し、画面の指示に従ってください。&lt;br /&gt;
&lt;br /&gt;
== ネットワークの設定 ==&lt;br /&gt;
&lt;br /&gt;
最初に、仮想スイッチを設定して仮想マシンがインターネットに接続できるようにする必要があります。Hyper-V を有効にしたら、Hyper-V Manager を起動してください (検索するか、コマンドプロンプトから次のコマンドを実行してください):&lt;br /&gt;
&lt;br /&gt;
 %windir%\system32\mmc.exe &amp;quot;%windir%\system32\virtmgmt.msc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== 仮想スイッチの設定 ===&lt;br /&gt;
&lt;br /&gt;
仮想マシンを既存のネットワークに接続するためには、内部ネットワークスイッチあるいは外部ネットワークスイッチ (仮想ネットワークアダプタ) を使用します。外部スイッチは既存のネットワークアダプタ (有線あるいは無線) のどれかに割り当てる (ブリッジする) 必要があります。内部スイッチではホストと仮想マシンの間のネットワーク接続をするのに外部ネットワークにアクセスする必要がありません。内部スイッチに NAT 機能を追加することで、ホストを仮想マシンに対するルーターとして仮想マシンから外部ネットワークにアクセスできるようになります。&lt;br /&gt;
&lt;br /&gt;
Hyper-V マネージャ GUI では全てのネットワーク機能 (NAT 設定など) を設定することはできません。管理者権限で PowerShell を使うことで詳細な設定が可能になります。&lt;br /&gt;
&lt;br /&gt;
==== 外部スイッチ ====&lt;br /&gt;
&lt;br /&gt;
右サイドバーの、&amp;quot;Virtual Switch Manager...&amp;quot; を選択します。ダイアログが開くので、左サイドバーの &amp;quot;New virtual network switch&amp;quot; を選択してください。&amp;quot;What type of virtual switch do you want to create?&amp;quot; から &amp;quot;External&amp;quot; を選び、&amp;quot;Create Virtual Switch&amp;quot; を選択してください。仮想スイッチに新しい名前を付けてください。&amp;quot;External network&amp;quot; から外部スイッチに紐付けるネットワークアダプタを選択します。&lt;br /&gt;
&lt;br /&gt;
ネットワークが切断されると警告が表示されるので、続行してください。スイッチを設定するためにネットワークが一時的に切断されます。&lt;br /&gt;
&lt;br /&gt;
上記の設定は (管理者権限で起動した) PowerShell で以下のコマンドを使っても設定できます:&lt;br /&gt;
 # Get a list of the network adapters in the host. In a laptop you should typically see &#039;Ethernet&#039; and &#039;Wi-Fi&#039;&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; Get-NetAdapter&lt;br /&gt;
 &lt;br /&gt;
 # Create the external switch with a name of VM-External-Switch, bound to the network adapter named {{ic|Wi-Fi}} retrieved from the previous command&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; New-VMSwitch -Name &amp;quot;VM-External-Switch&amp;quot; -AllowManagementOS $True -NetAdapterName &amp;quot;Wi-Fi&amp;quot;&lt;br /&gt;
&lt;br /&gt;
仮想マシンの Arch Linux で VM のネットワークアダプタとして外部スイッチを選択することで Windows ホストのネットワークアダプタが仮想マシンの {{ic|eth0}} インターフェイスにブリッジされます。Arch Linux の中では通常通りに ([[systemd-networkd]] や [[netctl]] を使って) 固定 IP アドレスまたは DHCP でインターフェイスを設定できます。外部ネットワークからは仮想マシンは別のホストとして扱われます。&lt;br /&gt;
&lt;br /&gt;
例えば、Arch Linux 仮想マシンで固定 IP を使用する場合、Windows ホストが {{ic|192.168.0.100/24}} なら、Arch Linux 仮想マシンのインターフェイスは {{ic|192.168.0.101/24}} などと設定して、ゲートウェイと DNS サーバーはホストと同じに設定してください。&lt;br /&gt;
&lt;br /&gt;
仮想マシンで DHCP を使用する場合、IP アドレスは外部ネットワークの DHCP ネットワークによって割り当てられます。&lt;br /&gt;
&lt;br /&gt;
==== 内部スイッチ ====&lt;br /&gt;
&lt;br /&gt;
{{Note|Windows 10 Fall Creators Update (バージョン 1803) 以降では、仮想マシンに NAT スイッチ (Default Switch) が組み込まれており、特段の設定なしでインターネットに接続できます。詳細は [https://techcommunity.microsoft.com/t5/virtualization/what-s-new-in-hyper-v-for-windows-10-fall-creators-update/ba-p/382399 What&#039;s new in Hyper-V for Windows 10 Fall Creators Update?] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
内部スイッチを作成する際も外部スイッチと手順は同じですが、仮想スイッチのタイプとして「内部スイッチ」を選ぶようにしてください。Windows 10 Anniversary Update (バージョン 1607, OS ビルド 14393) から、Hyper-V に内部スイッチのネイティブ NAT サポートが追加されています。古いバージョンでは、インターネット接続共有 (ICS) を使って内部スイッチで仮想マシンからネットワークにアクセスできるようにすることが可能です。&lt;br /&gt;
&lt;br /&gt;
使用している Windows のバージョンを確認するには、コマンドプロンプトか PowerShell で以下のコマンドを実行:&lt;br /&gt;
 &amp;gt; winver&lt;br /&gt;
&lt;br /&gt;
PowerShell で以下のコマンドを使うことで内部スイッチを作成できます:&lt;br /&gt;
 # Create the internal switch with a name of VM-Internal-Switch&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; New-VMSwitch -Name &amp;quot;VM-Internal-Switch&amp;quot; -SwitchType Internal&lt;br /&gt;
 &lt;br /&gt;
 # Verify that the internal switch was created&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; Get-VMSwitch&lt;br /&gt;
 &lt;br /&gt;
 # Get the ifIndex of the newly created internal switch, usually named &#039;vEthernet (name)&#039;&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; Get-NetAdapter&lt;br /&gt;
 &lt;br /&gt;
 # Set the IP address of the internal switch, noting the ifIndex retrieved from the previous command.&lt;br /&gt;
 # In this example, the network address of the internal switch is 192.168.3.0/24, and the ifIndex is 50.&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; New-NetIPAddress -IPAddress 192.168.3.1 -PrefixLength 24 -InterfaceIndex 50&lt;br /&gt;
 &lt;br /&gt;
 # The VMs using the internal switch must use static IP addresses, such as 192.168.3.2/24.&lt;br /&gt;
 # Support for DHCP in internal switches is not included in current Windows versions (as of Version 1703, OS Build 15063).&lt;br /&gt;
&lt;br /&gt;
上記のコマンドを実行すると、ホストと仮想マシンは同一の仮想ネットワーク (192.168.3.0/24) 上で互いに通信できるようになります。ただし NAT あるいは ICS を設定しないかぎり仮想マシンは外部ネットワークにアクセスできません。&lt;br /&gt;
&lt;br /&gt;
Windows 10 ビルド 14393 以上では、以下のコマンドで内部スイッチの NAT とポートフォワーディングを設定できます:&lt;br /&gt;
 # Create the NAT with IP address of the internal switch&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; New-NetNat -Name &amp;quot;VM-NAT-Network&amp;quot; -InternalIPInterfaceAddressPrefix 192.168.3.1/24&lt;br /&gt;
 &lt;br /&gt;
 # Verify that the NAT was created&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; Get-NetNat&lt;br /&gt;
 &lt;br /&gt;
 # Enable SSH port forwarding on port 2222 of any interface on the host, to a VM with an IP address of 192.168.3.2/24&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; Add-NetNatStaticMapping -NatName &amp;quot;VM-NAT-Network&amp;quot; -Protocol TCP -ExternalIPAddress 0.0.0.0 -ExternalPort 2222 -InternalIPAddress 192.168.3.2 -InternalPort 22&lt;br /&gt;
 &lt;br /&gt;
 # Verify that the port forward is active&lt;br /&gt;
 PS C:\WINDOWS\system32&amp;gt; Get-NetNatStaticMapping&lt;br /&gt;
&lt;br /&gt;
コマンドについて詳しくは Microsoft の [https://docs.microsoft.com/en-us/powershell/module/netnat/ NetNat] ドキュメントを参照してください。&lt;br /&gt;
&lt;br /&gt;
古いバージョンの Windows では、インターネット接続共有を使います。ネットワークと共有センターを開いて、アダプターの設定と変更で、使用しているインターネットアダプタのインターネット接続の共有を有効にしてください。接続を共有することができたら、先に作成した仮想スイッチをブリッジに追加します。&lt;br /&gt;
&lt;br /&gt;
== 仮想マシンの作成 ==&lt;br /&gt;
&lt;br /&gt;
左サイドバーの &amp;quot;Hyper-V Manager&amp;quot; から &amp;quot;PC&amp;quot; を選択してください。そして右サイドバーの &amp;quot;New&amp;quot; &amp;gt; &amp;quot;Virtual Machine...&amp;quot; を選んでください。新しい仮想マシンのウィザードでは、大抵の設定を自由にすることができますが、一部には必ず設定しなければならない項目があります。&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Specify Generation&amp;quot; では &amp;quot;Generation 1&amp;quot; あるいは &amp;quot;Generation 2&amp;quot; のどちらかを選択できます。第1世代の仮想マシンは BIOS ベースのマシンとレガシーなポートをエミュレートします。第2世代の仮想マシンは UEFI ベースのマシンを提供します。互換性や移植性などが理由で第1世代を使わなくてはならない理由がないのであれば、通常は第2世代仮想マシンを使うようにしてください。また、Arch Linux 仮想マシンで第2世代を使うときは、仮想マシンの設定で Hardware -&amp;gt; Security から Secure Boot を無効にしてください。&lt;br /&gt;
&lt;br /&gt;
Assign Memory の &amp;quot;Startup memory&amp;quot; では、Arch やプログラムが正しく動作するように十分なメモリを設定してください。&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Configure Networking&amp;quot; の &amp;quot;Connection&amp;quot; では、先に作成した仮想スイッチを選択してください。&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Connect Virtual Hard Disk&amp;quot; では、&amp;quot;Create a virtual hard disk&amp;quot; を選択して、&amp;quot;Size&amp;quot; が問題ないことを確認してください。仮想ハードディスクはスパースなため、仮想 OS が書き込んだものを保存するのに必要な分だけしか仮想ハードディスクは消費しません。&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Installation Options&amp;quot; では、&amp;quot;Install an operating system from a bootable CD/DVD-ROM&amp;quot; を選択してください。ディスクや USB デバイスから Arch をインストールする場合、&amp;quot;Media&amp;quot; から &amp;quot;Physical CD/DVD drive&amp;quot; を選んで、適切なドライブ文字を選択してください。ISO ファイルから Arch をインストールする場合、&amp;quot;Image file (.iso)&amp;quot; を選んで、&amp;quot;Browse...&amp;quot; ダイアログからファイルを選択してください。第2世代マシンの場合、物理的な CD/DVD ドライブからの起動はサポートされていません。&lt;br /&gt;
&lt;br /&gt;
== 仮想マシンの設定 ==&lt;br /&gt;
&lt;br /&gt;
次に、VM の設定を行なってください。&lt;br /&gt;
&lt;br /&gt;
仮想マシンには仮想プロセッサを追加することができます。仮想マシンからより多くのプロセッサコアを使えるようにすることで、多くのケースでパフォーマンスが向上します。仮想マシンで重い処理をする場合、搭載されているプロセッサコアの半分を割り当てると良いでしょう。仮想プロセッサの数を変更するには、左サイドバーの &amp;quot;Processor&amp;quot; を選択して、&amp;quot;Number of virtual processors&amp;quot; を変更してください。&lt;br /&gt;
&lt;br /&gt;
設定を変更したら、&amp;quot;OK&amp;quot; で変更を適用して設定ダイアログを終了してください。&lt;br /&gt;
&lt;br /&gt;
== Arch のインストール ==&lt;br /&gt;
&lt;br /&gt;
仮想マシンの設定を終えたら、Arch のインストールを行います。右サイドバーから、&amp;quot;Start&amp;quot; を選んで、&amp;quot;Connect...&amp;quot; を選択してください。接続ウィンドウが開きます。ネットワークは Arch のインストールメディアが立ち上がったときに自動的に機能します。返答が返ってくるアドレスで {{ic|ping}} を実行して確認してください:&lt;br /&gt;
&lt;br /&gt;
 ping archlinux.org&lt;br /&gt;
&lt;br /&gt;
レスポンスが返ってこない場合、接続がうまくいっていません。その場合、[https://support.microsoft.com/kb/974909 Microsoft によって既知とされているバグ] を踏んでいる可能性があります。Knowledge Base ページに書かれているホットフィックスをインストールしてみるか、暫く待ってから再度試行してください。&lt;br /&gt;
&lt;br /&gt;
Arch のインストールは他のシステムのインストールと大して変わりません。第1世代 VM は (UEFI ではなく) BIOS しか使えないため、[[ブートローダー]]をインストールする際は BIOS 特有の手順に従ってください。&lt;br /&gt;
&lt;br /&gt;
== インストール後の設定 ==&lt;br /&gt;
&lt;br /&gt;
Arch のインストールが完了したら、設定に移ります。&lt;br /&gt;
&lt;br /&gt;
まず、VM をシャットダウンして、設定ダイアログを開いてください。左のサイドバーの &amp;quot;IDE Controller 1&amp;quot; にある &amp;quot;DVD Drive&amp;quot; を選択します。&amp;quot;Media&amp;quot; から &amp;quot;None&amp;quot; を選択してください。これで VM が毎回インストールメディアから起動しなくなります。&lt;br /&gt;
&lt;br /&gt;
=== Hyper-V Integration Services ===&lt;br /&gt;
&lt;br /&gt;
[https://docs.microsoft.com/ja-jp/windows-server/virtualization/hyper-v/manage/manage-hyper-v-integration-services Hyper-v Integration Services] を利用する場合は、{{Pkg|hyperv}} を[[インストール]]します。&lt;br /&gt;
&lt;br /&gt;
{{ic|hv_fcopy_daemon.service}}, {{ic|hv_kvp_daemon.service}} および {{ic|hv_vss_daemon.service}} を[[起動]]・[[有効化]] してください。&lt;br /&gt;
&lt;br /&gt;
=== 共有ディレクトリ ===&lt;br /&gt;
&lt;br /&gt;
ホストとゲストでファイルを共有するのはとても簡単です。まず、ホスト側で、ゲストと共有したいフォルダを選択あるいは作成してください。そしてフォルダのプロパティダイアログを開いてください ({{ic|alt}} + {{ic|Enter}} あるいは右クリックして &amp;quot;Properties...&amp;quot; を選択)。&amp;quot;Sharing&amp;quot; タブを開いて &amp;quot;Advanced Sharing...&amp;quot; を選択してください。そして &amp;quot;Share this folder&amp;quot; チェックボックスにチェックを入れます。デフォルトでは、フォルダは読み取り専用パーミッションになるため、VM からフォルダを読み込むことはできますが書き込むことはできません。パーミッションを変更したい場合、&amp;quot;Permissions&amp;quot; を選択してください。そこで、どのユーザーが共有フォルダにアクセスできるのか、そしてどのパーミッションを割り当てるのかを設定できます。双方向にファイルを共有したい場合、&amp;quot;Change&amp;quot; と &amp;quot;Read&amp;quot; 両方の &amp;quot;Allow&amp;quot; にチェックを入れてください。共有フォルダのプロパティダイアログを終了する前に、フォルダの &amp;quot;Network Path&amp;quot; を確認してください。ネットワークパスは {{ic|\\&#039;&#039;computer name&#039;&#039;\&#039;&#039;folder name&#039;&#039;}} という形式になります。&lt;br /&gt;
&lt;br /&gt;
次に、ホストの IP アドレスを確認してください。プロパティダイアログを終了して、コマンドプロンプトか PowerShell を開きます。{{ic|ipconfig}} を実行してください。先に作成した仮想スイッチの名前が含まれているエントリが確認できるはずです (例: {{ic|Ethernet adapter vEthernet (New Virtual Switch)}})。仮想スイッチのエントリの下に出力された、{{ic|IPv4 Address}} を確認してメモしてください。&lt;br /&gt;
&lt;br /&gt;
そして、Arch から共有フォルダをマウントします。VM を起動してください。Arch が起動したら、CIFS 共有をマウントするための {{Pkg|cifs-utils}} をまずインストールします (CIFS は Windows の共有フォルダで使われているプロトコルです)。その後、共有フォルダをマウントする場所を決めてください。{{ic|/mnt/Hyper-V}} など、{{ic|/mnt}} 内のディレクトリにすることを推奨します。&lt;br /&gt;
&lt;br /&gt;
以下が共有フォルダをマウントするコマンドです。先に確認したネットワークパスのバックスラッシュはスラッシュに置き換えてください:&lt;br /&gt;
&lt;br /&gt;
 # mount -t cifs [&#039;&#039;Network Path with forward slashes&#039;&#039;] &#039;&#039;mountpoint&#039;&#039; -o user=[&#039;&#039;user you wish to authenticate as&#039;&#039;],ip=[&#039;&#039;host IP noted earlier&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
認証するユーザーのパスワードが要求されます。コマンドオプションの {{ic|1=password=&#039;&#039;password&#039;&#039;}} を使ってパスワードを指定することもできますが、コマンド履歴ファイルにホストのパスワードが残ってしまうためセキュリティ上よろしくありません。また、スクリプトからコマンドを実行する場合、パスワードをスクリプト内に保存することになります。パスワードを直書きする代わりの方法として、credentials ファイルを使用することができます。ファイル内にユーザー名とパスワードを記入して、ファイルのアクセス権限を制限することが可能です。ファイルの名前は何でもかまいません。例えば、{{ic|.credentials}} という名前でホームディレクトリに保存する場合、以下のようになります:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.credentials|2=&lt;br /&gt;
username=&#039;&#039;username&#039;&#039;&lt;br /&gt;
password=&#039;&#039;password&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ファイルを作成したら、パーミッションを変更して読み取り権限を制限します:&lt;br /&gt;
&lt;br /&gt;
 # chmod 600 ~/.credentials&lt;br /&gt;
&lt;br /&gt;
そして {{ic|mount}} コマンドに credentials オプションを追加します: {{ic|1=credentials=~/.credentials}}。これで、共有フォルダをマウントするとき、自動的にユーザー名とパスワードが指定されます。&lt;br /&gt;
&lt;br /&gt;
例えば、具体的に、ネットワークパスが {{ic|\\PC\share}} の共有ディレクトリを {{ic|/mnt/Hyper-V}} にマウントする場合、ホストのユーザー名が &amp;quot;John&amp;quot; でホストの IP アドレスが 198.123.151.23 なら、マウントコマンドは以下のようになります:&lt;br /&gt;
&lt;br /&gt;
 # mount -t cifs //PC/share /mnt/Hyper-V -o credentials=~/.credentials,ip=198.123.151.23&lt;br /&gt;
&lt;br /&gt;
この方法の問題点として、ホストの IP アドレスが変わってしまった場合 (DHCP で動的に IP アドレスが割り当てられていたり、新しいネットワークに移行した場合など)、ゲスト側でホストの IP アドレスを毎回書き換える必要があります。しかしながら、{{Pkg|smbclient}} パッケージに含まれている {{ic|nmblookup}} ユーティリティを使用することで、SMB ホストに関連付けられている IP アドレスを確認することが可能です。上記の例の場合、以下のようになります:&lt;br /&gt;
&lt;br /&gt;
{{hc|nmblookup PC|2=&lt;br /&gt;
198.123.151.23 PC&amp;lt;00&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
IP アドレスだけが欲しい場合、{{ic|head}} と {{ic|cut}} を使って抽出することができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|nmblookup PC &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; head -n 1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; cut -d &#039; &#039; -f 1|2=&lt;br /&gt;
192.123.151.23&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
さらに {{ic|mount}} コマンドで使用する IP アドレスを上のコマンドで置き換えることができます:&lt;br /&gt;
&lt;br /&gt;
 # mount -t cifs //PC/share /mnt/Hyper-V -o &amp;lt;nowiki&amp;gt;credentials=~/.credentials,ip=&amp;lt;/nowiki&amp;gt;&amp;quot;$(nmblookup PC &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; head -n 1 &amp;lt;nowiki&amp;gt;|&amp;lt;/nowiki&amp;gt; cut -d &#039; &#039; -f 1)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
起動時に自動的にマウントするなど、共有フォルダをマウントする方法は他にも存在します。詳しくは [[Samba]] の記事を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== Xorg ===&lt;br /&gt;
&lt;br /&gt;
グラフィカルなプログラムは {{Pkg|xf86-video-fbdev}} パッケージで Xorg を使うことで簡単に実行できます。パッケージをインストールしたら適当なウィンドウマネージャやデスクトップ環境を使ってください。X の起動に問題は発生しないはずです。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GUIコンソールを利用する場合、モニタが Unknown Monitor となり、1024x768 の解像度に固定されてしまう場合があります。この場合、カーネルオプションで画面解像度を {{ic|1=video=hyperv_fb:&amp;lt;解像度&amp;gt;}} のように直接指定が必要になる場合があります。&lt;br /&gt;
&lt;br /&gt;
==== systemd-bootの場合 ====&lt;br /&gt;
&lt;br /&gt;
ブートエントリ ( {{ic|&#039;&#039;esp&#039;&#039;/loader/entry/*.conf}} ) において、以下のオプションを追加します。&lt;br /&gt;
&lt;br /&gt;
以下の例は1920x1080の解像度で表示させる場合&lt;br /&gt;
&lt;br /&gt;
{{hc|&#039;&#039;esp&#039;&#039;/loader/entry/&#039;&#039;some_of_entry.conf&#039;&#039;|2=&lt;br /&gt;
options 1=video=hyperv_fb:1920x1080 root=...&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Keita</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=15070</id>
		<title>Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=15070"/>
		<updated>2019-10-12T08:41:54Z</updated>

		<summary type="html">&lt;p&gt;Keita: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ARM アーキテクチャ]]&lt;br /&gt;
[[cs:Raspberry Pi]]&lt;br /&gt;
[[en:Raspberry Pi]]&lt;br /&gt;
[[ru:Raspberry Pi]]&lt;br /&gt;
[[uk:Raspberry Pi]]&lt;br /&gt;
[[zh-hans:Raspberry Pi]]&lt;br /&gt;
[[Wikipedia:ja:Raspberry Pi|Wikipedia]] より:&lt;br /&gt;
:&amp;quot;&#039;&#039;Raspberry Pi はクレジットカードサイズのシングルボードコンピュータのシリーズである。イギリスのラズベリーパイ財団によって開発されており、学校で基本的なコンピュータ科学の教育を促進することを意図している。&#039;&#039;&amp;quot;&lt;br /&gt;
オリジナルモデルは Broadcom SoC BCM2835 ([[Wikipedia:ARM11|ARM11 マイクロアーキテクチャ]]) を使用していましたが、ラズベリーパイ財団は最近になってニューモデルの &amp;quot;Raspberry Pi 2&amp;quot; をリリースしました。RasPi 2 には BCM2836 SoC (クアッドコアの [[Wikipedia:ARM_Cortex-A7|ARM Cortex A7]] アーキテクチャ) が搭載されています。2016年2月には、BCM2837 SoC (クアッドコアの [[Wikipedia:ARM Cortex-A53|ARM Cortex-A53 アーキテクチャ]]) を搭載して WiFi と Bluetooth が組み込まれた Pi 3 が発売されました。2019年6月には、BCM2711 SoC(クアッドコアの [[Wikipedia:ARM Cortex-A72|ARM Cortex-A72 アーキテクチャ]])を搭載し、USB3.0、Bluetooth5.0、ギガビット・イーサネット、4k出力(4k60Hz×1または4k30Hz×2)に対応したmicro-HDMIポート2つが組み込まれた Pi 4 が発売されました。&lt;br /&gt;
&lt;br /&gt;
== 前書き ==&lt;br /&gt;
この記事は完全なセットアップガイドではなく、読者が既に Arch システムを構築していることを前提としています。ユーザーの作成やシステムの管理など、基本的な作業の方法がよくわからない場合、Arch 初心者は[[一般的な推奨事項]]を読むことが推奨されています。&lt;br /&gt;
&lt;br /&gt;
{{Note|ARM アーキテクチャのサポートは公式 Arch Linux フォーラムではなく https://archlinuxarm.org で提供されています。ARM 固有の問題に関する投稿は [[フォーラムエチケット#Arch Linux ディストリビューションのサポートオンリー|Arch Linux ディストリビューションのサポートオンリー]]ポリシーに従って直ちにクローズされます。}}&lt;br /&gt;
&lt;br /&gt;
== システム構成 ==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi は ARM ベースのデバイスであり、ARM アーキテクチャ用にコンパイルされたバイナリが必要になります。ARM 用のバイナリは Arch Linux を ARM ベースのデバイスに移植している [https://archlinuxarm.org/about Arch Linux ARM プロジェクト] によって提供されています。ALARM プロジェクトのウェブサイトには独自のコミュニティとフォーラムがあります。オリジナルの Arch のフォーラムでは ARM に関連する問題は&#039;&#039;サポートされていません&#039;&#039;。Raspberry Pi 2 が登場したことで、デバイスのアーキテクチャによって必要なパッケージは2つに分かれています:&lt;br /&gt;
* ARMv6 (BCM2835): Raspberry Pi Model A, A+, B, B+, Zero, Zero W&lt;br /&gt;
* ARMv7 (BCM2836): Raspberry Pi 2 (Model B+ ベース)&lt;br /&gt;
* ARMv8 (BCM2837): Raspberry Pi 3&lt;br /&gt;
* ARMv8 (BCM2711): Raspberry Pi 4&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ARM のインストール ==&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv6/raspberry-pi Arch Linux ARM Pi のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 2 ===&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2 Arch Linux ARM Pi2 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 3 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Raspberry Pi 3 は Raspberry Pi 2 よりも使用電力が多くなっています。公式では 2.5A の電源供給が推奨されています。電源供給が不十分だと予期不可能なエラーやファイルシステムの破損が発生する可能性があります。&lt;br /&gt;
* RPi3 は ARMv7 (32ビット) または AArch64 (64ビット) アーキテクチャのどちらでも動作しますが、AArch64 にはメーカーによるライブラリや拡張、関連ソフトウェアなどのサポートが整っていません。また、一部のハードウェアが上手く動かなかったりする可能性があります。現時点では ARMv7 を使用することを推奨します。}}&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3 Arch Linux ARM Pi3 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 4 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Raspberry Pi 4 は Raspberry Pi 3 よりもさらに使用電力が多くなっています。公式では 5V, 3A の電源供給が推奨されています。電源供給が不十分だと予期不可能なエラーやファイルシステムの破損が発生する可能性があります。&lt;br /&gt;
* RPi4 は ARMv8 (64ビット) で動作します。}}&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4 Arch Linux ARM Pi4 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
==== ARM インストール ====&lt;br /&gt;
Raspberry Pi 2 以前でビルドされたソフトウェア、特にベンダーライブラリを必要とするソフトウェアと互換性を持っています。&lt;br /&gt;
&lt;br /&gt;
以下のコマンドで使われる {{ic|sdX}} は実際にコンピュータで認識された SD カードのデバイス名に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
fdisk を起動して SD カードのパーティショニングを開始:&lt;br /&gt;
 # fdisk /dev/sdX&lt;br /&gt;
fdisk プロンプトが表示されたら、古いパーティションを削除して新しいパーティションを作成します:&lt;br /&gt;
* o を押してください。ドライブ上の全てのパーティションが消去されます。&lt;br /&gt;
* p を押してパーティションを確認してください。パーティションがひとつも存在しないはずです。&lt;br /&gt;
* n を押してから、p でプライマリパーティションを選択、1 でドライブの一番最初のパーティションを選択し、最初のセクタは ENTER でデフォルトに、最後のセクタは +100M と入力します。&lt;br /&gt;
* t を押してから c を押して最初のパーティションのタイプを W95 FAT32 (LBA) に設定してください。&lt;br /&gt;
* n を押してから、p でプライマリパーティションを選択、2 でドライブの二番目のパーティションを選択し、最初・最後のセクタは ENTER を2回押してデフォルトに設定します。&lt;br /&gt;
* w を押してパーティションテーブルに書き込んで終了してください。&lt;br /&gt;
FAT ファイルシステムを作成・マウント:&lt;br /&gt;
 # mkfs.vfat /dev/sdX1&lt;br /&gt;
 # mkdir boot&lt;br /&gt;
 # mount /dev/sdX1 boot&lt;br /&gt;
ext4 ファイルシステムを作成・マウント:&lt;br /&gt;
 # mkfs.ext4 /dev/sdX2&lt;br /&gt;
 # mkdir root&lt;br /&gt;
 # mount /dev/sdX2 root&lt;br /&gt;
root ファイルシステムをダウンロードして展開 (sudo ではなく root ユーザーで実行してください):&lt;br /&gt;
 # wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-4-latest.tar.gz&lt;br /&gt;
 # bsdtar -xpf ArchLinuxARM-rpi-4-latest.tar.gz -C root&lt;br /&gt;
 # sync&lt;br /&gt;
ブートファイルを一番目のパーティションに移動:&lt;br /&gt;
 # mv root/boot/* boot&lt;br /&gt;
パーティションをアンマウント:&lt;br /&gt;
 # umount boot root&lt;br /&gt;
Rasberry Pi に SD カードを挿入して、有線を接続し、5V 電力を供給してください。&lt;br /&gt;
&lt;br /&gt;
シリアルコンソールあるいは SSH を使ってルーターからボードに割り当てられた IP アドレスに接続します。デフォルトのユーザー名は alarm でパスワードは同じく alarm です。デフォルトの root パスワードは root です。&lt;br /&gt;
&lt;br /&gt;
==== AArch64 インストール ====&lt;br /&gt;
メインラインカーネルと U-Boot を使ってインストールすることができます。ベンダーが提供しているライブラリや拡張、ソフトウェアのサポートはありません。ボードに搭載されているハードウェアの一部が機能しなかったり、正しく動かなかったりすることがあります。&lt;br /&gt;
&lt;br /&gt;
インストール手順は上記と同じですが、次の tarball を使ってください: http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
== ネットワーク ==&lt;br /&gt;
&lt;br /&gt;
ネットワークはあらかじめ設定されており、[[systemd-networkd]] によって dhcp モードでオンボードの NIC が使われます。ケーブルが接続されていれば、ほとんどのルーターで自動的に IP が取得されます。&lt;br /&gt;
&lt;br /&gt;
最初から [[Secure Shell]] を使って SD カードにアクセスする場合は、Raspberry Pi をイーサネットケーブルで接続してルーターの設定を通して IP アドレスを割り当てるのが一番簡単です。デフォルトのホストネームは &#039;&#039;&#039;alarmpi&#039;&#039;&#039; です。root で直接アクセスすることができます (パスワード: root)。まず初めにパスワードを変更することを強く推奨します。任意で [[SSH 鍵]]も設定してください。&lt;br /&gt;
&lt;br /&gt;
=== Ethernet を使わずに WLAN を設定 ===&lt;br /&gt;
&lt;br /&gt;
無線インターネット接続を確立する必要がある場合、いくつかパッケージを追加でダウンロードして SD カードに保存する必要があります。[[netctl]] を使用する場合、最低でも [[WPA supplicant]] と依存パッケージの &#039;&#039;libnl&#039;&#039; が必要になります。また、&#039;&#039;dialog&#039;&#039; と依存パッケージの &#039;&#039;ncurses&#039;&#039; もインストールしておいたほうが便利でしょう。&lt;br /&gt;
&lt;br /&gt;
まとめると以下を実行する必要があります:&lt;br /&gt;
* 他のコンピュータから SD カードにパッケージをダウンロード&lt;br /&gt;
* Raspberry Pi にパッケージをインストール・設定&lt;br /&gt;
&lt;br /&gt;
必要なパッケージは全て [https://archlinuxarm.org/packages Arch Linux ARM の公式ウェブサイト] で見つけることができ、[http://mirror.archlinuxarm.org Arch Linux ARM のリポジトリ] からダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
その後、Raspberry Pi を接続して立ち上げて、モニター/キーボードを使うか[[#シリアルコンソール|シリアルコンソール]]でログインします。そして、パッケージを[[パッケージのオフラインインストール|オフラインインストール]]してください。パッケージの依存パッケージが欠けている場合は、依存パッケージもダウンロードしてインストールしてください。&lt;br /&gt;
&lt;br /&gt;
[[ワイヤレス設定]]も読んでください。&lt;br /&gt;
&lt;br /&gt;
== オーディオ ==&lt;br /&gt;
{{Note|必須モジュール {{ic|snd-bcm2835}} はデフォルトで自動ロードされます。}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alsa-utils&#039;&#039;&#039;, &#039;&#039;&#039;alsa-firmware&#039;&#039;&#039;, &#039;&#039;&#039;alsa-lib&#039;&#039;&#039;, &#039;&#039;&#039;alsa-plugins&#039;&#039;&#039; パッケージをインストールしてください:&lt;br /&gt;
 # pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins&lt;br /&gt;
&lt;br /&gt;
ARM の Linux カーネルバージョン 4.4.x では ALSA とサウンドモジュールに大きな変更があります。最新のカーネルで {{ic|alsamixer}} などのツールを使用するには {{ic|/boot/config.txt}} を編集して以下の行を記述してください:&lt;br /&gt;
 dtparam=audio=on&lt;br /&gt;
&lt;br /&gt;
任意で、{{ic|alsamixer}} を使ってデフォルトのボリュームを調整してください。唯一の音源 &amp;quot;PCM&amp;quot; がミュートされていないことを確認してください (ミュートされている場合は {{ic|MM}} と表示されます、ミュートを解除するには {{ic|M}} を押して下さい)。&lt;br /&gt;
&lt;br /&gt;
音源の出力を選択するには:&lt;br /&gt;
 $ amixer cset numid=3 &#039;&#039;x&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;x&#039;&#039;}} は以下のどれかになります:&lt;br /&gt;
*0 は自動&lt;br /&gt;
*1 はアナログ出力&lt;br /&gt;
*2 は HDMI&lt;br /&gt;
&lt;br /&gt;
=== HDMI オーディオの注意 ===&lt;br /&gt;
アプリケーションによっては音声を HDMI で出力するために {{ic|/boot/config.txt}} に設定が必要です:&lt;br /&gt;
 hdmi_drive=2&lt;br /&gt;
&lt;br /&gt;
=== アナログ出力の注意 ===&lt;br /&gt;
3.5mm のアナログ出力からの音声がかすれることがあります。以下を {{ic|/boot/config.txt}} に追加することで問題は解決します:&lt;br /&gt;
 audio_pwm_mode=2&lt;br /&gt;
&lt;br /&gt;
== ビデオ ==&lt;br /&gt;
&lt;br /&gt;
=== CPU/GPU のメモリ分割 ===&lt;br /&gt;
SoC に搭載されている CPU と GPU のメモリの振り分けは {{ic|boot/config.txt}} 内の {{ic|gpu_mem}} パラメータで設定できます。GPU から利用できるメモリの量を MB 単位で指定してください (最低 16 MB、デフォルトは 64 MB)。残りは全て ARM CPU から使用されます。&lt;br /&gt;
&lt;br /&gt;
=== HDMI / アナログ TV 出力 ===&lt;br /&gt;
デフォルト設定では、Raspberry Pi は [[wikipedia:ja:HDMI|HDMI]] モニターが接続されているときは HDMI を使うようになっています。接続されていない場合はアナログ TV 出力 (コンポジット出力あるいは RCA) が使われます。&lt;br /&gt;
&lt;br /&gt;
HDMI やアナログ TV 出力のオン・オフを切り替えるには、次を見て下さい:&lt;br /&gt;
&lt;br /&gt;
 /opt/vc/bin/tvservice&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-s&#039;&#039; パラメータでディスプレイの状態を確認し、&#039;&#039;-o&#039;&#039; パラメータでディスプレイをオフに、&#039;&#039;-p&#039;&#039; パラメータで優先設定を使って HDMI をオンにします。&lt;br /&gt;
&lt;br /&gt;
オーバースキャン・アンダースキャンを適切に修正するには調整が必要で、多くの設定がある {{ic|boot/config.txt}} で簡単に行うことができます。修正するには、コメントの指示に従って適切な行の設定をアンコメントしてください:&lt;br /&gt;
&lt;br /&gt;
 # uncomment the following to adjust overscan. Use positive numbers if console&lt;br /&gt;
 # goes off screen, and negative if there is too much border&lt;br /&gt;
 #overscan_left=16&lt;br /&gt;
 overscan_right=8&lt;br /&gt;
 overscan_top=-16&lt;br /&gt;
 overscan_bottom=-16&lt;br /&gt;
&lt;br /&gt;
もしくは、TV やモニターに「画面に合わせる」オプションが存在して、オーバースキャンを無効化したい場合:&lt;br /&gt;
&lt;br /&gt;
 disable_overscan=1&lt;br /&gt;
&lt;br /&gt;
アナログビデオ出力を使いたいユーザーは NTSC 以外の出力のオプションを含んでいる[https://raw.github.com/Evilpaul/RPi-config/master/config.txt この]設定ファイルを見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
=== アナログ TV 出力の注意事項 ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 1 モデル B+ と Raspberry Pi 2 モデル B から、コンポジットビデオ端子はなくなって、代わりに 3.5mm の動画/音声ジャックからコンポジット信号を出力するようになっています。RCA ケーブルによっては赤や白の音声端子で動画を接続する Raspberry Pi の規格に対応していない場合があります [http://www.raspberrypi-spy.co.uk/2014/07/raspberry-pi-model-b-3-5mm-audiovideo-jack/]。&lt;br /&gt;
&lt;br /&gt;
=== X.org ドライバー ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi の X.org ドライバーは &#039;&#039;&#039;xf86-video-fbdev&#039;&#039;&#039; あるいは &#039;&#039;xf86-video-fbturbo-git&#039;&#039; パッケージでインストールできます:&lt;br /&gt;
 # pacman -S xf86-video-fbdev&lt;br /&gt;
&lt;br /&gt;
== オンボードのハードウェアセンサー ==&lt;br /&gt;
=== 温度 ===&lt;br /&gt;
温度センサーは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージにあるユーティリティで使うことができます。RPi は BCM2835 SoC (CPU/GPU) 上にセンサーを搭載しています:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ /opt/vc/bin/vcgencmd measure_temp|2=&lt;br /&gt;
temp=49.8&#039;C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
また、ファイルシステムから読み取ることもできます:&lt;br /&gt;
{{hc|$ cat /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
49768&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
人間が読めるように出力するには:&lt;br /&gt;
{{hc|$ awk &#039;{printf &amp;quot;%3.1f°C\n&amp;quot;, $1/1000}&#039; /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
54.1°C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 電圧 ===&lt;br /&gt;
同じように {{ic|/opt/vc/bin/vcgencmd}} で4つの異なる電圧をチェックすることができます:&lt;br /&gt;
&lt;br /&gt;
 $ /opt/vc/bin/vcgencmd measure_volts &#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;}} は以下のどれかに置き換えてください:&lt;br /&gt;
*core はコアの電圧&lt;br /&gt;
*sdram_c は sdram Core の電圧&lt;br /&gt;
*sdram_i は sdram I/O の電圧&lt;br /&gt;
*sdram_p は sdram PHY の電圧&lt;br /&gt;
&lt;br /&gt;
=== ウォッチドッグ ===&lt;br /&gt;
BCM2708 にはハードウェアウォッチドッグが搭載されており {{ic|bcm2708_wdog}} [[カーネルモジュール]]を有効にすることで利用できます。&lt;br /&gt;
&lt;br /&gt;
適切に扱うには {{ic|watchdog}} デーモンをインストールして設定する必要があります ({{ic|/etc/watchdog.conf}} 内の &amp;quot;watchdog-device&amp;quot; 行をアンコメントしてください)。それからデーモンを[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 2 の場合は {{ic|bcm2709_wdog}} モジュールを、Raspberry Pi 3 の場合は {{ic|bcm2835_wdt}} モジュールを使用してください。&lt;br /&gt;
&lt;br /&gt;
=== 軽量なモニタリングスイート ===&lt;br /&gt;
{{AUR|monitorix}} は v3.2.0 から RPi をサポートしています ({{ic|/etc/monitorix/monitorix.conf}} に {{ic|1=raspberrypi = y}} を設定してください)。温度・電圧・周波数などが記録されます。スクリーンショットは[http://www.monitorix.org/screenshots.html ここ] にあります。&lt;br /&gt;
&lt;br /&gt;
== オーバークロック / アンダークロック ==&lt;br /&gt;
{{ic|/boot/config.txt}} を編集することで RPi をオーバークロックさせることができます、RPi 1 の設定例:&lt;br /&gt;
 &lt;br /&gt;
 arm_freq=800&lt;br /&gt;
 arm_freq_min=100&lt;br /&gt;
 core_freq=300&lt;br /&gt;
 core_freq_min=75&lt;br /&gt;
 sdram_freq=400&lt;br /&gt;
 over_voltage=0&lt;br /&gt;
&lt;br /&gt;
RPi 3 の設定例:&lt;br /&gt;
&lt;br /&gt;
 arm_freq=1350&lt;br /&gt;
 core_freq=500&lt;br /&gt;
 sdram_freq=500 # test required &lt;br /&gt;
 over_voltage=4&lt;br /&gt;
&lt;br /&gt;
{{ic|*_min}} の行は任意で、それぞれの設定の最低値を定義します。システムの負担が低い時は、指定した値まで下がります。オプションの詳しい説明や例は elinux の [https://elinux.org/RPiconfig#Overclocking Overclocking] 記事を見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
CPU のオーバークロック設定は、負担が高い時にガバナーが CPU の周波数を上げる場合にだけ適用されます。次のコマンドで現在の CPU の周波数を確認できます:&lt;br /&gt;
 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq&lt;br /&gt;
&lt;br /&gt;
スケーリングガバナーの詳細は [[CPU 周波数スケーリング]]を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|以下のスクリプトを実行すると RPi に設定された全ての周波数が表示されます:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#/bin/bash&lt;br /&gt;
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do&lt;br /&gt;
    echo -e &amp;quot;$src:\t$(/opt/vc/bin/vcgencmd  measure_clock $src)&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SD カードのパフォーマンスを最大化するヒント ==&lt;br /&gt;
&lt;br /&gt;
システムのレスポンスは SD メディアの速度に大きな影響を受けます。特にシステムのアップデートなどディスク I/O に関する処理を行っている際はそれが際立つでしょう。pacman がファイルシステムにファイルを書き出すときに [https://archlinuxarm.org/forum/viewtopic.php?f=64&amp;amp;t=9467 頻繁に停止する] ような場合、RPi や RPi2 の接続バスが足を引っ張っているというよりは、SD (あるいはマイクロ SD) カードがボトルネックとなっている可能性があります。詳しくは[[ベンチマーク#フラッシュメディア]]を参照。UHS-I U3 以上の &amp;quot;Pro&amp;quot; クラスのカードを使うことを推奨します。&lt;br /&gt;
&lt;br /&gt;
一般的なパフォーマンスを上げる方法については[[パフォーマンスの最大化]]や[[ソリッドステートドライブ#SSD の読み書きを最小化するヒント]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 起動時に fsck を有効にする ===&lt;br /&gt;
&lt;br /&gt;
[[fsck#ブート時のチェック]]を見てください。カーネルパラメータは {{ic|/boot/config.txt}} で指定するようにしてください。&lt;br /&gt;
&lt;br /&gt;
== シリアルコンソール ==&lt;br /&gt;
ブートメッセージを見るには、デフォルトの {{ic|/boot/cmdline.txt}} を編集して、{{ic|loglevel}} を {{ic|5}} に変更してください:&lt;br /&gt;
 loglevel=5&lt;br /&gt;
&lt;br /&gt;
{{Note|カーネルのバージョンによっては Pi3 でブートメッセージを表示するには {{ic|1=enable_uart=1}} を {{ic|/boot/cmdline.txt}} に追加する必要があります。他のバージョン (4.9.35 など) では設定によって正しく起動できなくなる場合があります。}}&lt;br /&gt;
&lt;br /&gt;
速度を 115200 から 38400 に変える:&lt;br /&gt;
 console=ttyAMA0,38400 kgdboc=ttyAMA0,38400&lt;br /&gt;
&lt;br /&gt;
getty サービスを起動する:&lt;br /&gt;
 # systemctl start getty@ttyAMA0&lt;br /&gt;
&lt;br /&gt;
ブート時に有効にする:&lt;br /&gt;
 # systemctl enable getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
適当な service リンクを作成する:&lt;br /&gt;
 # ln -s /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
そして PC から接続:&lt;br /&gt;
 # screen /dev/ttyUSB0 38400&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi カメラモジュール ==&lt;br /&gt;
カメラモジュールのコマンドは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージに含まれています - このパッケージはデフォルトでインストールされています。以下のコマンドで使うことができます:&lt;br /&gt;
 $ /opt/vc/bin/raspistill&lt;br /&gt;
 $ /opt/vc/bin/raspivid&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加する必要があります:&lt;br /&gt;
 gpu_mem=128&lt;br /&gt;
 start_file=start_x.elf&lt;br /&gt;
 fixup_file=fixup_x.dat&lt;br /&gt;
&lt;br /&gt;
LED をオフにする設定 (任意):&lt;br /&gt;
 disable_camera_led=1&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合: &lt;br /&gt;
 mmal: mmal_vc_component_enable: failed to enable component: ENOSPC&lt;br /&gt;
 mmal: camera component couldn&#039;t be enabled&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Failed to run camera app. Please check for firmware updates&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下の値を設定してみてください:&lt;br /&gt;
 cma_lwm=&lt;br /&gt;
 cma_hwm=&lt;br /&gt;
 cma_offline_start=&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合:&lt;br /&gt;
&lt;br /&gt;
 mmal: mmal_vc_component_create: failed to create component &#039;vc.ril.camera&#039; (1:ENOMEM)&lt;br /&gt;
 mmal: mmal_component_create_core: could not create component &#039;vc.ril.camera&#039; (1)&lt;br /&gt;
 mmal: Failed to create camera component&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Only 64M of gpu_mem is configured. Try running &amp;quot;sudo raspi-config&amp;quot; and ensure that &amp;quot;memory_split&amp;quot; has a value of 128 or greater&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/modprobe.d/blacklist.conf}} に以下の行を追加してください:&lt;br /&gt;
 blacklist i2c_bcm2708&lt;br /&gt;
&lt;br /&gt;
({{ic|/dev/video0}} を使用する) 標準的なアプリケーションを使うには V4L2 ドライバーをロードする必要があります。以下のように自動ロードファイルを作成することで起動時に自動的にロードさせることが可能です:&lt;br /&gt;
{{hc|/etc/modules-load.d/rpi-camera.conf|bcm2835-v4l2}}&lt;br /&gt;
&lt;br /&gt;
デフォルトでは V4L2 ドライバーを使って録画できる動画の解像度は 1280x720 が最大です。それ以上にしようとすると動画が 4 fps 以下にまで落ち込みます。制限を取り払いたい場合、以下のオプションを追加してください:&lt;br /&gt;
{{hc|head=/etc/modprobe.d/rpi-camera.conf|output=options bcm2835-v4l2 max_video_width=3240 max_video_height=2464}}&lt;br /&gt;
&lt;br /&gt;
== ハードウェア乱数生成器 ==&lt;br /&gt;
Raspberry Pi 用の Arch Linux ARM には &#039;&#039;&#039;rng-tools&#039;&#039;&#039; パッケージがインストールされており、{{ic|bcm2835-rng}} (カーネル 4.4.7 から Raspberry Pi 2 と Raspberry Pi 3 では {{ic|bcm2835_rng}} モジュールに置き換えられています) が起動時にロードされるように設定されています ([https://archlinuxarm.org/forum/viewtopic.php?f=31&amp;amp;t=4993#p27708 こちら] を参照) が、Hardware RNG Entropy Gatherer Daemon (&#039;&#039;&#039;rngd&#039;&#039;&#039;) にハードウェア乱数生成器の場所を教えてやる必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/conf.d/rngd}} を編集することで設定します:&lt;br /&gt;
 RNGD_OPTS=&amp;quot;-o /dev/random -r /dev/hwrng&amp;quot;&lt;br /&gt;
設定したら &#039;&#039;&#039;rngd&#039;&#039;&#039; デーモンを[[再起動]]してください:&lt;br /&gt;
 # systemctl restart rngd&lt;br /&gt;
&lt;br /&gt;
この設定で、ハードウェア乱数生成器からのデータがカーネルのエントロピープール ({{ic|/dev/random}}) に取り入れられるようになります。エントロピーを確認するには:&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/sys/kernel/random/entropy_avail&lt;br /&gt;
&lt;br /&gt;
{{Note|古いイメージからカーネルを更新すると旧式の {{ic|bcm2708-rng}} を見つけられず {{ic|systemd-modules-load.service}} の起動に失敗していることがあります。その場合には {{ic|/etc/modules-load.d/raspberrypi.conf}} を設定し直し、 {{ic|systemd-modules-load.service}} を再起動すると解決します ([https://archlinuxarm.org/forum/viewtopic.php?f&amp;amp;#61;64&amp;amp;t&amp;amp;#61;10153 こちら] を参照)。}}&lt;br /&gt;
&lt;br /&gt;
== I/O ピン ==&lt;br /&gt;
=== GPIO ===&lt;br /&gt;
Python から GPIO ピンを使えるようにするには [https://pypi.python.org/pypi/RPi.GPIO RPi.GPIO] ライブラリを使用します。{{AUR|python-raspberry-gpio}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
=== SPI ===&lt;br /&gt;
{{ic|/dev/spidev*}} デバイスを有効にするには、以下の行をアンコメントしてください:&lt;br /&gt;
{{hc|head=/boot/config.txt|output=&lt;br /&gt;
device_tree_param=spi=on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== I2C ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;i2c-tools&#039;&#039; パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加することで i2c ハードウェアを有効にするようにブートローダーを設定します:&lt;br /&gt;
 dtparam=i2c_arm=on&lt;br /&gt;
&lt;br /&gt;
{{ic|i2c-dev}} と {{ic|i2c-bcm2708}} モジュールを起動時にロードするように設定:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/modules-load.d/raspberrypi.conf|i2c-dev&lt;br /&gt;
i2c-bcm2708}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi を再起動してから次のコマンドを実行してハードウェアアドレスを取得:&lt;br /&gt;
 # i2cdetect -y 0&lt;br /&gt;
&lt;br /&gt;
{{Note|I2C0 ではなく I2C1 ポートを使用する場合、{{ic|i2cdetect -y 1}} を実行して、以下のコマンドで使われている {{ic|i2c-0}} を {{ic|i2c-1}} に置き換える必要があります。}}&lt;br /&gt;
&lt;br /&gt;
そしてデバイスを初期化するように Linux を設定します。以下のコマンドのハードウェアアドレスは先のコマンドで取得したアドレスに置き換えてください (&#039;0x&#039; を前に付けます、例: 0x48)。デバイス名は自由に決めて下さい:&lt;br /&gt;
 # echo &amp;lt;devicename&amp;gt; &amp;lt;hardware address&amp;gt; &amp;gt;/sys/class/i2c-adapter/i2c-0/new_device&lt;br /&gt;
&lt;br /&gt;
dmesg コマンドを使ってカーネルメッセージを確認すると、以下のような新しいエントリが追加されているはずです:&lt;br /&gt;
 i2c-0: new_device: Instantiated device ds1621 at 0x48&lt;br /&gt;
[[lm_sensors]] などのプログラムを使ってセンサーの出力を読み出すことができます。&lt;br /&gt;
&lt;br /&gt;
=== 1-Wire ===&lt;br /&gt;
1-Wire インターフェイスを有効にするには {{ic|/boot/config.txt}} に以下の行を追加して再起動してください:&lt;br /&gt;
 dtoverlay=w1-gpio&lt;br /&gt;
&lt;br /&gt;
== RPi でのコンパイル ==&lt;br /&gt;
&lt;br /&gt;
RPi 上でのコンパイルは非常に低速です。ネットワーク上に他のノードが存在する場合 [[Distcc]] を使うことでコンパイル時間を大幅に短縮できます。x86_64 や i686 のマシンを使っている場合、[[Distcc#Arch Linux ARM]] に既存のマシンを活用して distcc をセットアップする方法が書かれています。&lt;br /&gt;
&lt;br /&gt;
== QEMU chroot ==&lt;br /&gt;
&lt;br /&gt;
場合によっては Raspberry Pi を動かすよりもディスクイメージを直接操作したほうが楽だということもあるでしょう。RPi の root パーティションが含まれている SD カードをマウントして、そこに chroot することで直接操作することができます。chroot からは、&#039;&#039;pacman&#039;&#039; を実行してパッケージをインストールしたり、巨大なライブラリをコンパイルすることが可能です。実行可能ファイルは ARM アーキテクチャ用のものなので、[[QEMU]] を使って x86 への変換を行う必要があります。&lt;br /&gt;
&lt;br /&gt;
64ビットの Raspberry Pi では {{ic|aarch64}} を使うことができます。他のモデルでは {{ic|arm}} を使ってください。&lt;br /&gt;
&lt;br /&gt;
[[AUR]] から {{AUR|binfmt-support}} と {{AUR|qemu-user-static}} をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
そして {{ic|binfmt-support}} サービスを起動・有効化してください:&lt;br /&gt;
 # systemctl enable binfmt-support&lt;br /&gt;
 # systemctl start binfmt-support&lt;br /&gt;
&lt;br /&gt;
{{AUR|qemu-user-static}} はコンパイルしたプログラムを他のアーキテクチャから実行するのに必要となります。{{Pkg|qemu-arch-extra}} と似たような機能ですが、chroot で使うには &amp;quot;static&amp;quot; なバージョンが必要です。例:&lt;br /&gt;
 qemu-arm-static path_to_sdcard/usr/bin/ls&lt;br /&gt;
 qemu-aarch64-static path_to_sdcard/usr/bin/ls&lt;br /&gt;
&lt;br /&gt;
上記のコマンドで32ビットの ARM と64ビットの ARM 用にコンパイルされた {{ic|ls}} を実行できます。ホスト環境に存在しないライブラリを使うため、chroot を使わないと機能しません。&lt;br /&gt;
&lt;br /&gt;
{{AUR|qemu-user-static}} は ARM の実行ファイルに自動的に {{ic|qemu-arm-static}} または {{ic|qemu-aarch64-static}} を前に付けます。{{ic|/var/lib/binfmts/qemu-arm}} や {{ic|qemu-user-static}} の [https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=qemu-user-static#n38 PKGBUILD] などを見てください。&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効かどうか確認:&lt;br /&gt;
&lt;br /&gt;
 # update-binfmts --display qemu-arm&lt;br /&gt;
 # update-binfmts --display qemu-aarch64&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効でない場合、update-binfmts を使って有効にしてください:&lt;br /&gt;
 # update-binfmts --enable qemu-arm&lt;br /&gt;
 # update-binfmts --enable qemu-aarch64&lt;br /&gt;
&lt;br /&gt;
SD カードを {{ic|mnt/}} にマウントします (デバイス名は適宜置き換えてください)。&lt;br /&gt;
&lt;br /&gt;
 # mkdir mnt&lt;br /&gt;
 # mount /dev/mmcblk0p2 mnt&lt;br /&gt;
&lt;br /&gt;
必要であればブートパーティションをマウントしてください (デバイス名は適当な名前に置き換えてください):&lt;br /&gt;
&lt;br /&gt;
 # mount /dev/mmcblk0p1 mnt/boot&lt;br /&gt;
&lt;br /&gt;
(ARM からの変換を処理する) QEMU の実行可能ファイルを SD カードにコピーしてください:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/bin/qemu-arm-static /usr/bin/qemu-aarch64-static mnt/usr/bin&lt;br /&gt;
&lt;br /&gt;
最後に [[Change Root#chroot を使う]]に書かれているように SD カードの root に chroot してください:&lt;br /&gt;
&lt;br /&gt;
 # chroot mnt/ /bin/bash&lt;br /&gt;
&lt;br /&gt;
{{Pkg|arch-install-scripts}} に含まれている {{ic|arch-chroot}} を使うこともできます (ネットワークのサポートが含まれています):&lt;br /&gt;
 # arch-chroot mnt/ /bin/bash&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://www.raspberrypi.org Raspberry Pi] - 公式ウェブサイト&lt;br /&gt;
* [https://elinux.org/RPiconfig RPi Config] - ボンネットの下の設定に関連する情報がまとまっています&lt;br /&gt;
* [https://elinux.org/RPI_vcgencmd_usage RPi vcgencmd usage] - ファームウェアコマンドの vcgencmd の概要&lt;/div&gt;</summary>
		<author><name>Keita</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=15069</id>
		<title>Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=15069"/>
		<updated>2019-10-12T08:30:39Z</updated>

		<summary type="html">&lt;p&gt;Keita: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ARM アーキテクチャ]]&lt;br /&gt;
[[cs:Raspberry Pi]]&lt;br /&gt;
[[en:Raspberry Pi]]&lt;br /&gt;
[[ru:Raspberry Pi]]&lt;br /&gt;
[[uk:Raspberry Pi]]&lt;br /&gt;
[[zh-hans:Raspberry Pi]]&lt;br /&gt;
[[Wikipedia:ja:Raspberry Pi|Wikipedia]] より:&lt;br /&gt;
:&amp;quot;&#039;&#039;Raspberry Pi はクレジットカードサイズのシングルボードコンピュータのシリーズである。イギリスのラズベリーパイ財団によって開発されており、学校で基本的なコンピュータ科学の教育を促進することを意図している。&#039;&#039;&amp;quot;&lt;br /&gt;
オリジナルモデルは Broadcom SoC BCM2835 ([[Wikipedia:ARM11|ARM11 マイクロアーキテクチャ]]) を使用していましたが、ラズベリーパイ財団は最近になってニューモデルの &amp;quot;Raspberry Pi 2&amp;quot; をリリースしました。RasPi 2 には BCM2836 SoC (クアッドコアの [[Wikipedia:ARM_Cortex-A7|ARM Cortex A7]] アーキテクチャ) が搭載されています。2016年2月には、BCM2837 SoC (クアッドコアの [[Wikipedia:ARM Cortex-A53|ARM Cortex-A53 アーキテクチャ]]) を搭載して WiFi と Bluetooth が組み込まれた Pi 3 が発売されました。&lt;br /&gt;
&lt;br /&gt;
== 前書き ==&lt;br /&gt;
この記事は完全なセットアップガイドではなく、読者が既に Arch システムを構築していることを前提としています。ユーザーの作成やシステムの管理など、基本的な作業の方法がよくわからない場合、Arch 初心者は[[一般的な推奨事項]]を読むことが推奨されています。&lt;br /&gt;
&lt;br /&gt;
{{Note|ARM アーキテクチャのサポートは公式 Arch Linux フォーラムではなく https://archlinuxarm.org で提供されています。ARM 固有の問題に関する投稿は [[フォーラムエチケット#Arch Linux ディストリビューションのサポートオンリー|Arch Linux ディストリビューションのサポートオンリー]]ポリシーに従って直ちにクローズされます。}}&lt;br /&gt;
&lt;br /&gt;
== システム構成 ==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi は ARM ベースのデバイスであり、ARM アーキテクチャ用にコンパイルされたバイナリが必要になります。ARM 用のバイナリは Arch Linux を ARM ベースのデバイスに移植している [https://archlinuxarm.org/about Arch Linux ARM プロジェクト] によって提供されています。ALARM プロジェクトのウェブサイトには独自のコミュニティとフォーラムがあります。オリジナルの Arch のフォーラムでは ARM に関連する問題は&#039;&#039;サポートされていません&#039;&#039;。Raspberry Pi 2 が登場したことで、デバイスのアーキテクチャによって必要なパッケージは2つに分かれています:&lt;br /&gt;
* ARMv6 (BCM2835): Raspberry Pi Model A, A+, B, B+, Zero, Zero W&lt;br /&gt;
* ARMv7 (BCM2836): Raspberry Pi 2 (Model B+ ベース)&lt;br /&gt;
* ARMv8 (BCM2837): Raspberry Pi 3&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ARM のインストール ==&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv6/raspberry-pi Arch Linux ARM Pi のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 2 ===&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2 Arch Linux ARM Pi2 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 3 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Raspberry Pi 3 は Raspberry Pi 2 よりも使用電力が多くなっています。公式では 2.5A の電源供給が推奨されています。電源供給が不十分だと予期不可能なエラーやファイルシステムの破損が発生する可能性があります。&lt;br /&gt;
* RPi3 は ARMv7 (32ビット) または AArch64 (64ビット) アーキテクチャのどちらでも動作しますが、AArch64 にはメーカーによるライブラリや拡張、関連ソフトウェアなどのサポートが整っていません。また、一部のハードウェアが上手く動かなかったりする可能性があります。現時点では ARMv7 を使用することを推奨します。}}&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3 Arch Linux ARM Pi3 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 4 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Raspberry Pi 4 は Raspberry Pi 3 よりもさらに使用電力が多くなっています。公式では 5V, 3A の電源供給が推奨されています。電源供給が不十分だと予期不可能なエラーやファイルシステムの破損が発生する可能性があります。&lt;br /&gt;
* RPi4 は ARMv8 (64ビット) で動作します。}}&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4 Arch Linux ARM Pi4 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
==== ARM インストール ====&lt;br /&gt;
Raspberry Pi 2 以前でビルドされたソフトウェア、特にベンダーライブラリを必要とするソフトウェアと互換性を持っています。&lt;br /&gt;
&lt;br /&gt;
以下のコマンドで使われる {{ic|sdX}} は実際にコンピュータで認識された SD カードのデバイス名に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
fdisk を起動して SD カードのパーティショニングを開始:&lt;br /&gt;
 # fdisk /dev/sdX&lt;br /&gt;
fdisk プロンプトが表示されたら、古いパーティションを削除して新しいパーティションを作成します:&lt;br /&gt;
* o を押してください。ドライブ上の全てのパーティションが消去されます。&lt;br /&gt;
* p を押してパーティションを確認してください。パーティションがひとつも存在しないはずです。&lt;br /&gt;
* n を押してから、p でプライマリパーティションを選択、1 でドライブの一番最初のパーティションを選択し、最初のセクタは ENTER でデフォルトに、最後のセクタは +100M と入力します。&lt;br /&gt;
* t を押してから c を押して最初のパーティションのタイプを W95 FAT32 (LBA) に設定してください。&lt;br /&gt;
* n を押してから、p でプライマリパーティションを選択、2 でドライブの二番目のパーティションを選択し、最初・最後のセクタは ENTER を2回押してデフォルトに設定します。&lt;br /&gt;
* w を押してパーティションテーブルに書き込んで終了してください。&lt;br /&gt;
FAT ファイルシステムを作成・マウント:&lt;br /&gt;
 # mkfs.vfat /dev/sdX1&lt;br /&gt;
 # mkdir boot&lt;br /&gt;
 # mount /dev/sdX1 boot&lt;br /&gt;
ext4 ファイルシステムを作成・マウント:&lt;br /&gt;
 # mkfs.ext4 /dev/sdX2&lt;br /&gt;
 # mkdir root&lt;br /&gt;
 # mount /dev/sdX2 root&lt;br /&gt;
root ファイルシステムをダウンロードして展開 (sudo ではなく root ユーザーで実行してください):&lt;br /&gt;
 # wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-4-latest.tar.gz&lt;br /&gt;
 # bsdtar -xpf ArchLinuxARM-rpi-4-latest.tar.gz -C root&lt;br /&gt;
 # sync&lt;br /&gt;
ブートファイルを一番目のパーティションに移動:&lt;br /&gt;
 # mv root/boot/* boot&lt;br /&gt;
パーティションをアンマウント:&lt;br /&gt;
 # umount boot root&lt;br /&gt;
Rasberry Pi に SD カードを挿入して、有線を接続し、5V 電力を供給してください。&lt;br /&gt;
&lt;br /&gt;
シリアルコンソールあるいは SSH を使ってルーターからボードに割り当てられた IP アドレスに接続します。デフォルトのユーザー名は alarm でパスワードは同じく alarm です。デフォルトの root パスワードは root です。&lt;br /&gt;
&lt;br /&gt;
==== AArch64 インストール ====&lt;br /&gt;
メインラインカーネルと U-Boot を使ってインストールすることができます。ベンダーが提供しているライブラリや拡張、ソフトウェアのサポートはありません。ボードに搭載されているハードウェアの一部が機能しなかったり、正しく動かなかったりすることがあります。&lt;br /&gt;
&lt;br /&gt;
インストール手順は上記と同じですが、次の tarball を使ってください: http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
== ネットワーク ==&lt;br /&gt;
&lt;br /&gt;
ネットワークはあらかじめ設定されており、[[systemd-networkd]] によって dhcp モードでオンボードの NIC が使われます。ケーブルが接続されていれば、ほとんどのルーターで自動的に IP が取得されます。&lt;br /&gt;
&lt;br /&gt;
最初から [[Secure Shell]] を使って SD カードにアクセスする場合は、Raspberry Pi をイーサネットケーブルで接続してルーターの設定を通して IP アドレスを割り当てるのが一番簡単です。デフォルトのホストネームは &#039;&#039;&#039;alarmpi&#039;&#039;&#039; です。root で直接アクセスすることができます (パスワード: root)。まず初めにパスワードを変更することを強く推奨します。任意で [[SSH 鍵]]も設定してください。&lt;br /&gt;
&lt;br /&gt;
=== Ethernet を使わずに WLAN を設定 ===&lt;br /&gt;
&lt;br /&gt;
無線インターネット接続を確立する必要がある場合、いくつかパッケージを追加でダウンロードして SD カードに保存する必要があります。[[netctl]] を使用する場合、最低でも [[WPA supplicant]] と依存パッケージの &#039;&#039;libnl&#039;&#039; が必要になります。また、&#039;&#039;dialog&#039;&#039; と依存パッケージの &#039;&#039;ncurses&#039;&#039; もインストールしておいたほうが便利でしょう。&lt;br /&gt;
&lt;br /&gt;
まとめると以下を実行する必要があります:&lt;br /&gt;
* 他のコンピュータから SD カードにパッケージをダウンロード&lt;br /&gt;
* Raspberry Pi にパッケージをインストール・設定&lt;br /&gt;
&lt;br /&gt;
必要なパッケージは全て [https://archlinuxarm.org/packages Arch Linux ARM の公式ウェブサイト] で見つけることができ、[http://mirror.archlinuxarm.org Arch Linux ARM のリポジトリ] からダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
その後、Raspberry Pi を接続して立ち上げて、モニター/キーボードを使うか[[#シリアルコンソール|シリアルコンソール]]でログインします。そして、パッケージを[[パッケージのオフラインインストール|オフラインインストール]]してください。パッケージの依存パッケージが欠けている場合は、依存パッケージもダウンロードしてインストールしてください。&lt;br /&gt;
&lt;br /&gt;
[[ワイヤレス設定]]も読んでください。&lt;br /&gt;
&lt;br /&gt;
== オーディオ ==&lt;br /&gt;
{{Note|必須モジュール {{ic|snd-bcm2835}} はデフォルトで自動ロードされます。}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alsa-utils&#039;&#039;&#039;, &#039;&#039;&#039;alsa-firmware&#039;&#039;&#039;, &#039;&#039;&#039;alsa-lib&#039;&#039;&#039;, &#039;&#039;&#039;alsa-plugins&#039;&#039;&#039; パッケージをインストールしてください:&lt;br /&gt;
 # pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins&lt;br /&gt;
&lt;br /&gt;
ARM の Linux カーネルバージョン 4.4.x では ALSA とサウンドモジュールに大きな変更があります。最新のカーネルで {{ic|alsamixer}} などのツールを使用するには {{ic|/boot/config.txt}} を編集して以下の行を記述してください:&lt;br /&gt;
 dtparam=audio=on&lt;br /&gt;
&lt;br /&gt;
任意で、{{ic|alsamixer}} を使ってデフォルトのボリュームを調整してください。唯一の音源 &amp;quot;PCM&amp;quot; がミュートされていないことを確認してください (ミュートされている場合は {{ic|MM}} と表示されます、ミュートを解除するには {{ic|M}} を押して下さい)。&lt;br /&gt;
&lt;br /&gt;
音源の出力を選択するには:&lt;br /&gt;
 $ amixer cset numid=3 &#039;&#039;x&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;x&#039;&#039;}} は以下のどれかになります:&lt;br /&gt;
*0 は自動&lt;br /&gt;
*1 はアナログ出力&lt;br /&gt;
*2 は HDMI&lt;br /&gt;
&lt;br /&gt;
=== HDMI オーディオの注意 ===&lt;br /&gt;
アプリケーションによっては音声を HDMI で出力するために {{ic|/boot/config.txt}} に設定が必要です:&lt;br /&gt;
 hdmi_drive=2&lt;br /&gt;
&lt;br /&gt;
=== アナログ出力の注意 ===&lt;br /&gt;
3.5mm のアナログ出力からの音声がかすれることがあります。以下を {{ic|/boot/config.txt}} に追加することで問題は解決します:&lt;br /&gt;
 audio_pwm_mode=2&lt;br /&gt;
&lt;br /&gt;
== ビデオ ==&lt;br /&gt;
&lt;br /&gt;
=== CPU/GPU のメモリ分割 ===&lt;br /&gt;
SoC に搭載されている CPU と GPU のメモリの振り分けは {{ic|boot/config.txt}} 内の {{ic|gpu_mem}} パラメータで設定できます。GPU から利用できるメモリの量を MB 単位で指定してください (最低 16 MB、デフォルトは 64 MB)。残りは全て ARM CPU から使用されます。&lt;br /&gt;
&lt;br /&gt;
=== HDMI / アナログ TV 出力 ===&lt;br /&gt;
デフォルト設定では、Raspberry Pi は [[wikipedia:ja:HDMI|HDMI]] モニターが接続されているときは HDMI を使うようになっています。接続されていない場合はアナログ TV 出力 (コンポジット出力あるいは RCA) が使われます。&lt;br /&gt;
&lt;br /&gt;
HDMI やアナログ TV 出力のオン・オフを切り替えるには、次を見て下さい:&lt;br /&gt;
&lt;br /&gt;
 /opt/vc/bin/tvservice&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-s&#039;&#039; パラメータでディスプレイの状態を確認し、&#039;&#039;-o&#039;&#039; パラメータでディスプレイをオフに、&#039;&#039;-p&#039;&#039; パラメータで優先設定を使って HDMI をオンにします。&lt;br /&gt;
&lt;br /&gt;
オーバースキャン・アンダースキャンを適切に修正するには調整が必要で、多くの設定がある {{ic|boot/config.txt}} で簡単に行うことができます。修正するには、コメントの指示に従って適切な行の設定をアンコメントしてください:&lt;br /&gt;
&lt;br /&gt;
 # uncomment the following to adjust overscan. Use positive numbers if console&lt;br /&gt;
 # goes off screen, and negative if there is too much border&lt;br /&gt;
 #overscan_left=16&lt;br /&gt;
 overscan_right=8&lt;br /&gt;
 overscan_top=-16&lt;br /&gt;
 overscan_bottom=-16&lt;br /&gt;
&lt;br /&gt;
もしくは、TV やモニターに「画面に合わせる」オプションが存在して、オーバースキャンを無効化したい場合:&lt;br /&gt;
&lt;br /&gt;
 disable_overscan=1&lt;br /&gt;
&lt;br /&gt;
アナログビデオ出力を使いたいユーザーは NTSC 以外の出力のオプションを含んでいる[https://raw.github.com/Evilpaul/RPi-config/master/config.txt この]設定ファイルを見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
=== アナログ TV 出力の注意事項 ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 1 モデル B+ と Raspberry Pi 2 モデル B から、コンポジットビデオ端子はなくなって、代わりに 3.5mm の動画/音声ジャックからコンポジット信号を出力するようになっています。RCA ケーブルによっては赤や白の音声端子で動画を接続する Raspberry Pi の規格に対応していない場合があります [http://www.raspberrypi-spy.co.uk/2014/07/raspberry-pi-model-b-3-5mm-audiovideo-jack/]。&lt;br /&gt;
&lt;br /&gt;
=== X.org ドライバー ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi の X.org ドライバーは &#039;&#039;&#039;xf86-video-fbdev&#039;&#039;&#039; あるいは &#039;&#039;xf86-video-fbturbo-git&#039;&#039; パッケージでインストールできます:&lt;br /&gt;
 # pacman -S xf86-video-fbdev&lt;br /&gt;
&lt;br /&gt;
== オンボードのハードウェアセンサー ==&lt;br /&gt;
=== 温度 ===&lt;br /&gt;
温度センサーは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージにあるユーティリティで使うことができます。RPi は BCM2835 SoC (CPU/GPU) 上にセンサーを搭載しています:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ /opt/vc/bin/vcgencmd measure_temp|2=&lt;br /&gt;
temp=49.8&#039;C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
また、ファイルシステムから読み取ることもできます:&lt;br /&gt;
{{hc|$ cat /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
49768&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
人間が読めるように出力するには:&lt;br /&gt;
{{hc|$ awk &#039;{printf &amp;quot;%3.1f°C\n&amp;quot;, $1/1000}&#039; /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
54.1°C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 電圧 ===&lt;br /&gt;
同じように {{ic|/opt/vc/bin/vcgencmd}} で4つの異なる電圧をチェックすることができます:&lt;br /&gt;
&lt;br /&gt;
 $ /opt/vc/bin/vcgencmd measure_volts &#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;}} は以下のどれかに置き換えてください:&lt;br /&gt;
*core はコアの電圧&lt;br /&gt;
*sdram_c は sdram Core の電圧&lt;br /&gt;
*sdram_i は sdram I/O の電圧&lt;br /&gt;
*sdram_p は sdram PHY の電圧&lt;br /&gt;
&lt;br /&gt;
=== ウォッチドッグ ===&lt;br /&gt;
BCM2708 にはハードウェアウォッチドッグが搭載されており {{ic|bcm2708_wdog}} [[カーネルモジュール]]を有効にすることで利用できます。&lt;br /&gt;
&lt;br /&gt;
適切に扱うには {{ic|watchdog}} デーモンをインストールして設定する必要があります ({{ic|/etc/watchdog.conf}} 内の &amp;quot;watchdog-device&amp;quot; 行をアンコメントしてください)。それからデーモンを[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 2 の場合は {{ic|bcm2709_wdog}} モジュールを、Raspberry Pi 3 の場合は {{ic|bcm2835_wdt}} モジュールを使用してください。&lt;br /&gt;
&lt;br /&gt;
=== 軽量なモニタリングスイート ===&lt;br /&gt;
{{AUR|monitorix}} は v3.2.0 から RPi をサポートしています ({{ic|/etc/monitorix/monitorix.conf}} に {{ic|1=raspberrypi = y}} を設定してください)。温度・電圧・周波数などが記録されます。スクリーンショットは[http://www.monitorix.org/screenshots.html ここ] にあります。&lt;br /&gt;
&lt;br /&gt;
== オーバークロック / アンダークロック ==&lt;br /&gt;
{{ic|/boot/config.txt}} を編集することで RPi をオーバークロックさせることができます、RPi 1 の設定例:&lt;br /&gt;
 &lt;br /&gt;
 arm_freq=800&lt;br /&gt;
 arm_freq_min=100&lt;br /&gt;
 core_freq=300&lt;br /&gt;
 core_freq_min=75&lt;br /&gt;
 sdram_freq=400&lt;br /&gt;
 over_voltage=0&lt;br /&gt;
&lt;br /&gt;
RPi 3 の設定例:&lt;br /&gt;
&lt;br /&gt;
 arm_freq=1350&lt;br /&gt;
 core_freq=500&lt;br /&gt;
 sdram_freq=500 # test required &lt;br /&gt;
 over_voltage=4&lt;br /&gt;
&lt;br /&gt;
{{ic|*_min}} の行は任意で、それぞれの設定の最低値を定義します。システムの負担が低い時は、指定した値まで下がります。オプションの詳しい説明や例は elinux の [https://elinux.org/RPiconfig#Overclocking Overclocking] 記事を見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
CPU のオーバークロック設定は、負担が高い時にガバナーが CPU の周波数を上げる場合にだけ適用されます。次のコマンドで現在の CPU の周波数を確認できます:&lt;br /&gt;
 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq&lt;br /&gt;
&lt;br /&gt;
スケーリングガバナーの詳細は [[CPU 周波数スケーリング]]を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|以下のスクリプトを実行すると RPi に設定された全ての周波数が表示されます:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#/bin/bash&lt;br /&gt;
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do&lt;br /&gt;
    echo -e &amp;quot;$src:\t$(/opt/vc/bin/vcgencmd  measure_clock $src)&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SD カードのパフォーマンスを最大化するヒント ==&lt;br /&gt;
&lt;br /&gt;
システムのレスポンスは SD メディアの速度に大きな影響を受けます。特にシステムのアップデートなどディスク I/O に関する処理を行っている際はそれが際立つでしょう。pacman がファイルシステムにファイルを書き出すときに [https://archlinuxarm.org/forum/viewtopic.php?f=64&amp;amp;t=9467 頻繁に停止する] ような場合、RPi や RPi2 の接続バスが足を引っ張っているというよりは、SD (あるいはマイクロ SD) カードがボトルネックとなっている可能性があります。詳しくは[[ベンチマーク#フラッシュメディア]]を参照。UHS-I U3 以上の &amp;quot;Pro&amp;quot; クラスのカードを使うことを推奨します。&lt;br /&gt;
&lt;br /&gt;
一般的なパフォーマンスを上げる方法については[[パフォーマンスの最大化]]や[[ソリッドステートドライブ#SSD の読み書きを最小化するヒント]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 起動時に fsck を有効にする ===&lt;br /&gt;
&lt;br /&gt;
[[fsck#ブート時のチェック]]を見てください。カーネルパラメータは {{ic|/boot/config.txt}} で指定するようにしてください。&lt;br /&gt;
&lt;br /&gt;
== シリアルコンソール ==&lt;br /&gt;
ブートメッセージを見るには、デフォルトの {{ic|/boot/cmdline.txt}} を編集して、{{ic|loglevel}} を {{ic|5}} に変更してください:&lt;br /&gt;
 loglevel=5&lt;br /&gt;
&lt;br /&gt;
{{Note|カーネルのバージョンによっては Pi3 でブートメッセージを表示するには {{ic|1=enable_uart=1}} を {{ic|/boot/cmdline.txt}} に追加する必要があります。他のバージョン (4.9.35 など) では設定によって正しく起動できなくなる場合があります。}}&lt;br /&gt;
&lt;br /&gt;
速度を 115200 から 38400 に変える:&lt;br /&gt;
 console=ttyAMA0,38400 kgdboc=ttyAMA0,38400&lt;br /&gt;
&lt;br /&gt;
getty サービスを起動する:&lt;br /&gt;
 # systemctl start getty@ttyAMA0&lt;br /&gt;
&lt;br /&gt;
ブート時に有効にする:&lt;br /&gt;
 # systemctl enable getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
適当な service リンクを作成する:&lt;br /&gt;
 # ln -s /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
そして PC から接続:&lt;br /&gt;
 # screen /dev/ttyUSB0 38400&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi カメラモジュール ==&lt;br /&gt;
カメラモジュールのコマンドは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージに含まれています - このパッケージはデフォルトでインストールされています。以下のコマンドで使うことができます:&lt;br /&gt;
 $ /opt/vc/bin/raspistill&lt;br /&gt;
 $ /opt/vc/bin/raspivid&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加する必要があります:&lt;br /&gt;
 gpu_mem=128&lt;br /&gt;
 start_file=start_x.elf&lt;br /&gt;
 fixup_file=fixup_x.dat&lt;br /&gt;
&lt;br /&gt;
LED をオフにする設定 (任意):&lt;br /&gt;
 disable_camera_led=1&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合: &lt;br /&gt;
 mmal: mmal_vc_component_enable: failed to enable component: ENOSPC&lt;br /&gt;
 mmal: camera component couldn&#039;t be enabled&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Failed to run camera app. Please check for firmware updates&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下の値を設定してみてください:&lt;br /&gt;
 cma_lwm=&lt;br /&gt;
 cma_hwm=&lt;br /&gt;
 cma_offline_start=&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合:&lt;br /&gt;
&lt;br /&gt;
 mmal: mmal_vc_component_create: failed to create component &#039;vc.ril.camera&#039; (1:ENOMEM)&lt;br /&gt;
 mmal: mmal_component_create_core: could not create component &#039;vc.ril.camera&#039; (1)&lt;br /&gt;
 mmal: Failed to create camera component&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Only 64M of gpu_mem is configured. Try running &amp;quot;sudo raspi-config&amp;quot; and ensure that &amp;quot;memory_split&amp;quot; has a value of 128 or greater&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/modprobe.d/blacklist.conf}} に以下の行を追加してください:&lt;br /&gt;
 blacklist i2c_bcm2708&lt;br /&gt;
&lt;br /&gt;
({{ic|/dev/video0}} を使用する) 標準的なアプリケーションを使うには V4L2 ドライバーをロードする必要があります。以下のように自動ロードファイルを作成することで起動時に自動的にロードさせることが可能です:&lt;br /&gt;
{{hc|/etc/modules-load.d/rpi-camera.conf|bcm2835-v4l2}}&lt;br /&gt;
&lt;br /&gt;
デフォルトでは V4L2 ドライバーを使って録画できる動画の解像度は 1280x720 が最大です。それ以上にしようとすると動画が 4 fps 以下にまで落ち込みます。制限を取り払いたい場合、以下のオプションを追加してください:&lt;br /&gt;
{{hc|head=/etc/modprobe.d/rpi-camera.conf|output=options bcm2835-v4l2 max_video_width=3240 max_video_height=2464}}&lt;br /&gt;
&lt;br /&gt;
== ハードウェア乱数生成器 ==&lt;br /&gt;
Raspberry Pi 用の Arch Linux ARM には &#039;&#039;&#039;rng-tools&#039;&#039;&#039; パッケージがインストールされており、{{ic|bcm2835-rng}} (カーネル 4.4.7 から Raspberry Pi 2 と Raspberry Pi 3 では {{ic|bcm2835_rng}} モジュールに置き換えられています) が起動時にロードされるように設定されています ([https://archlinuxarm.org/forum/viewtopic.php?f=31&amp;amp;t=4993#p27708 こちら] を参照) が、Hardware RNG Entropy Gatherer Daemon (&#039;&#039;&#039;rngd&#039;&#039;&#039;) にハードウェア乱数生成器の場所を教えてやる必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/conf.d/rngd}} を編集することで設定します:&lt;br /&gt;
 RNGD_OPTS=&amp;quot;-o /dev/random -r /dev/hwrng&amp;quot;&lt;br /&gt;
設定したら &#039;&#039;&#039;rngd&#039;&#039;&#039; デーモンを[[再起動]]してください:&lt;br /&gt;
 # systemctl restart rngd&lt;br /&gt;
&lt;br /&gt;
この設定で、ハードウェア乱数生成器からのデータがカーネルのエントロピープール ({{ic|/dev/random}}) に取り入れられるようになります。エントロピーを確認するには:&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/sys/kernel/random/entropy_avail&lt;br /&gt;
&lt;br /&gt;
{{Note|古いイメージからカーネルを更新すると旧式の {{ic|bcm2708-rng}} を見つけられず {{ic|systemd-modules-load.service}} の起動に失敗していることがあります。その場合には {{ic|/etc/modules-load.d/raspberrypi.conf}} を設定し直し、 {{ic|systemd-modules-load.service}} を再起動すると解決します ([https://archlinuxarm.org/forum/viewtopic.php?f&amp;amp;#61;64&amp;amp;t&amp;amp;#61;10153 こちら] を参照)。}}&lt;br /&gt;
&lt;br /&gt;
== I/O ピン ==&lt;br /&gt;
=== GPIO ===&lt;br /&gt;
Python から GPIO ピンを使えるようにするには [https://pypi.python.org/pypi/RPi.GPIO RPi.GPIO] ライブラリを使用します。{{AUR|python-raspberry-gpio}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
=== SPI ===&lt;br /&gt;
{{ic|/dev/spidev*}} デバイスを有効にするには、以下の行をアンコメントしてください:&lt;br /&gt;
{{hc|head=/boot/config.txt|output=&lt;br /&gt;
device_tree_param=spi=on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== I2C ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;i2c-tools&#039;&#039; パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加することで i2c ハードウェアを有効にするようにブートローダーを設定します:&lt;br /&gt;
 dtparam=i2c_arm=on&lt;br /&gt;
&lt;br /&gt;
{{ic|i2c-dev}} と {{ic|i2c-bcm2708}} モジュールを起動時にロードするように設定:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/modules-load.d/raspberrypi.conf|i2c-dev&lt;br /&gt;
i2c-bcm2708}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi を再起動してから次のコマンドを実行してハードウェアアドレスを取得:&lt;br /&gt;
 # i2cdetect -y 0&lt;br /&gt;
&lt;br /&gt;
{{Note|I2C0 ではなく I2C1 ポートを使用する場合、{{ic|i2cdetect -y 1}} を実行して、以下のコマンドで使われている {{ic|i2c-0}} を {{ic|i2c-1}} に置き換える必要があります。}}&lt;br /&gt;
&lt;br /&gt;
そしてデバイスを初期化するように Linux を設定します。以下のコマンドのハードウェアアドレスは先のコマンドで取得したアドレスに置き換えてください (&#039;0x&#039; を前に付けます、例: 0x48)。デバイス名は自由に決めて下さい:&lt;br /&gt;
 # echo &amp;lt;devicename&amp;gt; &amp;lt;hardware address&amp;gt; &amp;gt;/sys/class/i2c-adapter/i2c-0/new_device&lt;br /&gt;
&lt;br /&gt;
dmesg コマンドを使ってカーネルメッセージを確認すると、以下のような新しいエントリが追加されているはずです:&lt;br /&gt;
 i2c-0: new_device: Instantiated device ds1621 at 0x48&lt;br /&gt;
[[lm_sensors]] などのプログラムを使ってセンサーの出力を読み出すことができます。&lt;br /&gt;
&lt;br /&gt;
=== 1-Wire ===&lt;br /&gt;
1-Wire インターフェイスを有効にするには {{ic|/boot/config.txt}} に以下の行を追加して再起動してください:&lt;br /&gt;
 dtoverlay=w1-gpio&lt;br /&gt;
&lt;br /&gt;
== RPi でのコンパイル ==&lt;br /&gt;
&lt;br /&gt;
RPi 上でのコンパイルは非常に低速です。ネットワーク上に他のノードが存在する場合 [[Distcc]] を使うことでコンパイル時間を大幅に短縮できます。x86_64 や i686 のマシンを使っている場合、[[Distcc#Arch Linux ARM]] に既存のマシンを活用して distcc をセットアップする方法が書かれています。&lt;br /&gt;
&lt;br /&gt;
== QEMU chroot ==&lt;br /&gt;
&lt;br /&gt;
場合によっては Raspberry Pi を動かすよりもディスクイメージを直接操作したほうが楽だということもあるでしょう。RPi の root パーティションが含まれている SD カードをマウントして、そこに chroot することで直接操作することができます。chroot からは、&#039;&#039;pacman&#039;&#039; を実行してパッケージをインストールしたり、巨大なライブラリをコンパイルすることが可能です。実行可能ファイルは ARM アーキテクチャ用のものなので、[[QEMU]] を使って x86 への変換を行う必要があります。&lt;br /&gt;
&lt;br /&gt;
64ビットの Raspberry Pi では {{ic|aarch64}} を使うことができます。他のモデルでは {{ic|arm}} を使ってください。&lt;br /&gt;
&lt;br /&gt;
[[AUR]] から {{AUR|binfmt-support}} と {{AUR|qemu-user-static}} をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
そして {{ic|binfmt-support}} サービスを起動・有効化してください:&lt;br /&gt;
 # systemctl enable binfmt-support&lt;br /&gt;
 # systemctl start binfmt-support&lt;br /&gt;
&lt;br /&gt;
{{AUR|qemu-user-static}} はコンパイルしたプログラムを他のアーキテクチャから実行するのに必要となります。{{Pkg|qemu-arch-extra}} と似たような機能ですが、chroot で使うには &amp;quot;static&amp;quot; なバージョンが必要です。例:&lt;br /&gt;
 qemu-arm-static path_to_sdcard/usr/bin/ls&lt;br /&gt;
 qemu-aarch64-static path_to_sdcard/usr/bin/ls&lt;br /&gt;
&lt;br /&gt;
上記のコマンドで32ビットの ARM と64ビットの ARM 用にコンパイルされた {{ic|ls}} を実行できます。ホスト環境に存在しないライブラリを使うため、chroot を使わないと機能しません。&lt;br /&gt;
&lt;br /&gt;
{{AUR|qemu-user-static}} は ARM の実行ファイルに自動的に {{ic|qemu-arm-static}} または {{ic|qemu-aarch64-static}} を前に付けます。{{ic|/var/lib/binfmts/qemu-arm}} や {{ic|qemu-user-static}} の [https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=qemu-user-static#n38 PKGBUILD] などを見てください。&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効かどうか確認:&lt;br /&gt;
&lt;br /&gt;
 # update-binfmts --display qemu-arm&lt;br /&gt;
 # update-binfmts --display qemu-aarch64&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効でない場合、update-binfmts を使って有効にしてください:&lt;br /&gt;
 # update-binfmts --enable qemu-arm&lt;br /&gt;
 # update-binfmts --enable qemu-aarch64&lt;br /&gt;
&lt;br /&gt;
SD カードを {{ic|mnt/}} にマウントします (デバイス名は適宜置き換えてください)。&lt;br /&gt;
&lt;br /&gt;
 # mkdir mnt&lt;br /&gt;
 # mount /dev/mmcblk0p2 mnt&lt;br /&gt;
&lt;br /&gt;
必要であればブートパーティションをマウントしてください (デバイス名は適当な名前に置き換えてください):&lt;br /&gt;
&lt;br /&gt;
 # mount /dev/mmcblk0p1 mnt/boot&lt;br /&gt;
&lt;br /&gt;
(ARM からの変換を処理する) QEMU の実行可能ファイルを SD カードにコピーしてください:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/bin/qemu-arm-static /usr/bin/qemu-aarch64-static mnt/usr/bin&lt;br /&gt;
&lt;br /&gt;
最後に [[Change Root#chroot を使う]]に書かれているように SD カードの root に chroot してください:&lt;br /&gt;
&lt;br /&gt;
 # chroot mnt/ /bin/bash&lt;br /&gt;
&lt;br /&gt;
{{Pkg|arch-install-scripts}} に含まれている {{ic|arch-chroot}} を使うこともできます (ネットワークのサポートが含まれています):&lt;br /&gt;
 # arch-chroot mnt/ /bin/bash&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://www.raspberrypi.org Raspberry Pi] - 公式ウェブサイト&lt;br /&gt;
* [https://elinux.org/RPiconfig RPi Config] - ボンネットの下の設定に関連する情報がまとまっています&lt;br /&gt;
* [https://elinux.org/RPI_vcgencmd_usage RPi vcgencmd usage] - ファームウェアコマンドの vcgencmd の概要&lt;/div&gt;</summary>
		<author><name>Keita</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=15068</id>
		<title>Raspberry Pi</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Raspberry_Pi&amp;diff=15068"/>
		<updated>2019-10-12T08:29:31Z</updated>

		<summary type="html">&lt;p&gt;Keita: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ARM アーキテクチャ]]&lt;br /&gt;
[[cs:Raspberry Pi]]&lt;br /&gt;
[[en:Raspberry Pi]]&lt;br /&gt;
[[ru:Raspberry Pi]]&lt;br /&gt;
[[uk:Raspberry Pi]]&lt;br /&gt;
[[zh-hans:Raspberry Pi]]&lt;br /&gt;
[[Wikipedia:ja:Raspberry Pi|Wikipedia]] より:&lt;br /&gt;
:&amp;quot;&#039;&#039;Raspberry Pi はクレジットカードサイズのシングルボードコンピュータのシリーズである。イギリスのラズベリーパイ財団によって開発されており、学校で基本的なコンピュータ科学の教育を促進することを意図している。&#039;&#039;&amp;quot;&lt;br /&gt;
オリジナルモデルは Broadcom SoC BCM2835 ([[Wikipedia:ARM11|ARM11 マイクロアーキテクチャ]]) を使用していましたが、ラズベリーパイ財団は最近になってニューモデルの &amp;quot;Raspberry Pi 2&amp;quot; をリリースしました。RasPi 2 には BCM2836 SoC (クアッドコアの [[Wikipedia:ARM_Cortex-A7|ARM Cortex A7]] アーキテクチャ) が搭載されています。2016年2月には、BCM2837 SoC (クアッドコアの [[Wikipedia:ARM Cortex-A53|ARM Cortex-A53 アーキテクチャ]]) を搭載して WiFi と Bluetooth が組み込まれた Pi 3 が発売されました。&lt;br /&gt;
&lt;br /&gt;
== 前書き ==&lt;br /&gt;
この記事は完全なセットアップガイドではなく、読者が既に Arch システムを構築していることを前提としています。ユーザーの作成やシステムの管理など、基本的な作業の方法がよくわからない場合、Arch 初心者は[[一般的な推奨事項]]を読むことが推奨されています。&lt;br /&gt;
&lt;br /&gt;
{{Note|ARM アーキテクチャのサポートは公式 Arch Linux フォーラムではなく https://archlinuxarm.org で提供されています。ARM 固有の問題に関する投稿は [[フォーラムエチケット#Arch Linux ディストリビューションのサポートオンリー|Arch Linux ディストリビューションのサポートオンリー]]ポリシーに従って直ちにクローズされます。}}&lt;br /&gt;
&lt;br /&gt;
== システム構成 ==&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi は ARM ベースのデバイスであり、ARM アーキテクチャ用にコンパイルされたバイナリが必要になります。ARM 用のバイナリは Arch Linux を ARM ベースのデバイスに移植している [https://archlinuxarm.org/about Arch Linux ARM プロジェクト] によって提供されています。ALARM プロジェクトのウェブサイトには独自のコミュニティとフォーラムがあります。オリジナルの Arch のフォーラムでは ARM に関連する問題は&#039;&#039;サポートされていません&#039;&#039;。Raspberry Pi 2 が登場したことで、デバイスのアーキテクチャによって必要なパッケージは2つに分かれています:&lt;br /&gt;
* ARMv6 (BCM2835): Raspberry Pi Model A, A+, B, B+, Zero, Zero W&lt;br /&gt;
* ARMv7 (BCM2836): Raspberry Pi 2 (Model B+ ベース)&lt;br /&gt;
* ARMv8 (BCM2837): Raspberry Pi 3&lt;br /&gt;
&lt;br /&gt;
== Arch Linux ARM のインストール ==&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi ===&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv6/raspberry-pi Arch Linux ARM Pi のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 2 ===&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv7/broadcom/raspberry-pi-2 Arch Linux ARM Pi2 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 3 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Raspberry Pi 3 は Raspberry Pi 2 よりも使用電力が多くなっています。公式では 2.5A の電源供給が推奨されています。電源供給が不十分だと予期不可能なエラーやファイルシステムの破損が発生する可能性があります。&lt;br /&gt;
* RPi3 は ARMv7 (32ビット) または AArch64 (64ビット) アーキテクチャのどちらでも動作しますが、AArch64 にはメーカーによるライブラリや拡張、関連ソフトウェアなどのサポートが整っていません。また、一部のハードウェアが上手く動かなかったりする可能性があります。現時点では ARMv7 を使用することを推奨します。}}&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3 Arch Linux ARM Pi3 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
=== Raspberry Pi 4 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* Raspberry Pi 4 は Raspberry Pi 3 よりもさらに使用電力が多くなっています。公式では 5V, 3A の電源供給が推奨されています。電源供給が不十分だと予期不可能なエラーやファイルシステムの破損が発生する可能性があります。&lt;br /&gt;
* RPi4 は ARMv8 (64ビット) で動作します。&lt;br /&gt;
&lt;br /&gt;
[https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-4 Arch Linux ARM Pi4 のドキュメント] を見てください。&lt;br /&gt;
&lt;br /&gt;
==== ARM インストール ====&lt;br /&gt;
Raspberry Pi 2 以前でビルドされたソフトウェア、特にベンダーライブラリを必要とするソフトウェアと互換性を持っています。&lt;br /&gt;
&lt;br /&gt;
以下のコマンドで使われる {{ic|sdX}} は実際にコンピュータで認識された SD カードのデバイス名に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
fdisk を起動して SD カードのパーティショニングを開始:&lt;br /&gt;
 # fdisk /dev/sdX&lt;br /&gt;
fdisk プロンプトが表示されたら、古いパーティションを削除して新しいパーティションを作成します:&lt;br /&gt;
* o を押してください。ドライブ上の全てのパーティションが消去されます。&lt;br /&gt;
* p を押してパーティションを確認してください。パーティションがひとつも存在しないはずです。&lt;br /&gt;
* n を押してから、p でプライマリパーティションを選択、1 でドライブの一番最初のパーティションを選択し、最初のセクタは ENTER でデフォルトに、最後のセクタは +100M と入力します。&lt;br /&gt;
* t を押してから c を押して最初のパーティションのタイプを W95 FAT32 (LBA) に設定してください。&lt;br /&gt;
* n を押してから、p でプライマリパーティションを選択、2 でドライブの二番目のパーティションを選択し、最初・最後のセクタは ENTER を2回押してデフォルトに設定します。&lt;br /&gt;
* w を押してパーティションテーブルに書き込んで終了してください。&lt;br /&gt;
FAT ファイルシステムを作成・マウント:&lt;br /&gt;
 # mkfs.vfat /dev/sdX1&lt;br /&gt;
 # mkdir boot&lt;br /&gt;
 # mount /dev/sdX1 boot&lt;br /&gt;
ext4 ファイルシステムを作成・マウント:&lt;br /&gt;
 # mkfs.ext4 /dev/sdX2&lt;br /&gt;
 # mkdir root&lt;br /&gt;
 # mount /dev/sdX2 root&lt;br /&gt;
root ファイルシステムをダウンロードして展開 (sudo ではなく root ユーザーで実行してください):&lt;br /&gt;
 # wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz&lt;br /&gt;
 # bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root&lt;br /&gt;
 # sync&lt;br /&gt;
ブートファイルを一番目のパーティションに移動:&lt;br /&gt;
 # mv root/boot/* boot&lt;br /&gt;
パーティションをアンマウント:&lt;br /&gt;
 # umount boot root&lt;br /&gt;
Rasberry Pi に SD カードを挿入して、有線を接続し、5V 電力を供給してください。&lt;br /&gt;
&lt;br /&gt;
シリアルコンソールあるいは SSH を使ってルーターからボードに割り当てられた IP アドレスに接続します。デフォルトのユーザー名は alarm でパスワードは同じく alarm です。デフォルトの root パスワードは root です。&lt;br /&gt;
&lt;br /&gt;
==== AArch64 インストール ====&lt;br /&gt;
メインラインカーネルと U-Boot を使ってインストールすることができます。ベンダーが提供しているライブラリや拡張、ソフトウェアのサポートはありません。ボードに搭載されているハードウェアの一部が機能しなかったり、正しく動かなかったりすることがあります。&lt;br /&gt;
&lt;br /&gt;
インストール手順は上記と同じですが、次の tarball を使ってください: http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-3-latest.tar.gz&lt;br /&gt;
&lt;br /&gt;
== ネットワーク ==&lt;br /&gt;
&lt;br /&gt;
ネットワークはあらかじめ設定されており、[[systemd-networkd]] によって dhcp モードでオンボードの NIC が使われます。ケーブルが接続されていれば、ほとんどのルーターで自動的に IP が取得されます。&lt;br /&gt;
&lt;br /&gt;
最初から [[Secure Shell]] を使って SD カードにアクセスする場合は、Raspberry Pi をイーサネットケーブルで接続してルーターの設定を通して IP アドレスを割り当てるのが一番簡単です。デフォルトのホストネームは &#039;&#039;&#039;alarmpi&#039;&#039;&#039; です。root で直接アクセスすることができます (パスワード: root)。まず初めにパスワードを変更することを強く推奨します。任意で [[SSH 鍵]]も設定してください。&lt;br /&gt;
&lt;br /&gt;
=== Ethernet を使わずに WLAN を設定 ===&lt;br /&gt;
&lt;br /&gt;
無線インターネット接続を確立する必要がある場合、いくつかパッケージを追加でダウンロードして SD カードに保存する必要があります。[[netctl]] を使用する場合、最低でも [[WPA supplicant]] と依存パッケージの &#039;&#039;libnl&#039;&#039; が必要になります。また、&#039;&#039;dialog&#039;&#039; と依存パッケージの &#039;&#039;ncurses&#039;&#039; もインストールしておいたほうが便利でしょう。&lt;br /&gt;
&lt;br /&gt;
まとめると以下を実行する必要があります:&lt;br /&gt;
* 他のコンピュータから SD カードにパッケージをダウンロード&lt;br /&gt;
* Raspberry Pi にパッケージをインストール・設定&lt;br /&gt;
&lt;br /&gt;
必要なパッケージは全て [https://archlinuxarm.org/packages Arch Linux ARM の公式ウェブサイト] で見つけることができ、[http://mirror.archlinuxarm.org Arch Linux ARM のリポジトリ] からダウンロードできます。&lt;br /&gt;
&lt;br /&gt;
その後、Raspberry Pi を接続して立ち上げて、モニター/キーボードを使うか[[#シリアルコンソール|シリアルコンソール]]でログインします。そして、パッケージを[[パッケージのオフラインインストール|オフラインインストール]]してください。パッケージの依存パッケージが欠けている場合は、依存パッケージもダウンロードしてインストールしてください。&lt;br /&gt;
&lt;br /&gt;
[[ワイヤレス設定]]も読んでください。&lt;br /&gt;
&lt;br /&gt;
== オーディオ ==&lt;br /&gt;
{{Note|必須モジュール {{ic|snd-bcm2835}} はデフォルトで自動ロードされます。}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;alsa-utils&#039;&#039;&#039;, &#039;&#039;&#039;alsa-firmware&#039;&#039;&#039;, &#039;&#039;&#039;alsa-lib&#039;&#039;&#039;, &#039;&#039;&#039;alsa-plugins&#039;&#039;&#039; パッケージをインストールしてください:&lt;br /&gt;
 # pacman -S alsa-utils alsa-firmware alsa-lib alsa-plugins&lt;br /&gt;
&lt;br /&gt;
ARM の Linux カーネルバージョン 4.4.x では ALSA とサウンドモジュールに大きな変更があります。最新のカーネルで {{ic|alsamixer}} などのツールを使用するには {{ic|/boot/config.txt}} を編集して以下の行を記述してください:&lt;br /&gt;
 dtparam=audio=on&lt;br /&gt;
&lt;br /&gt;
任意で、{{ic|alsamixer}} を使ってデフォルトのボリュームを調整してください。唯一の音源 &amp;quot;PCM&amp;quot; がミュートされていないことを確認してください (ミュートされている場合は {{ic|MM}} と表示されます、ミュートを解除するには {{ic|M}} を押して下さい)。&lt;br /&gt;
&lt;br /&gt;
音源の出力を選択するには:&lt;br /&gt;
 $ amixer cset numid=3 &#039;&#039;x&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;x&#039;&#039;}} は以下のどれかになります:&lt;br /&gt;
*0 は自動&lt;br /&gt;
*1 はアナログ出力&lt;br /&gt;
*2 は HDMI&lt;br /&gt;
&lt;br /&gt;
=== HDMI オーディオの注意 ===&lt;br /&gt;
アプリケーションによっては音声を HDMI で出力するために {{ic|/boot/config.txt}} に設定が必要です:&lt;br /&gt;
 hdmi_drive=2&lt;br /&gt;
&lt;br /&gt;
=== アナログ出力の注意 ===&lt;br /&gt;
3.5mm のアナログ出力からの音声がかすれることがあります。以下を {{ic|/boot/config.txt}} に追加することで問題は解決します:&lt;br /&gt;
 audio_pwm_mode=2&lt;br /&gt;
&lt;br /&gt;
== ビデオ ==&lt;br /&gt;
&lt;br /&gt;
=== CPU/GPU のメモリ分割 ===&lt;br /&gt;
SoC に搭載されている CPU と GPU のメモリの振り分けは {{ic|boot/config.txt}} 内の {{ic|gpu_mem}} パラメータで設定できます。GPU から利用できるメモリの量を MB 単位で指定してください (最低 16 MB、デフォルトは 64 MB)。残りは全て ARM CPU から使用されます。&lt;br /&gt;
&lt;br /&gt;
=== HDMI / アナログ TV 出力 ===&lt;br /&gt;
デフォルト設定では、Raspberry Pi は [[wikipedia:ja:HDMI|HDMI]] モニターが接続されているときは HDMI を使うようになっています。接続されていない場合はアナログ TV 出力 (コンポジット出力あるいは RCA) が使われます。&lt;br /&gt;
&lt;br /&gt;
HDMI やアナログ TV 出力のオン・オフを切り替えるには、次を見て下さい:&lt;br /&gt;
&lt;br /&gt;
 /opt/vc/bin/tvservice&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;-s&#039;&#039; パラメータでディスプレイの状態を確認し、&#039;&#039;-o&#039;&#039; パラメータでディスプレイをオフに、&#039;&#039;-p&#039;&#039; パラメータで優先設定を使って HDMI をオンにします。&lt;br /&gt;
&lt;br /&gt;
オーバースキャン・アンダースキャンを適切に修正するには調整が必要で、多くの設定がある {{ic|boot/config.txt}} で簡単に行うことができます。修正するには、コメントの指示に従って適切な行の設定をアンコメントしてください:&lt;br /&gt;
&lt;br /&gt;
 # uncomment the following to adjust overscan. Use positive numbers if console&lt;br /&gt;
 # goes off screen, and negative if there is too much border&lt;br /&gt;
 #overscan_left=16&lt;br /&gt;
 overscan_right=8&lt;br /&gt;
 overscan_top=-16&lt;br /&gt;
 overscan_bottom=-16&lt;br /&gt;
&lt;br /&gt;
もしくは、TV やモニターに「画面に合わせる」オプションが存在して、オーバースキャンを無効化したい場合:&lt;br /&gt;
&lt;br /&gt;
 disable_overscan=1&lt;br /&gt;
&lt;br /&gt;
アナログビデオ出力を使いたいユーザーは NTSC 以外の出力のオプションを含んでいる[https://raw.github.com/Evilpaul/RPi-config/master/config.txt この]設定ファイルを見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
=== アナログ TV 出力の注意事項 ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 1 モデル B+ と Raspberry Pi 2 モデル B から、コンポジットビデオ端子はなくなって、代わりに 3.5mm の動画/音声ジャックからコンポジット信号を出力するようになっています。RCA ケーブルによっては赤や白の音声端子で動画を接続する Raspberry Pi の規格に対応していない場合があります [http://www.raspberrypi-spy.co.uk/2014/07/raspberry-pi-model-b-3-5mm-audiovideo-jack/]。&lt;br /&gt;
&lt;br /&gt;
=== X.org ドライバー ===&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi の X.org ドライバーは &#039;&#039;&#039;xf86-video-fbdev&#039;&#039;&#039; あるいは &#039;&#039;xf86-video-fbturbo-git&#039;&#039; パッケージでインストールできます:&lt;br /&gt;
 # pacman -S xf86-video-fbdev&lt;br /&gt;
&lt;br /&gt;
== オンボードのハードウェアセンサー ==&lt;br /&gt;
=== 温度 ===&lt;br /&gt;
温度センサーは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージにあるユーティリティで使うことができます。RPi は BCM2835 SoC (CPU/GPU) 上にセンサーを搭載しています:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ /opt/vc/bin/vcgencmd measure_temp|2=&lt;br /&gt;
temp=49.8&#039;C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
また、ファイルシステムから読み取ることもできます:&lt;br /&gt;
{{hc|$ cat /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
49768&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
人間が読めるように出力するには:&lt;br /&gt;
{{hc|$ awk &#039;{printf &amp;quot;%3.1f°C\n&amp;quot;, $1/1000}&#039; /sys/class/thermal/thermal_zone0/temp|2=&lt;br /&gt;
54.1°C&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 電圧 ===&lt;br /&gt;
同じように {{ic|/opt/vc/bin/vcgencmd}} で4つの異なる電圧をチェックすることができます:&lt;br /&gt;
&lt;br /&gt;
 $ /opt/vc/bin/vcgencmd measure_volts &#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{ic|&#039;&#039;&amp;lt;id&amp;gt;&#039;&#039;}} は以下のどれかに置き換えてください:&lt;br /&gt;
*core はコアの電圧&lt;br /&gt;
*sdram_c は sdram Core の電圧&lt;br /&gt;
*sdram_i は sdram I/O の電圧&lt;br /&gt;
*sdram_p は sdram PHY の電圧&lt;br /&gt;
&lt;br /&gt;
=== ウォッチドッグ ===&lt;br /&gt;
BCM2708 にはハードウェアウォッチドッグが搭載されており {{ic|bcm2708_wdog}} [[カーネルモジュール]]を有効にすることで利用できます。&lt;br /&gt;
&lt;br /&gt;
適切に扱うには {{ic|watchdog}} デーモンをインストールして設定する必要があります ({{ic|/etc/watchdog.conf}} 内の &amp;quot;watchdog-device&amp;quot; 行をアンコメントしてください)。それからデーモンを[[有効化]]してください。&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi 2 の場合は {{ic|bcm2709_wdog}} モジュールを、Raspberry Pi 3 の場合は {{ic|bcm2835_wdt}} モジュールを使用してください。&lt;br /&gt;
&lt;br /&gt;
=== 軽量なモニタリングスイート ===&lt;br /&gt;
{{AUR|monitorix}} は v3.2.0 から RPi をサポートしています ({{ic|/etc/monitorix/monitorix.conf}} に {{ic|1=raspberrypi = y}} を設定してください)。温度・電圧・周波数などが記録されます。スクリーンショットは[http://www.monitorix.org/screenshots.html ここ] にあります。&lt;br /&gt;
&lt;br /&gt;
== オーバークロック / アンダークロック ==&lt;br /&gt;
{{ic|/boot/config.txt}} を編集することで RPi をオーバークロックさせることができます、RPi 1 の設定例:&lt;br /&gt;
 &lt;br /&gt;
 arm_freq=800&lt;br /&gt;
 arm_freq_min=100&lt;br /&gt;
 core_freq=300&lt;br /&gt;
 core_freq_min=75&lt;br /&gt;
 sdram_freq=400&lt;br /&gt;
 over_voltage=0&lt;br /&gt;
&lt;br /&gt;
RPi 3 の設定例:&lt;br /&gt;
&lt;br /&gt;
 arm_freq=1350&lt;br /&gt;
 core_freq=500&lt;br /&gt;
 sdram_freq=500 # test required &lt;br /&gt;
 over_voltage=4&lt;br /&gt;
&lt;br /&gt;
{{ic|*_min}} の行は任意で、それぞれの設定の最低値を定義します。システムの負担が低い時は、指定した値まで下がります。オプションの詳しい説明や例は elinux の [https://elinux.org/RPiconfig#Overclocking Overclocking] 記事を見て下さい。&lt;br /&gt;
&lt;br /&gt;
新しい設定を適用するには再起動が必要です。&lt;br /&gt;
&lt;br /&gt;
CPU のオーバークロック設定は、負担が高い時にガバナーが CPU の周波数を上げる場合にだけ適用されます。次のコマンドで現在の CPU の周波数を確認できます:&lt;br /&gt;
 $ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq&lt;br /&gt;
&lt;br /&gt;
スケーリングガバナーの詳細は [[CPU 周波数スケーリング]]を見てください。&lt;br /&gt;
&lt;br /&gt;
{{Tip|以下のスクリプトを実行すると RPi に設定された全ての周波数が表示されます:&lt;br /&gt;
{{bc|&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#/bin/bash&lt;br /&gt;
for src in arm core h264 isp v3d uart pwm emmc pixel vec hdmi dpi ; do&lt;br /&gt;
    echo -e &amp;quot;$src:\t$(/opt/vc/bin/vcgencmd  measure_clock $src)&amp;quot;&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== SD カードのパフォーマンスを最大化するヒント ==&lt;br /&gt;
&lt;br /&gt;
システムのレスポンスは SD メディアの速度に大きな影響を受けます。特にシステムのアップデートなどディスク I/O に関する処理を行っている際はそれが際立つでしょう。pacman がファイルシステムにファイルを書き出すときに [https://archlinuxarm.org/forum/viewtopic.php?f=64&amp;amp;t=9467 頻繁に停止する] ような場合、RPi や RPi2 の接続バスが足を引っ張っているというよりは、SD (あるいはマイクロ SD) カードがボトルネックとなっている可能性があります。詳しくは[[ベンチマーク#フラッシュメディア]]を参照。UHS-I U3 以上の &amp;quot;Pro&amp;quot; クラスのカードを使うことを推奨します。&lt;br /&gt;
&lt;br /&gt;
一般的なパフォーマンスを上げる方法については[[パフォーマンスの最大化]]や[[ソリッドステートドライブ#SSD の読み書きを最小化するヒント]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
=== 起動時に fsck を有効にする ===&lt;br /&gt;
&lt;br /&gt;
[[fsck#ブート時のチェック]]を見てください。カーネルパラメータは {{ic|/boot/config.txt}} で指定するようにしてください。&lt;br /&gt;
&lt;br /&gt;
== シリアルコンソール ==&lt;br /&gt;
ブートメッセージを見るには、デフォルトの {{ic|/boot/cmdline.txt}} を編集して、{{ic|loglevel}} を {{ic|5}} に変更してください:&lt;br /&gt;
 loglevel=5&lt;br /&gt;
&lt;br /&gt;
{{Note|カーネルのバージョンによっては Pi3 でブートメッセージを表示するには {{ic|1=enable_uart=1}} を {{ic|/boot/cmdline.txt}} に追加する必要があります。他のバージョン (4.9.35 など) では設定によって正しく起動できなくなる場合があります。}}&lt;br /&gt;
&lt;br /&gt;
速度を 115200 から 38400 に変える:&lt;br /&gt;
 console=ttyAMA0,38400 kgdboc=ttyAMA0,38400&lt;br /&gt;
&lt;br /&gt;
getty サービスを起動する:&lt;br /&gt;
 # systemctl start getty@ttyAMA0&lt;br /&gt;
&lt;br /&gt;
ブート時に有効にする:&lt;br /&gt;
 # systemctl enable getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
適当な service リンクを作成する:&lt;br /&gt;
 # ln -s /usr/lib/systemd/system/serial-getty@.service /etc/systemd/system/getty.target.wants/serial-getty@ttyAMA0.service&lt;br /&gt;
&lt;br /&gt;
そして PC から接続:&lt;br /&gt;
 # screen /dev/ttyUSB0 38400&lt;br /&gt;
&lt;br /&gt;
== Raspberry Pi カメラモジュール ==&lt;br /&gt;
カメラモジュールのコマンドは &#039;&#039;&#039;raspberrypi-firmware&#039;&#039;&#039; パッケージに含まれています - このパッケージはデフォルトでインストールされています。以下のコマンドで使うことができます:&lt;br /&gt;
 $ /opt/vc/bin/raspistill&lt;br /&gt;
 $ /opt/vc/bin/raspivid&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加する必要があります:&lt;br /&gt;
 gpu_mem=128&lt;br /&gt;
 start_file=start_x.elf&lt;br /&gt;
 fixup_file=fixup_x.dat&lt;br /&gt;
&lt;br /&gt;
LED をオフにする設定 (任意):&lt;br /&gt;
 disable_camera_led=1&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合: &lt;br /&gt;
 mmal: mmal_vc_component_enable: failed to enable component: ENOSPC&lt;br /&gt;
 mmal: camera component couldn&#039;t be enabled&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Failed to run camera app. Please check for firmware updates&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下の値を設定してみてください:&lt;br /&gt;
 cma_lwm=&lt;br /&gt;
 cma_hwm=&lt;br /&gt;
 cma_offline_start=&lt;br /&gt;
&lt;br /&gt;
以下のエラーが表示される場合:&lt;br /&gt;
&lt;br /&gt;
 mmal: mmal_vc_component_create: failed to create component &#039;vc.ril.camera&#039; (1:ENOMEM)&lt;br /&gt;
 mmal: mmal_component_create_core: could not create component &#039;vc.ril.camera&#039; (1)&lt;br /&gt;
 mmal: Failed to create camera component&lt;br /&gt;
 mmal: main: Failed to create camera component&lt;br /&gt;
 mmal: Only 64M of gpu_mem is configured. Try running &amp;quot;sudo raspi-config&amp;quot; and ensure that &amp;quot;memory_split&amp;quot; has a value of 128 or greater&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/modprobe.d/blacklist.conf}} に以下の行を追加してください:&lt;br /&gt;
 blacklist i2c_bcm2708&lt;br /&gt;
&lt;br /&gt;
({{ic|/dev/video0}} を使用する) 標準的なアプリケーションを使うには V4L2 ドライバーをロードする必要があります。以下のように自動ロードファイルを作成することで起動時に自動的にロードさせることが可能です:&lt;br /&gt;
{{hc|/etc/modules-load.d/rpi-camera.conf|bcm2835-v4l2}}&lt;br /&gt;
&lt;br /&gt;
デフォルトでは V4L2 ドライバーを使って録画できる動画の解像度は 1280x720 が最大です。それ以上にしようとすると動画が 4 fps 以下にまで落ち込みます。制限を取り払いたい場合、以下のオプションを追加してください:&lt;br /&gt;
{{hc|head=/etc/modprobe.d/rpi-camera.conf|output=options bcm2835-v4l2 max_video_width=3240 max_video_height=2464}}&lt;br /&gt;
&lt;br /&gt;
== ハードウェア乱数生成器 ==&lt;br /&gt;
Raspberry Pi 用の Arch Linux ARM には &#039;&#039;&#039;rng-tools&#039;&#039;&#039; パッケージがインストールされており、{{ic|bcm2835-rng}} (カーネル 4.4.7 から Raspberry Pi 2 と Raspberry Pi 3 では {{ic|bcm2835_rng}} モジュールに置き換えられています) が起動時にロードされるように設定されています ([https://archlinuxarm.org/forum/viewtopic.php?f=31&amp;amp;t=4993#p27708 こちら] を参照) が、Hardware RNG Entropy Gatherer Daemon (&#039;&#039;&#039;rngd&#039;&#039;&#039;) にハードウェア乱数生成器の場所を教えてやる必要があります。&lt;br /&gt;
&lt;br /&gt;
{{ic|/etc/conf.d/rngd}} を編集することで設定します:&lt;br /&gt;
 RNGD_OPTS=&amp;quot;-o /dev/random -r /dev/hwrng&amp;quot;&lt;br /&gt;
設定したら &#039;&#039;&#039;rngd&#039;&#039;&#039; デーモンを[[再起動]]してください:&lt;br /&gt;
 # systemctl restart rngd&lt;br /&gt;
&lt;br /&gt;
この設定で、ハードウェア乱数生成器からのデータがカーネルのエントロピープール ({{ic|/dev/random}}) に取り入れられるようになります。エントロピーを確認するには:&lt;br /&gt;
&lt;br /&gt;
 # cat /proc/sys/kernel/random/entropy_avail&lt;br /&gt;
&lt;br /&gt;
{{Note|古いイメージからカーネルを更新すると旧式の {{ic|bcm2708-rng}} を見つけられず {{ic|systemd-modules-load.service}} の起動に失敗していることがあります。その場合には {{ic|/etc/modules-load.d/raspberrypi.conf}} を設定し直し、 {{ic|systemd-modules-load.service}} を再起動すると解決します ([https://archlinuxarm.org/forum/viewtopic.php?f&amp;amp;#61;64&amp;amp;t&amp;amp;#61;10153 こちら] を参照)。}}&lt;br /&gt;
&lt;br /&gt;
== I/O ピン ==&lt;br /&gt;
=== GPIO ===&lt;br /&gt;
Python から GPIO ピンを使えるようにするには [https://pypi.python.org/pypi/RPi.GPIO RPi.GPIO] ライブラリを使用します。{{AUR|python-raspberry-gpio}} パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
=== SPI ===&lt;br /&gt;
{{ic|/dev/spidev*}} デバイスを有効にするには、以下の行をアンコメントしてください:&lt;br /&gt;
{{hc|head=/boot/config.txt|output=&lt;br /&gt;
device_tree_param=spi=on&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== I2C ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;i2c-tools&#039;&#039; パッケージをインストールしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|/boot/config.txt}} に以下を追加することで i2c ハードウェアを有効にするようにブートローダーを設定します:&lt;br /&gt;
 dtparam=i2c_arm=on&lt;br /&gt;
&lt;br /&gt;
{{ic|i2c-dev}} と {{ic|i2c-bcm2708}} モジュールを起動時にロードするように設定:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/modules-load.d/raspberrypi.conf|i2c-dev&lt;br /&gt;
i2c-bcm2708}}&lt;br /&gt;
&lt;br /&gt;
Raspberry Pi を再起動してから次のコマンドを実行してハードウェアアドレスを取得:&lt;br /&gt;
 # i2cdetect -y 0&lt;br /&gt;
&lt;br /&gt;
{{Note|I2C0 ではなく I2C1 ポートを使用する場合、{{ic|i2cdetect -y 1}} を実行して、以下のコマンドで使われている {{ic|i2c-0}} を {{ic|i2c-1}} に置き換える必要があります。}}&lt;br /&gt;
&lt;br /&gt;
そしてデバイスを初期化するように Linux を設定します。以下のコマンドのハードウェアアドレスは先のコマンドで取得したアドレスに置き換えてください (&#039;0x&#039; を前に付けます、例: 0x48)。デバイス名は自由に決めて下さい:&lt;br /&gt;
 # echo &amp;lt;devicename&amp;gt; &amp;lt;hardware address&amp;gt; &amp;gt;/sys/class/i2c-adapter/i2c-0/new_device&lt;br /&gt;
&lt;br /&gt;
dmesg コマンドを使ってカーネルメッセージを確認すると、以下のような新しいエントリが追加されているはずです:&lt;br /&gt;
 i2c-0: new_device: Instantiated device ds1621 at 0x48&lt;br /&gt;
[[lm_sensors]] などのプログラムを使ってセンサーの出力を読み出すことができます。&lt;br /&gt;
&lt;br /&gt;
=== 1-Wire ===&lt;br /&gt;
1-Wire インターフェイスを有効にするには {{ic|/boot/config.txt}} に以下の行を追加して再起動してください:&lt;br /&gt;
 dtoverlay=w1-gpio&lt;br /&gt;
&lt;br /&gt;
== RPi でのコンパイル ==&lt;br /&gt;
&lt;br /&gt;
RPi 上でのコンパイルは非常に低速です。ネットワーク上に他のノードが存在する場合 [[Distcc]] を使うことでコンパイル時間を大幅に短縮できます。x86_64 や i686 のマシンを使っている場合、[[Distcc#Arch Linux ARM]] に既存のマシンを活用して distcc をセットアップする方法が書かれています。&lt;br /&gt;
&lt;br /&gt;
== QEMU chroot ==&lt;br /&gt;
&lt;br /&gt;
場合によっては Raspberry Pi を動かすよりもディスクイメージを直接操作したほうが楽だということもあるでしょう。RPi の root パーティションが含まれている SD カードをマウントして、そこに chroot することで直接操作することができます。chroot からは、&#039;&#039;pacman&#039;&#039; を実行してパッケージをインストールしたり、巨大なライブラリをコンパイルすることが可能です。実行可能ファイルは ARM アーキテクチャ用のものなので、[[QEMU]] を使って x86 への変換を行う必要があります。&lt;br /&gt;
&lt;br /&gt;
64ビットの Raspberry Pi では {{ic|aarch64}} を使うことができます。他のモデルでは {{ic|arm}} を使ってください。&lt;br /&gt;
&lt;br /&gt;
[[AUR]] から {{AUR|binfmt-support}} と {{AUR|qemu-user-static}} をインストールしてください。&lt;br /&gt;
&lt;br /&gt;
そして {{ic|binfmt-support}} サービスを起動・有効化してください:&lt;br /&gt;
 # systemctl enable binfmt-support&lt;br /&gt;
 # systemctl start binfmt-support&lt;br /&gt;
&lt;br /&gt;
{{AUR|qemu-user-static}} はコンパイルしたプログラムを他のアーキテクチャから実行するのに必要となります。{{Pkg|qemu-arch-extra}} と似たような機能ですが、chroot で使うには &amp;quot;static&amp;quot; なバージョンが必要です。例:&lt;br /&gt;
 qemu-arm-static path_to_sdcard/usr/bin/ls&lt;br /&gt;
 qemu-aarch64-static path_to_sdcard/usr/bin/ls&lt;br /&gt;
&lt;br /&gt;
上記のコマンドで32ビットの ARM と64ビットの ARM 用にコンパイルされた {{ic|ls}} を実行できます。ホスト環境に存在しないライブラリを使うため、chroot を使わないと機能しません。&lt;br /&gt;
&lt;br /&gt;
{{AUR|qemu-user-static}} は ARM の実行ファイルに自動的に {{ic|qemu-arm-static}} または {{ic|qemu-aarch64-static}} を前に付けます。{{ic|/var/lib/binfmts/qemu-arm}} や {{ic|qemu-user-static}} の [https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=qemu-user-static#n38 PKGBUILD] などを見てください。&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効かどうか確認:&lt;br /&gt;
&lt;br /&gt;
 # update-binfmts --display qemu-arm&lt;br /&gt;
 # update-binfmts --display qemu-aarch64&lt;br /&gt;
&lt;br /&gt;
ARM から x86 への変換が有効でない場合、update-binfmts を使って有効にしてください:&lt;br /&gt;
 # update-binfmts --enable qemu-arm&lt;br /&gt;
 # update-binfmts --enable qemu-aarch64&lt;br /&gt;
&lt;br /&gt;
SD カードを {{ic|mnt/}} にマウントします (デバイス名は適宜置き換えてください)。&lt;br /&gt;
&lt;br /&gt;
 # mkdir mnt&lt;br /&gt;
 # mount /dev/mmcblk0p2 mnt&lt;br /&gt;
&lt;br /&gt;
必要であればブートパーティションをマウントしてください (デバイス名は適当な名前に置き換えてください):&lt;br /&gt;
&lt;br /&gt;
 # mount /dev/mmcblk0p1 mnt/boot&lt;br /&gt;
&lt;br /&gt;
(ARM からの変換を処理する) QEMU の実行可能ファイルを SD カードにコピーしてください:&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/bin/qemu-arm-static /usr/bin/qemu-aarch64-static mnt/usr/bin&lt;br /&gt;
&lt;br /&gt;
最後に [[Change Root#chroot を使う]]に書かれているように SD カードの root に chroot してください:&lt;br /&gt;
&lt;br /&gt;
 # chroot mnt/ /bin/bash&lt;br /&gt;
&lt;br /&gt;
{{Pkg|arch-install-scripts}} に含まれている {{ic|arch-chroot}} を使うこともできます (ネットワークのサポートが含まれています):&lt;br /&gt;
 # arch-chroot mnt/ /bin/bash&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
* [https://www.raspberrypi.org Raspberry Pi] - 公式ウェブサイト&lt;br /&gt;
* [https://elinux.org/RPiconfig RPi Config] - ボンネットの下の設定に関連する情報がまとまっています&lt;br /&gt;
* [https://elinux.org/RPI_vcgencmd_usage RPi vcgencmd usage] - ファームウェアコマンドの vcgencmd の概要&lt;/div&gt;</summary>
		<author><name>Keita</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Microsoft_Surface_Pro_6&amp;diff=14534</id>
		<title>Microsoft Surface Pro 6</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Microsoft_Surface_Pro_6&amp;diff=14534"/>
		<updated>2019-04-27T00:31:04Z</updated>

		<summary type="html">&lt;p&gt;Keita: ページの作成:「Category:ノートパソコン en:Microsoft Surface Pro 6 zh-hans:Microsoft Surface Pro 6 {{Warning|製品保証は Windows の OEM イメージが存在す…」&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ノートパソコン]]&lt;br /&gt;
[[en:Microsoft Surface Pro 6]]&lt;br /&gt;
[[zh-hans:Microsoft Surface Pro 6]]&lt;br /&gt;
{{Warning|製品保証は Windows の OEM イメージが存在する場合にのみ有効です。[http://answers.microsoft.com/en-us/surface/forum/surfpro-surfusingpro/would-dual-booting-the-surface-pro-void-its/da549e24-f986-4984-b081-25c029882163 こちら] によればデュアルブートにすることで保証が無効になることはありません。}}&lt;br /&gt;
&lt;br /&gt;
このページでは Microsoft Surface Pro 6 タブレットで Arch Linux を動作させるのに必要な情報を集めています。&lt;br /&gt;
&lt;br /&gt;
== インストーラの起動 ==&lt;br /&gt;
&lt;br /&gt;
USB から起動するには、USB や SD カードから起動するようにタブレットを設定する必要があります。また、[[UEFI#Secure_Boot|Secure Boot]] を無効にすると、起動するたびに &amp;quot;Windows&amp;quot; のスプラッシュロゴに合わない赤い背景が表示されるので、無効化しないほうが良いでしょう。&lt;br /&gt;
&lt;br /&gt;
Surface Pro 6 には3種類のブートが存在します [http://www.microsoft.com/surface/en-us/support/storage-files-and-folders/boot-surface-pro-from-usb-recovery-device]:&lt;br /&gt;
# 通常モード&lt;br /&gt;
## 何も操作しないと通常モードで起動します。UEFI 設定の &amp;quot;Boot configuration&amp;quot; から起動順序を変更できます。&lt;br /&gt;
# UEFI 設定の起動&lt;br /&gt;
## デバイスの電源を切る (あるいは再起動する、ただし電源オフの方が安全です)&lt;br /&gt;
## Volume up を押す、そのまま押し続ける&lt;br /&gt;
## 電源ボタンを押す&lt;br /&gt;
## Windows ロゴが表示されるまで待つ&lt;br /&gt;
## Volume up を離す&lt;br /&gt;
## UEFI 設定メニューが表示されます&lt;br /&gt;
# USB/SD カードの起動&lt;br /&gt;
## デバイスの電源を切る&lt;br /&gt;
## Volume down を押す、そのまま押し続ける&lt;br /&gt;
## 電源ボタンを押す&lt;br /&gt;
## Windows ロゴが表示されるまで待つ&lt;br /&gt;
## Volume down を離す&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot の無効化 ===&lt;br /&gt;
&lt;br /&gt;
{{Note|無効化すると起動時にロゴの前に赤い背景が表示されるようになります。}}&lt;br /&gt;
&lt;br /&gt;
UEFI 設定を起動して、&#039;&#039;Security &amp;gt; Secure Boot &amp;gt; Change configuration &amp;gt; None&#039;&#039; を選択してください。それからインストールに進んで下さい。詳しくは [https://www.microsoft.com/surface/ja-jp/support/warranty-service-and-recovery/how-to-use-the-bios-uefi] を参照。&lt;br /&gt;
&lt;br /&gt;
=== Secure Boot で起動 ===&lt;br /&gt;
&lt;br /&gt;
[[Unified Extensible Firmware Interface#Secure Boot]] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
systemd の bootctl を使う [[Systemd-boot]] (旧 Gummiboot) でインストールすることができます。[[インストールガイド]]の手順を全て完了したら、あと2つのことをやる必要があります。ローダーの中に vmlinuz が登録されていないため、新規インストールでは Secure Boot で起動することができません。&lt;br /&gt;
&lt;br /&gt;
Secure Bootが有効な状態で利用したい場合は、[[Secure Boot]]の[[Secure Boot#署名済みのブートローダーを使う]]を参照し、[[Secure Boot#PreLoader]] および [[Secure Boot#フォールバック]] を実行してください。&lt;br /&gt;
&lt;br /&gt;
これで、Gummitboot ローダーを起動するための Preloader が有効になり、何か署名されていないものが検出されると、{{ic|HashTool.efi}} を起動されます。その後、HashToolから手動で vmlinuz-image バイナリに署名を行います。署名がされていない場合、HashToolから署名処理が行えるされるので、Secure Boot が Microsoft &amp;amp; 3rd party CA の状態でもカーネルを起動することが可能です。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
タッチパッドやスクリーンなどは最新のカーネルでサポートされていますが、ウェブカメラなどはサポートされていません。Arch Linux における Surface Pro 6 のサポート状況を追跡する github リポジトリが作られており、そこから現状を確認できます: [https://github.com/jakeday/linux-surface/]。&lt;br /&gt;
&lt;br /&gt;
Surface のデバイスをサポートする、Surface Pro 6 専用の Linux カーネルパッケージも存在します。AUR の {{AUR|linux-firmware-surface-pro-6}} からインストールできます。あるいは上流からパッチを取得してください [https://github.com/jakeday/linux-surface/]。&lt;br /&gt;
&lt;br /&gt;
=== パッチを適用してカーネルをコンパイル ===&lt;br /&gt;
&lt;br /&gt;
{{Note|執筆時点ではカーネルパッチの最新のソースは [https://github.com/dmhacker/arch-linux-surface/ dmhacker の github リポジトリ] になっています。}}&lt;br /&gt;
&lt;br /&gt;
リポジトリをクローンし、ReadMe.mdの手順に従ってカーネルパッチの適用、およびカーネルのインストールを行うことができます。&lt;br /&gt;
&lt;br /&gt;
{{Note|執筆時点では以下の機能が動作します。&lt;br /&gt;
* Keyboard (and backlight)&lt;br /&gt;
* Touchpad&lt;br /&gt;
* 2D/3D Acceleration&lt;br /&gt;
* Touchscreen&lt;br /&gt;
* Pen&lt;br /&gt;
* WiFi&lt;br /&gt;
* Bluetooth&lt;br /&gt;
* Speakers&lt;br /&gt;
* Power Button&lt;br /&gt;
* Volume Buttons&lt;br /&gt;
* SD Card Reader&lt;br /&gt;
* Cameras (partial support, disabled for now)&lt;br /&gt;
* Hibernate&lt;br /&gt;
* Sensors (accelerometer, gyroscope, ambient light sensor)&lt;br /&gt;
* Battery Readings&lt;br /&gt;
* Docking/Undocking Tablet and Keyboard&lt;br /&gt;
* Surface Docks&lt;br /&gt;
* DisplayPort&lt;br /&gt;
* USB-C (including for HDMI Out)}}&lt;br /&gt;
&lt;br /&gt;
ビルドしたカーネルでは、vmlinuz-linux, initramfs-linux.imgは vmlinuz-linux-surface, initramfs-linux-surface.imgの名前で作成されます。EFIエントリーのinitrdを書き換えるか、適宜リネームする必要があります。systemd-bootx64.efiについても更新されますが、UEFI によって自動的に起動されるデフォルトのブートローダーには更新が適用されないため、適宜フックするか手動で更新する必要があります。&lt;br /&gt;
&lt;br /&gt;
=== 仮想キーボード ===&lt;br /&gt;
デスクトップ環境によって、様々な仮想キーボードを使うことができます。{{Pkg|onboard}} が使いやすく安定しています。最適な設定方法は [https://github.com/Vistaus/surface3-arch-antergoslinux/issues/5 こちら] にあります。[[GNOME]] を使用している場合、より良い統合を行うための拡張が2つ存在します ([https://extensions.gnome.org/extension/992/onboard-integration/ 1], [https://extensions.gnome.org/extension/993/slide-for-keyboard/ 2])。&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;/div&gt;</summary>
		<author><name>Keita</name></author>
	</entry>
</feed>