2014年2月22日土曜日

F-07Cで遊ぶ - その3 ArchLinux インストール



F-07C に初期搭載されている OS と言えば Windows 7 Home Premium ですが、前々回の記事でも書いた通り、快適に動作するとは言いがたいのが現状です。

そこで、軽量ディストリビューションの一つである Arch Linux を導入することにしました。




必要なもの

  • USBホストケーブル または 純正クレードル
  • USB 無線 LAN 子機
  • ArchLinux USB インストールメディア
  • 視力


ここでは F-07C の内蔵 eMMC にインストールする方法を紹介しています。
容量の大きな microSD に Linux をインストールする事も可能です。その場合は以下を参照して下さい。
→ F-07Cで遊ぶ - その4 ArchLinux microSDへの導入



まずはWindows 7を起動し、空の領域を作成します。
(画像は既にLinuxをインストール済の状態です。この時点では黒で「4.96GB 未割り当て」と表示されます)
コンピュータの管理→ディスクの管理 より C: を選択し、ボリュームの縮小を実行します。
(とはいえ、予め不要なプリインストールアプリをある程度削除しておかないと、まとまった空き容量は確保できません。)
自分の場合は5GB確保しました。




インストールメディアと無線 LAN 子機を接続し、BIOS で F12 (Fn2 + F1) を押して USB メモリからブートします。




インストールする上で、こちらも参照してください。
Beginners' Guide (日本語) - ArchWiki


パーティションの作成

F-07C のストレージは SSD ではなく eMMC なので、参照する際はいわゆる
/dev/sda
/dev/sda1
/dev/sda2
ではなく、代わりに
/dev/mmcblk0
/dev/mmcblk0p1
/dev/mmcblk0p2
を使用します。

cfdisk を起動します。
# cfdisk /dev/mmcblk0
先ほど作成した空の領域にパーティションを作り、Bootable フラグを立てます。
自分の場合は mmcblk0p4 が割り当てられたので、ext4 でフォーマットします。
# mkfs.ext4 /dev/mmcblk0p4
フォーマット前に必ず # lsblk でパーティションを確認してください。
間違っても Windows 7 やリカバリ領域を消去しないように注意してください。



GRUB

GRUB をインストールします。
# pacman -S grub
# grub-install --target=i386-pc --recheck /dev/mmcblk0
Windows とのデュアルブートを構成するために、
# pacman -S os-prober
を行い os-prober をインストールします。
さらに、コンソールを回転させるために
# nano /etc/default/grub
を開き、GRUB_CMDLINE_LINUX 行に fbcon=rotate:1 を記述します。
GRUB_CMDLINE_LINUX="fbcon=rotate:1"
grub を保存したら、
# grub-mkconfig -o /boot/grub/grub.cfg
を実行します。



タッチパネル


以下をインストールします。
# pacman -S xf86-input-synaptics



グラフィック

F-07C には GMA600 というグラフィックチップが内蔵されています。
PowerVR ベースであるため、普通に Intel 向けのドライバを当てても残念ながら動作しません。

2015/03/05 追記
xf86-video-modesetting パッケージは xorg-server パッケージに統合されました。
これと共にドライバの更新が行われた為、modesetting でも画面回転が可能になりました。
フレームバッファによる描画よりも高速な表示が可能となります。

1. xorg-server をインストールします。
# pacman -S xorg-server


2. グラフィックドライバを適用するため、
# nano /etc/X11/xorg.conf.d/20-gpudriver.conf
を実行し、下記の内容を記述します。
Section "Device"
        Identifier     "gma500_gfx"
        Driver          "modesetting"
EndSection


3. ディスプレイを回転させるため、
# nano /etc/X11/xorg.conf.d/40-monitor.conf
を実行し、下記の内容を記述します。
Section "Monitor"
        Identifier      "LVDS-0"
        Option          "Rotate" "right"
EndSection


