2014/03/20(Thu)野良リポジトリからPidora 20 (Pidora release 2014) をRaspberry Piに導入しようとしたが…

2014/05/18 2:31 Hardware::Raspberry Pi
最近購入したRaspberry Piに、FedoraのRaspberry Pi特化版"Pidora"をインストールしたときのメモ。
結構PCにFedoraを入れるようにはいかない…

初期導入

Fedoraの現行バージョンは20の今、Pidoraの公式版は18の模様。

しかし調べてみると、18のイメージをSDカードに展開して、rpmでyum repositoryを更新していくとFedora 20相当のPidora release 2014に出来るらしい。
というわけで試してみる。

Pidora 18の導入は簡単で、Pidora - Raspberry Pi Fedora Remixからpidora-18-r2c.zipを落としてきて、imgをSDに焼くだけ。
Windowsで作業するなら、Win32 Disk Imagerを使って焼けばOK。

書き込みが終わったら、SDカードをRaspiに挿してbootするだけでfirstboot画面が現れるので、パスワードや一般ユーザ、タイムゾーンなどをお好みで。
ちなみに私はheadlessで使うつもりなので、graphical bootからtext bootに切り替え。

Pidora 18 -> 19

とりあえずPidora 18から19へ。
本当はyum updateして最新にしておくのが好ましいとされているけど、とにかくupdateさせると遅いし、今回はミスってもすぐにやり直せるのでパス。

というわけで、いきなりpidora-releaseのページからRPMを導入し、yum --nogpgcheck distro-syncを実行。*1
pidora-release-19-11が最終版のようなのでそれをチョイス。
# wget http://japan.proximity.on.ca/kojifiles/packages/pidora-release/19/11.rpfr19/noarch/pidora-release-19-11.rpfr19.noarch.rpm

# rpm -Uvh pidora-release-19-11.rpfr19.noarch.rpm

Preparing...                ########################################### [100%]

   1:pidora-release         ########################################### [100%]

# yum --nogpgcheck distro-sync


(snip.)

--> Finished Dependency Resolution
Error: Package: gnome-python2-bonobo-2.28.1-13.fc19.armv6hl (pidora-updates)
           Requires: libbonobo(armv6hl-32) >= 2.8.0
           Removing: libbonobo-2.32.1-3.fc18.armv6hl (@anaconda-0/bluesky)
               libbonobo(armv6hl-32) = 2.32.1-3.fc18
           Updated By: libbonobo-2.32.1-5.fc19.armv6hl (pidora)
               Not found
Error: Package: gedit-plugins-3.6.1-1ct1.fc18.armv6hl (@anaconda-0/bluesky)
           Requires: libgtksourceview-3.0.so.0
           Removing: gtksourceview3-3.6.1-1.fc18.armv6hl (@anaconda-0/bluesky)
               libgtksourceview-3.0.so.0
           Updated By: gtksourceview3-3.8.2-1.fc19.armv6hl (pidora-updates)
               Not found
           Available: gtksourceview3-3.6.3-1.fc18.armv6hl (pidora)
               libgtksourceview-3.0.so.0
Error: Package: 1:perl-Module-Pluggable-4.00-239.fc18.noarch (@anaconda-0/bluesky)
           Requires: perl = 4:5.16.2-239.fc18
           Removing: 4:perl-5.16.2-239.fc18.armv6hl (@anaconda-0/bluesky)
               perl = 4:5.16.2-239.fc18
           Updated By: 4:perl-5.16.3-266.fc19.armv6hl (pidora)
               perl = 4:5.16.3-266.fc19
Error: Package: gnome-python2-gnomevfs-2.28.1-13.fc19.armv6hl (pidora-updates)
           Requires: libbonobo(armv6hl-32) >= 2.8.0
           Removing: libbonobo-2.32.1-3.fc18.armv6hl (@anaconda-0/bluesky)
               libbonobo(armv6hl-32) = 2.32.1-3.fc18
           Updated By: libbonobo-2.32.1-5.fc19.armv6hl (pidora)
               Not found
Error: Package: 1:gdm-3.8.3-2.fc19.armv6hl (pidora)
           Requires: gnome-shell
Error: Package: gnome-python2-gconf-2.28.1-13.fc19.armv6hl (pidora-updates)
           Requires: GConf2(armv6hl-32) >= 2.11.1
           Removing: GConf2-3.2.5-2.fc18.armv6hl (@anaconda-0/bluesky)
               GConf2(armv6hl-32) = 3.2.5-2.fc18
           Updated By: GConf2-3.2.6-6.fc19.armv6hl (pidora)
               Not found
Error: Package: gnome-python2-gnomevfs-2.28.1-13.fc19.armv6hl (pidora-updates)
           Requires: gnome-vfs2(armv6hl-32) >= 2.14.0
           Removing: gnome-vfs2-2.24.4-9.fc18.armv6hl (@anaconda-0/bluesky)
               gnome-vfs2(armv6hl-32) = 2.24.4-9.fc18
           Updated By: gnome-vfs2-2.24.4-12.fc19.armv6hl (pidora)
               Not found
Error: Package: 2:gedit-3.5.1-2.fc18.armv6hl (pidora)
           Requires: libgtksourceview-3.0.so.0
           Removing: gtksourceview3-3.6.1-1.fc18.armv6hl (@anaconda-0/bluesky)
               libgtksourceview-3.0.so.0
           Updated By: gtksourceview3-3.8.2-1.fc19.armv6hl (pidora-updates)
               Not found
           Available: gtksourceview3-3.6.3-1.fc18.armv6hl (pidora)
               libgtksourceview-3.0.so.0
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
だめだった……。
どうも依存関係が綺麗に解決出来ないようなので、とりあえず壊れている物は後からナントカするとして、skip-brokenで再チャレンジ。
# ここまで来るのにも、ここから先もかなり時間がかかるので、仕掛けて外出したり寝ると良いかな
# yum --nogpgcheck --skip-broken distro-sync

(snip...)

Transaction Summary
======================================================================================================================================================
Install                          8 Packages (+12 Dependent packages)
Upgrade                        566 Packages (+25 Dependent packages)
Downgrade                        1 Package
Skipped (dependency problems)  418 Packages

Total download size: 299 M
Is this ok [y/N]:
 
(snip...)

  Updating   : pygobject3-base-3.8.3-1.fc19.armv6hl                                                                                          185/1214
  Updating   : libuser-0.59-1.fc19.armv6hl                                                                                                   186/1214
/sbin/ldconfig: libraries librt-2.16.so and librt-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libresolv.so.2 and libresolv-2.16.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libcrypt-2.16.so and libcrypt-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libnss_hesiod-2.16.so and libnss_hesiod-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libnsl.so.1 and libnsl-2.16.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libdl-2.16.so and libdl-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libnss_compat-2.16.so and libnss_compat-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libc-2.16.so and libc-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries ld-2.16.so and ld-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libnss_db.so.2 and libnss_db-2.16.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libutil-2.16.so and libutil-2.17.so in directory /lib have same soname but different type.
  Updating   : usermode-1.111-3.fc19.armv6hl                                                                                                 187/1214
  Updating   : binutils-2.23.52.0.1-10.fc19.v6.armv6hl                                                                                       188/1214
/sbin/ldconfig: libraries librt-2.16.so and librt-2.17.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libresolv.so.2 and libresolv-2.16.so in directory /lib have same soname but different type.
/sbin/ldconfig: libraries libcrypt-2.16.so and libcrypt-2.17.so in directory /lib have same soname but different type.

(snip...)

Removed:
  pidora-release.noarch 0:19-11.rpfr19

Installed:
  flac-libs.armv6hl 0:1.3.0-2.fc19                                    libertas-usb8388-firmware.noarch 2:20130724-29.git31f6b30.fc19
  linux-firmware.noarch 0:20130724-29.git31f6b30.fc19                 mesa-filesystem.armv6hl 0:9.2-0.12.20130610.fc19
  openrdate.armv6hl 0:1.2-2.fc19                                      pidora-release.noarch 0:19-10.rpfr19
  ppl.armv6hl 0:1.0-3.fc19.5                                          raspberrypi-kernel.armv6hl 0:3.12.0-10.20131106git839f349.rpfr19
(snip...)