4.  画面回転を行うとタッチパネルが正常に動作しなくなるため、座標軸を入れ替えます。
# nano /etc/X11/xorg.conf.d/50-invertaxes.conf
を実行し、下記の内容を記述します。
Section "InputClass"
        Identifier   "Invert Touchscreen"
        MatchProduct  "FUJITSU FOMA F07C"
        MatchIsTouchscreen "on"
        MatchDevicePath "/dev/input/event*"
        Option    "SwapAxes" "true"
        Option    "InvertX" "false"
        Option    "InvertY" "true"
EndSection


5. 再起動します。
$ reboot


下記の情報は既に古いですが残しておきます。

さて、ここでドライバのインストールにあたり、どちらかを選択することになります。

  • xf86-video-modesetting (描画が高速だが、強制的に縦画面になり回転不可)
  • xf86-video-fbdev (横画面での使用が可能だが、描画がかなり遅い)

このどちらかを pacman でインストールしてください。


modesetting をインストールした場合

以下の内容を記述します。

# nano /etc/X11/xorg.conf.d/20-gpudriver.conf
Section "Device"
Identifier "gma500_gfx"
Driver "modesetting"
EndSection

縦画面でもトラックボールが正常に使えるように、以下を記述します。

# nano /etc/X11/xorg.conf.d/50-invertaxes.conf
Section "InputClass"
Identifier "Invert Mouse"
MatchProduct "FUJITSU FOMA F07C"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Option "SwapAxes" "true"
Option "InvertX" "true"
Option "InvertY" "false"
EndSection

fbdev をインストールした場合

以下の内容を記述します。

# nano /etc/X11/xorg.conf.d/20-gpudriver.conf
Section "Device"
Identifier "gma500_gfx"
Driver "fbdev"
Option "Rotate" "CW"
EndSection

画面回転を行うとタッチパネルの座標がおかしくなるので、座標軸を入れ替えます。

# nano /etc/X11/xorg.conf.d/50-invertaxes.conf
Section "InputClass"
Identifier "Invert Touchscreen"
MatchProduct "FUJITSU FOMA F07C"
MatchIsTouchscreen "on"
MatchDevicePath "/dev/input/event*"
Option "SwapAxes" "true"
Option "InvertX" "false"
Option "InvertY" "true"
EndSection


参考文献:
F-07C まとめ - セットアップ関連



サウンド

VAIO type P と同じ方法で鳴ります。

# nano /etc/modprobe.d/snd_hda_intel.conf
options snd-hda-intel enable_msi=0
options snd-hda-intel model=auto
あとは F-07C には負荷の高い pulseaudio をオフにしましょう。

詳しくは VAIO type P の「サウンド」を参照してください。
わかめそばmogmog: VAIO type P に Arch Linux を入れた

音が鳴らない場合は、 F-07C がマナーモードになっていないか確認して下さい。
(Fn2 + 右キー で解除できます)

3 件のコメント:

  1. ずっと放置しているF-07Cがあります。
    このページを拝見してLinuxのインストールに挑戦しようと思いました。
    linuxBeanをインストールしてみましたがとりあえず、おかげさまですんなりできました。
    感謝します。
    ただ、 ディスプレイの回転は未解決です。
    何とか頑張ってみますが、何かご教授いただければ助かります。

    返信削除
  2. こんにちは、私は小さなLinuxディストリの開発を行っている者です。
    現在 F-07C であった時に自動的に X.org の設定を入れるための仕組みを作る中で、このエントリの 40-monitor.conf と 50-invertaxes.conf を流用させてディストリに収録いただけないかと考えています。
    特にライセンスの記載がないようなので、可否や、ライセンスや出典表記など指定があればお教えいただけないでしょうか。
    よろしくお願いします。

    返信削除
    返信
    1. 40-monitor.conf と 50-invertaxes.conf はご自由にお使い下さい。
      ただし、設定内容の正確さについては保証しません。その為、故障などの問題が発生した場合でも責任は負いかねます。また、X.org のバージョンアップにより設定の構成が変わり、これらの設定ファイルが使えなくなる場合があります。ご了承下さい。

      削除