Dependency Installed:
  compat-libffi.armv6hl 0:3.0.10-3.fc19                                   dtc.armv6hl 0:1.4.0-1.fc19
  graphite2.armv6hl 0:1.2.2-1.fc19                                        libatomic.armv6hl 0:4.8.1-3.v6.fc19
  libwayland-cursor.armv6hl 0:1.1.90-0.1.20130515.fc19                    libxkbcommon.armv6hl 0:0.3.0-1.fc19
  mozjs17.armv6hl 0:17.0.0-7.fc19                                         opus.armv6hl 0:1.0.2-3.fc19
(snip...)

Updated:
  ConsoleKit.armv6hl 0:0.4.5-5.fc19                                     ConsoleKit-x11.armv6hl 0:0.4.5-5.fc19
  ORBit2.armv6hl 0:2.14.19-8.fc19                                       abattis-cantarell-fonts.noarch 0:0.0.12-2.fc19
  accountsservice.armv6hl 0:0.6.34-1.fc19                               accountsservice-libs.armv6hl 0:0.6.34-1.fc19
  acl.armv6hl 0:2.2.51-9.fc19                                           adwaita-cursor-theme.noarch 0:3.8.1-1.fc19
(snip...)

Dependency Updated:
  ConsoleKit-libs.armv6hl 0:0.4.5-5.fc19            Thunar.armv6hl 0:1.6.3-1.fc19                           avahi.armv6hl 0:0.6.31-11.fc19
  cronie.armv6hl 0:1.4.10-5.fc19                    cronie-anacron.armv6hl 0:1.4.10-5.fc19                  dnsmasq.armv6hl 0:2.66-7.fc19
  fipscheck.armv6hl 0:1.3.1-3.fc19                  gtk2.armv6hl 0:2.24.19-2.fc19                           gtk3.armv6hl 0:3.8.2-2.fc19
  iputils.armv6hl 0:20121221-2.fc19                 jack-audio-connection-kit.armv6hl 0:1.9.9.5-2.fc19      libgusb.armv6hl 0:0.1.6-1.fc19
(snip...)

Skipped (dependency problems):
  ConsoleKit-libs.armv6hl 0:0.4.5-5.fc19                                   GConf2.armv6hl 0:3.2.6-6.fc19
  NetworkManager.armv6hl 1:0.9.8.2-2.fc19                                  NetworkManager.armv6hl 1:0.9.8.2-2.fc19
  NetworkManager-glib.armv6hl 1:0.9.8.2-2.fc19                             NetworkManager-glib.armv6hl 1:0.9.8.2-2.fc19
  NetworkManager-openvpn.armv6hl 1:0.9.6.0-2.fc19                          NetworkManager-vpnc.armv6hl 1:0.9.3.997-4.fc19
(snip...)

Replaced:
  Terminal.armv6hl 0:0.4.8-4.fc18               flac.armv6hl 0:1.2.1-10.fc18.1302260907kf    libertas-usb8388-firmware.noarch 2:5.110.22.p23-6.fc17
  mesa-dri-filesystem.armv6hl 0:9.0.1-1.fc18    ppl-pwl.armv6hl 0:0.11.2-9.fc18              ql2400-firmware.noarch 0:5.08.00-1.fc18
  ql2500-firmware.noarch 0:5.08.00-1.fc18       rdate.armv6hl 0:1.4-20.fc18

Failed:
  cronie.armv6hl 0:1.4.10-1.fc18                                      lightdm.armv6hl 0:1.4.0-2.fc18                mdadm.armv6hl 0:3.2.6-1.fc18
  raspberrypi-kernel.armv6hl 0:3.6.11-7.20130415git197d15b.rpfr18     rng-tools.armv6hl 0:4-2.fc18.1302271711kf     rtkit.armv6hl 0:0.11-3.fc18
  usbmuxd.armv6hl 0:1.0.8-5.fc18.1302271922kf
というわけで一応入った。一旦ここでreboot。

*1 : パッケージが正しく署名されていないようなので、--nogpgcheckをつけておかないと先に進まない。Importing GPG keyの後、Package xxxx.rpm is not signedで終了する。

Pidora 19導入後処理

ARM - Pi to Kernel 3.13.2… Pidora 19 Woes.. Odroid to Fedora 20.. を参考に、Failedになったコンポーネントを削除する。
調べてみると、Failedな理由はPidrao 19用のものが見つからなかったのではなくて、削除に失敗して競合状態のまま残ってしまっているようだ。
# cat /etc/redhat-release

Pidora release 19 (Raspberry Pi Fedora Remix)
# uname -a

Linux raspi.local 3.12.0-10.20131106git839f349.rpfr19.bcm2708 #1 PREEMPT Wed Dec 18 11:53:21 EST 2013 armv6l armv6l armv6l GNU/Linux
# package-cleanup --dupes

Loaded plugins: presto, refresh-packagekit
rng-tools-4-2.fc18.1302271711kf.armv6hl
rng-tools-4-3.fc19.armv6hl
lightdm-1.4.0-2.fc18.armv6hl
lightdm-1.6.0-10.fc19.armv6hl
usbmuxd-1.0.8-7.fc19.armv6hl
usbmuxd-1.0.8-5.fc18.1302271922kf.armv6hl
cronie-1.4.10-1.fc18.armv6hl
cronie-1.4.10-5.fc19.armv6hl
rtkit-0.11-3.fc18.armv6hl
rtkit-0.11-3.fc19.armv6hl
raspberrypi-kernel-3.6.11-7.20130415git197d15b.rpfr18.armv6hl
raspberrypi-kernel-3.12.0-10.20131106git839f349.rpfr19.armv6hl
mdadm-3.2.6-19.fc19.armv6hl
mdadm-3.2.6-1.fc18.armv6hl
というわけで消す。
参考元のログには
rng-tools-4-2.fc18.1302271711kf.armv6hl
usbmuxd-1.0.8-5.fc18.1302271922kf.armv6hl
cronie-1.4.10-1.fc18.armv6hl
at-3.1.13-10.fc18.1302272309kf.armv6hl
rtkit-0.11-3.fc18.armv6hl
を消したと書いてあるけど、微妙に違うのはtargetにしたPidora 19が違うからかな?
# rpm -e cronie-1.4.10-1.fc18.armv6hl raspberrypi-kernel-3.6.11-7.20130415git197d15b.rpfr18.armv6hl usbmuxd-1.0.8-5.fc18.1302271922kf.armv6hl lightdm-1.4.0-2.fc18.armv6hl rng-tools-4-2.fc18.1302271711kf.armv6hl mdadm-3.2.6-19.fc19.armv6hl rtkit-0.11-3.fc18.armv6hl

/var/tmp/rpm-tmp.2yVRMh: line 1: fg: no job control
error: %preun(rtkit-0.11-3.fc18.armv6hl) scriptlet failed, exit status 1
error: rtkit-0.11-3.fc18.armv6hl: erase failed
/var/tmp/rpm-tmp.DZd80w: line 1: fg: no job control
error: %preun(rng-tools-4-2.fc18.1302271711kf.armv6hl) scriptlet failed, exit status 1
error: rng-tools-4-2.fc18.1302271711kf.armv6hl: erase failed
/var/tmp/rpm-tmp.sma1uJ: line 1: fg: no job control
error: %preun(lightdm-1.4.0-2.fc18.armv6hl) scriptlet failed, exit status 1
error: lightdm-1.4.0-2.fc18.armv6hl: erase failed
/var/tmp/rpm-tmp.LWlOt1: line 1: fg: no job control
/var/tmp/rpm-tmp.LWlOt1: line 3: fg: no job control
/var/tmp/rpm-tmp.LWlOt1: line 5: fg: no job control
error: %preun(usbmuxd-1.0.8-5.fc18.1302271922kf.armv6hl) scriptlet failed, exit status 1
error: usbmuxd-1.0.8-5.fc18.1302271922kf.armv6hl: erase failed
/var/tmp/rpm-tmp.Ku4mR1: line 2: fg: no job control
error: %preun(cronie-1.4.10-1.fc18.armv6hl) scriptlet failed, exit status 1
error: cronie-1.4.10-1.fc18.armv6hl: erase failed
素直に消えればこんな事になっていないか…。raspberrypi-kernelとmdadmは消えた模様。
というわけで、%preunスクリプトを実行しないように--noscriptsを指定して再実行。
# rpm -e --noscripts cronie-1.4.10-1.fc18.armv6hl usbmuxd-1.0.8-5.fc18.1302271922kf.armv6hl lightdm-1.4.0-2.fc18.armv6hl rng-tools-4-2.fc18.1302271711kf.armv6hl rtkit-0.11-3.fc18.armv6hl

# package-cleanup --dupes

Loaded plugins: presto, refresh-packagekit
というわけでこれでスッキリ消える。

Pidora 19 -> 20

同じ要領で次も。
現在のPidora 20最新は、pidora-release-20-5のようなので、これをRPM導入してからyum distro-syncを実行。
例によってRPMは、pidora-releaseから。
# wget http://japan.proximity.on.ca/kojifiles/packages/pidora-release/20/5.rpfr20/noarch/pidora-release-20-5.rpfr20.noarch.rpm

# rpm -Uvh pidora-release-20-5.rpfr20.noarch.rpm

Preparing...                ########################################### [100%]

   1:pidora-release         ########################################### [100%]

# yum --nogpgcheck distro-sync

(snip...)

--> Finished Dependency Resolution
Error: Package: gnome-shell-3.9.5-2.fc20.armv6hl (pidora)
           Requires: libedataserver-1.2.so.17
Error: mutter conflicts with gnome-shell-3.9.5-2.fc20.armv6hl
Error: Package: perl-Device-BCM2835-1.7-2.rpfr18.armv6hl (@anaconda-0/bluesky)
           Requires: perl(:MODULE_COMPAT_5.16.2)
           Removing: 4:perl-5.16.2-239.fc18.armv6hl (@anaconda-0/bluesky)
               perl(:MODULE_COMPAT_5.16.2)
           Updated By: 4:perl-5.18.1-291.fc20.armv6hl (pidora)
               Not found
Error: Package: gnome-shell-3.9.5-2.fc20.armv6hl (pidora)
           Requires: libcamel-1.2.so.44
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
またダメだったので、--skip-brokenを指定してretry。
# yum --nogpgcheck --skip-broken distro-sync

(snip...)

Transaction Summary
======================================================================================================================================================
Install                          1 Package  (+ 6 Dependent packages)
Upgrade                        463 Packages (+32 Dependent packages)
Remove                                      (  3 Dependent packages)
Downgrade                        9 Packages
Skipped (dependency problems)  626 Packages

Total download size: 237 M
Is this ok [y/N]: y


(snip...)

Running Transaction Check
ERROR with transaction check vs depsolve:
fedora-logos is obsoleted by (installed) pidora-logos-1-4.rpfr18.noarch
samba4-libs < 2:4.0.0-168.fc18.rc5 is obsoleted by (installed) samba-libs-2:4.0.0-168.fc18.rc5.armv6hl
Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=rawhide&component=yum
 You could try running: rpm -Va --nofiles --nodigest
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2013-06-21.15-05.BgJ66H.yumtx
ARM - The Secret is Out - ‘Pidora 2014′ is Here..を参考に、pidora-logosをpidora-logosを外して再試行。
# # yum --skip-broken --nogpgcheck --exclude=pidora-logos distro-sync

(snip...)

Running Transaction Check
ERROR with transaction check vs depsolve:
samba4-libs < 2:4.0.0-168.fc18.rc5 is obsoleted by (installed) samba-libs-2:4.0.0-168.fc18.rc5.armv6hl
Please report this error in https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=rawhide&component=yum
 You could try running: rpm -Va --nofiles --nodigest
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2013-06-21.15-31._JYpGI.yumtx

どうやら調べてみると、v18の時のパッケージが大量に残っていてupdateされていないので、依存関係の解決がきちんと出来ていない感じ……。
# rpm -qa | grep f[cr]18 | wc -l

238
例えば上でエラーになったsamba-libsのupdateをかけてみると……出るわ出るわ、依存関係の山。(しかも解決出来ていない)
これ以上続けても不毛なので、ここで打ち切り。

公式版Pidora 2014が出ていた 2014/05/18

公式サイトからPidora 2014 R1をダウンロードできるようになっていた。