Raspberry pi(Puppi)動かしてみました

標準以外の日本語環境用の派生デストリビューション

モデレータ: 暇人, YoN, nyu

きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

こんにちわ。きりんです。
以前より気に掛かっていた Raspberry pi を入手しましたのでいじってみました。

使用したハードは、
Raspberry pi モデルB RAM=512kB
full-HD TV + USBマウス + USBキーボード
SDカードは4GB品で行いました。

OSは3種類試してみました。他のPCがないと構築作業が出来ませんが、puppyを利用しながら進めました。
1.Raspbian “wheezy” file:2013-02-09-wheezy-raspbian.zip ・・・ちまたの推奨品
2.Puppi SAP file:raspi-sd-4gb-sap6-5.105.img.xz ・・・ BarryKさん作
3.Puppi cockroach file:raspi-sd-4gb-zap6-5.100-ALPHA1.img.xz ・・・ Mickoさん作

A.動くか?
モデルB RAM=512kB は曲者です(正確にはOSの対応が遅れている)。

【Puppi SAP】
オリジナルの状態では起動ができません。"Raspbian" の bootcode.bin を上書きすることで起動できるようになります。
但し、RAM=256kモデルとして動きます。動きはもっさりです。Webブラウザーは Chrome です。

【Puppi cockroach】
オリジナルの状態で起動できます。RAM=256kモデルとして動きます。動きはもっさりです。Webブラウザーは SeaMonkey です。

B.512kBのRAMを生かしたい(Puppi SAP にて)
ちゃんと情報がありました。本家のフォーラムhttp://murga-linux.com/puppy/viewtopic. ... &start=193 で woodenshoe さんの書き込み。
rpi-firmware-master.zip をダウンロードして解凍したファイルを配置してOKでした。動きがスムースになりpuppyらしさがあります。

c.日本語環境を整える
IMEはとりあえず置いといて、まづは表示系から。
○日本語フォント
日本語系のpuppyからいただき。インストール作業用の "slacko-5.4-opera-4g" より、
/usr/share/fonts/default/TTF/M+1P+IPAG.ttf を Puppi SAP 上の同じ場所へコピー。
○gconv の不足分補完
"Raspbian"の /usr/lib/arm-linux-gnueabihf/gconv から、"Puppi SAP"の /usr/lib/gconv へ必要なファイルをコピー。
CP932.so
EUC-JISX0213.so
EUC-JP-MS.so
EUC-JP.so
gconv-modules
libJIS.so
libJISX0213.so
SJIS.so
○X11 locale の不足分補完
"Raspbian"の /usr/share/X11/locale から、"Puppi SAP"の /usr/share/X11/locale へ必要なファイルをコピー。
ja ・・・フォルダーごと
ja.JIS ・・・フォルダーごと
ja.S90 ・・・フォルダーごと
ja.SJIS ・・・フォルダーごと
ja.U90 ・・・フォルダーごと
ja_JP.UTF-8 ・・・フォルダーごと
compose.dir
locale.alias
locale.dir

IMEはまた後で。
cygnus_odile
記事: 665
登録日時: 09/08/16(日) 14:30

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by cygnus_odile »

きりんさん、素晴らしい! 拍手、拍手。
Raspberry Pi って、ARM系ですよね。 此の勢いで、スマホ/中華タブレットも制覇しちゃって下さい。
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

IMEの導入

投稿記事 by きりん »

こんにちわ。きりんです。
Puppi SAP へのIMEの導入について書きます。

1.必要なファイルのダウンロードとインストール
パッケージマネージャを利用してdebianのパッケージを利用します。
パッケージマネージャの検索キーワードに、"scim"と"anthy"を使い対象を探します。
一番手数が少ないのは"scim-anthy"を選択しダウンロードかな・・・
この時、依存性のチェックを掛け、インストールせずにダウンロードだけしておきます。
次のようなファイルがダウンロードされます。
その後、実際にインストールしたものは先頭に"◎"付けました。

コード: 全て選択

◎ anthy-common_9100h-6_all.deb
◎ anthy_9100h-6_armel.deb
◎ kasumi_2.5-2_armel.deb
◎ libanthy0_9100h-6_armel.deb
◎ libscim8c2a_1.4.9-6_armel.deb
◎ scim-anthy_1.2.7-3_armel.deb
◎ scim-bridge-agent_0.4.16-2+b1_armel.deb
◎ scim-bridge-client-gtk_0.4.16-2+b1_armel.deb
◎ scim-gtk2-immodule_1.4.9-6_armel.deb
◎ scim-modules-socket_1.4.9-6_armel.deb
◎ scim_1.4.9-6_armel.deb
debconf-i18n_1.5.36.1_all.deb
debconf_1.5.36.1_all.deb
liblocale-gettext-perl_1.05-6_armel.deb
libtext-charwidth-perl_0.04-6_armel.deb
libtext-iconv-perl_1.7-2_armel.deb
libtext-wrapi18n-perl_0.06-7_all.deb
tcl8.4_8.4.19-4_armel.deb
tk8.4_8.4.19-4_armel.deb
2.補助作業
○辞書の作成
viewtopic.php?f=27&t=1133&start=15
を参照してください。/var/lib/anthy/anthy.dic が辞書となりますが、Puppi SAP は利用形態がフルインストールなので違う場所に辞書を移動する必要はありません。

○/etc/gtk-2.0/gtk.immodules の更新
/etc でコンソールを開き、

コード: 全て選択

gtk-query-immodules-2.0 >./gtk.immodules
を実行。

○/root/.xinitrc の修正
scimの起動を追加指定します。お馴染みの2行を追加しました。46行目にいれてみた。

コード: 全て選択

export XMODIFIERS='@im=SCIM'
scim -d
念のため、インストールされた実行ファイルを ldd コマンドでチェックしましたが不足ファイルはないようです。


ここまではよかったのだけれど・・・

1.キーボードの認識がおかしい。
jp106を設定しているのに英語配列のままで、おまけにカーソル・キーも動作しない。
/etc/X11/xkb/rules/xorg の記述の中にjp106がない!
さてどうしよう・・・

2.サウンドが機能していないみたい?
まだ追求の余裕がないです・・・
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

キーボードの設定完了

投稿記事 by きりん »

きりんです。
キーボードの修正完了しました。
全画面コンソールでは正しく認識されているのに、X上がうまくいかず戸惑いました。もしかすると、使用したキーボード(SANWA SKB-KG3W)との相性かな? ちなみに Raspbian ではうまく認識していました。
結局、xmodmap -pke で現状のマップを取り出し編集して、.Xintrc の中でキー・マップを読み込んでいる所があった(読み込まれるファイルが存在しない状態)ので、編集したマップを指定するようにしてOKとなりました。

実際の作業は、正常に動作しているPCとxevコマンドの出力結果を見比べながら編集を行ったのでスムースでした。

次はサウンド関係・・・
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

いじって気に掛かること

投稿記事 by きりん »

こんにちわ。きりんです。
Puppiをいじっていますが気に掛かることを列挙します。

1.サウンドの出力先が指定とおりにいかない場合がある?
HDMIを通じて音を出していますが、TV側の電源ONのタイミングでうまく認識してくれない場合があるようです。

2.音質が悪い。ボリュームの大きさとは無関係に音が割れたり、再生が詰ったりします。能力不足の部分があるのだろうか?

3.ブラウザー上でのキー入力がもっさりしている。
Geany 上では明らかにもっさり感は出てこないのですが、ブラウザーの入力フィールドでの動きが英数入力でももっさりしています。この書き込みも始めはChromium 上で行いましたが、我慢が出来ず、Geany で打ち込んだものをコピペしています。

4.Chromiumで少し重めのページを開くともっさり。
Raspberry pi の公式サイトをよく覗くのですが、日によって画像や動画が貼り付けられていると極端にもっさり感が大きく出てきます。

5.Abiwordでインライン変換を行うととってももっさり。
X86のpuppyでもまともなインライン変換の状態とは、元々言えませんが、輪を掛けてまずい状態。

今週の実験事
1.Mickoさん作の cockroach に日本語IMEを導入するにはどうしたらよいか?
Debian Wheezy のパッケージに SCIM-Anthy がないのです。i-bus を利用することになります。cockroachのパッケージマネージャでSCIM-Anthyを検索すると存在するのですが、データベースの更新を行った後に検索を掛けると存在しないので、不都合があって供給されていないようです。Wheezyからパッケージの系列として"arml"と"armf"の二つがあります。浮動小数点の演算をソフトで行うか、ハードで行うかの違いのようなので当然ハード利用の"armf"を利用したくなるのが人情ですが、残念ながらpuppiはsqueezeがベースなので"arml"しか提供されていません。
(追記)推奨されているraspbian上での振る舞いですが、ibusだとインライン変換が出来ませんが、uimだとインライン変換が可能でした。Xシステムの違いも関係するのかも知れませんがチラつき具合もpuppiよりましな状態です。cockroach上へのインストール実験を計画してみます。

2.USB-HDDを使うと早くなるか?
実験してみました。USB-HDDにSDカードの第二パーティションの内容をコピーする。また、USB-HDD上にswap領域も作っておく。SDの第一パーティションにあるcmdline.txtにルートの位置の記述があるので書き換え。puppiでは未処理でよいが/etc/fstabの内容も修正。SD上のswap領域は削除しておく。こんな内容を別のPC上で走らせたpuppyを利用して準備。
結果は?感じ取れるスピードアップはなし。多分puppiだとswapにアクセスする頻度が少ないからか?
raspbianは結構swapを使うケースが多いようなのだが、はっきりとした変化はわからないなあ・・・

3.クラス10のSDカードを使うと早くなるか?
新聞のちらしに安価なものを見つけたので実験。判定は??

4.GPIOを利用してみたいが・・・
購入目的のひとつがGPIOが付いているから。補助的なライブラリーがいくつか存在するようですが、puppiで一気にトライするのは混乱の元の様子。まずは推奨されているraspbian上で動きをみてからの方がよさそう。
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

PuppiArch

投稿記事 by きりん »

ハードフロート・ベースのpuppiを動作させたくて、次のページを参考にして手動インストールとなりますが、like-puppyの作成を行ってみました。
http://www.puppylinux.org/wikka/PuppiArch
ブラウザーとして"midori",IMEとしてSCIM+Anthyが動作します。
パッケージのインストール後、あやかりが必要ですが、後でまとめてリポートします。
インストール・イメージは公式サイトのダウンロード・ページからもらって使用します。
http://www.raspberrypi.org/downloads

現状導入されているパッケージは以下のとおりです。

コード: 全て選択

acl
alsa-lib
alsa-plugins
alsa-utils
anthy
aspell
atk
attr
avahi
bash
binutils
bridge-utils
bzip2
ca-certificates
cairo
compositeproto
coreutils
cracklib
cronie
cryptsetup
curl
damageproto
dash
db
dbus
dbus-glib
dconf
desktop-file-utils
device-mapper
dhcpcd
dialog
diffutils
dirmngr
dnssec-anchors
dosfstools
e2fsprogs
enchant
eventlog
expat
file
filesystem
findutils
fixesproto
flac
fontconfig
fontsproto
freeglut
freetype2
fuse
gawk
gcc-libs
gdbm
gdk-pixbuf2
geany
geoclue
gettext
glib-networking
glib2
glibc
glu
gmp
gnupg
gnutls
gpgme
graphite
grep
groff
gsettings-desktop-schemas
gstreamer0.10
gstreamer0.10-base
gtk-update-icon-cache
gtk2
gzip
harfbuzz
heirloom-mailx
hicolor-icon-theme
hspell
hunspell
hwids
iana-etc
icu
ifplugd
inetutils
inputproto
iproute2
iptables
iputils
jasper
jfsutils
jwm
kbd
kbproto
keyutils
kmod
krb5
ldns
less
libarchive
libassuan
libcap
libcups
libdaemon
libdatrie
libdrm
libedit
libfetch
libffi
libfontenc
libgcrypt
libgpg-error
libgssglue
libice
libidn
libjpeg-turbo
libksba
libldap
libltdl
libnl
libnotify
libogg
libpcap
libpciaccess
libpipeline
libpng
libproxy
libsamplerate
libsasl
libsigsegv
libsm
libsndfile
libsoup
libssh2
libtasn1
libthai
libtiff
libtirpc
libunique
libusb-compat
libusbx
libvdpau
libvorbis
libx11
libxau
libxcb
libxcomposite
libxcursor
libxdamage
libxdmcp
libxext
libxfixes
libxfont
libxft
libxi
libxinerama
libxkbfile
libxml2
libxmu
libxpm
libxrandr
libxrender
libxslt
libxss
libxt
libxv
libxxf86vm
libzeitgeist
licenses
linux-api-headers
linux-firmware
linux-headers-raspberrypi
linux-raspberrypi
localepurge
logrotate
lvm2
lzo2
man-db
man-pages
mcpp
mdadm
mesa
mesa-libgl
midori
mkinitcpio
mkinitcpio-busybox
mtdev
nano
ncurses
net-tools
netcfg
nettle
ntfs-3g
openntpd
openssh
openssl
orc
p11-kit
pacman
pacman-mirrorlist
pam
pambase
pango
parted
pciutils
pcre
perl
pinentry
pixman
popt
ppp
procps-ng
psmisc
pth
randrproto
raspberrypi-firmware
raspberrypi-firmware-bootloader
raspberrypi-firmware-bootloader-x
raspberrypi-firmware-emergency-kernel
raspberrypi-firmware-examples
raspberrypi-firmware-tools
readline
reiserfsprogs
renderproto
rng-tools
rox
run-parts
rxvt-unicode
scim
scim-anthy
scrnsaverproto
sed
shadow
shared-mime-info
sqlite
startup-notification
sysfsutils
syslog-ng
systemd
systemd-sysvcompat
sysvinit-tools
tar
texinfo
ttf-dejavu
ttf-hanazono
tzdata
usbutils
util-linux
vi
videoproto
wayland
webkitgtk2
wget
which
wireless_tools
wpa_actiond
wpa_supplicant
xcb-proto
xcb-util
xextproto
xf86-input-evdev
xf86-input-keyboard
xf86-video-fbdev
xf86vidmodeproto
xfsprogs
xineramaproto
xkeyboard-config
xorg-bdftopcf
xorg-font-util
xorg-font-utils
xorg-fonts-alias
xorg-fonts-encodings
xorg-fonts-misc
xorg-iceauth
xorg-mkfontdir
xorg-mkfontscale
xorg-server
xorg-server-common
xorg-server-utils
xorg-sessreg
xorg-setxkbmap
xorg-xauth
xorg-xbacklight
xorg-xcmsdb
xorg-xgamma
xorg-xhost
xorg-xinit
xorg-xinput
xorg-xkbcomp
xorg-xmodmap
xorg-xrandr
xorg-xrdb
xorg-xrefresh
xorg-xset
xorg-xsetroot
xproto
xz
zlib
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

PuppiArch(続き)

投稿記事 by きりん »

Arch-armをベースとしたpuppiの構築経過です。
PC(x86)版の手順を参考に構築を進めることができます。

作業を進めるほど,puppyはよくまとめられているんだな〜と一人で納得しています。

さて、
コンソール上からのファイルの修正にはnanoを使いました。・・・初めから入っていた。
適時、PCにSDカードを接続してファイルのコピーや修正を行うと楽です。

01-パーティションの拡張
PC上のpuppyを利用して拡張すると簡単です。・・・しかし、パーティションテーブルが壊れているようでエラーが出ます。slackoのgpartedは起動すら出来ませんでしたが、preciseでは途中でエラーが出ますが拡張は可能です。ただし、swap領域の作成は不可能でした。

02-コンソールでの日本語キーボードの設定
/etc/vconsole.conf を一部修正

コード: 全て選択

KEYMAP=jp106
リブートしてキー入力を確認しておく。

03-タイムゾーンの設定

コード: 全て選択

# pacman -S tzdata
# timedatectl set-timezone Asia/Tokyo
04-swap領域の設定
/の領域内にswapを作る方法を取ります。512MBとしました。

コード: 全て選択

# dd if=/dev/zero of=/swapfile.img bs=1M count=512
# mkswap /swapfile.img
/etc/fstab に次を追加

コード: 全て選択

/swapfile.img none swap sw 0 0
リブートしてfreeで確認しておきます。

05-システムのアップデート

コード: 全て選択

# pacman -Syy
# pacman -Syu
06-Xシステムの導入
これで用事が足りると思われ・・・

コード: 全て選択

# pacman -S xorg-server xorg-xinit xf86-video-fbdev
# pacman -S alsa-utils alsa-plugins
07-フォントの導入
日本語フォントも入れておく。

コード: 全て選択

# packman -S ttf-dejavu ttf-hanazono
08-ウインドマネージャ・仮想コンソールとファイラーの導入

コード: 全て選択

# packman -S jwm rxvt-unicode rox
09-ヱディター・Webブラウザーの導入

コード: 全て選択

# packman -S geany midori
10-Xの起動テスト

コード: 全て選択

# xinit /usr/bin/jwm
ここであまりにシンプルで驚く。素の状態はこんなものなの?
・デスクトップが真っ黒で何にもない。
・メニュー項目でリスタートと終了しか機能しない。
・メニューのアイコンが表示されない。

11-アイコン・ファイルを追加する。
イメージを合わせたいのでPC上のpuppyからもらってきます。/usr/local/lib/X11 以降をそっくり同じ場所にコピー。

12-jwmのメニューを修正する。
メニューは、次のファイルになります。
/etc/system.jwmrc
PC上のpuppyの/root/.jwmrcと見比べながら、メニューの仮想コンソール・ファイラー・ヱディター・Webブラウザーの部分を修正・追加します。アイコンに燗するパスの設定<IconPath>の部分も先ほどコピーしたアイコンファイルの場所に合わせておきます。

13-Xの起動テスト(2回目)
・メニューからアプリが起動出来ることが確認できた。
・文字を入力すると日本語キーボード配列になっていない。

14-X上のキーボード設定
次のファイルを作成します。
/etc/x11/xorg.conf.d/10-keyboard.conf

コード: 全て選択

Section "InputClass"
  Identifier "Keyboard Defaults"
  MatchIsKeyboard "yes"
  Option "Xkblayout" "jp"
ENDSection
Xを起動して結果の反映を確認する。

15-ロケールの切り替え(日本語の有効化)
/etc/locale.gen を開き、"ja_JP.UTF-8"のある行を探し行頭の"#"を削除する。
次を実行。

コード: 全て選択

locale-gen
/etc/locale.conf を部分的に修正する。

コード: 全て選択

LANG=ja_JP.UTF-8
リブートしてXを起動すると日本語の状態になっていることが確認出来るはず。

16-日本語IMEの導入

コード: 全て選択

pacman -S anthy scim-anthy scim
但し、kasumiやscim-bridgeは準備されていません。

17-X起動スクリプトの修正
xinit でなく startx で起動出きるように修正する。
/etc/X11/xinit/xinitrc の最後の5行をコメントアウト(行頭に”#”を付ける)し、その後ろにscimとjwmの起動を指定する。

コード: 全て選択

#twm &
#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &
#exec xterm -geometry 80x66+0+0 -name login

export XMODIFIERS='@im=SCIM'
scim -d

jwm
18-IMEのテスト
・geany上でF6~F10を操作するとSCIMへキーコードが伝わらない。geanyの方へ横取りされている感じ・・・とりあえずgeany側のキー設定でFキーが設定されているところを削除してみたが完璧ではない。
・midori上では問題がないみたい・・・短時間なので本当?

19-ROXファイラーのテスト
・メニューはロケールの切り替えによって日本語化される。
・端末を開こうとしても無反応
・テキストとしてファイルを開こうとしても無反応

20-ROXの不都合の解消
xtermがあることを前提としているようなので、つぎのファイルをPC上のpuppyからコピーしてくる。

コード: 全て選択

/usr/bin/xterm
スクリプトの中でurxvtが起動指定されています。ROXをテストしてみると予定外の変化があった。
・テキストとしてファイルを開こうとすると仮想端末でviが起動する。
PC版のpuppyには/root/Choicesのフォルダーがあるが、探したら同じようなフォルダーがあった。次の部分を修正するとイメージとおりの動きとなった。
/usr/share/Choices/MIME-types/text

コード: 全て選択

#exec xterm -e vi "$@"
exec geany "$@"
21-デフォルトファイルの導入
puppyではdefault~のファイルを利用して間接的に導入したソフトを起動する仕掛けを利用している部分があるのでPC版のpuppyからもらってきて利用する。/usr/local/bin から、
defaultaudiomixer ・・・ defaultwordprocessor
defaultbrowser は、内容修正して midori が、
defaultemail は、内容修正して urxvt が、
defaulttexteditor は、内容修正して geany が、
自分でインストールしたものが起動するように修正。ついでの作業としてシェルの環境変数にも追加する。これもPC版のpuppyからもらってきて利用する。
/etc/profile の最後の部分に追加。

コード: 全て選択

DEFAULTBROWSER="`cat /usr/local/bin/defaultbrowser | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTDRAW="`cat /usr/local/bin/defaultdraw  | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTHTMLEDITOR="`cat /usr/local/bin/defaulthtmleditor  | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTMEDIAPLAYER="`cat /usr/local/bin/defaultmediaplayer  | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTPAINT="`cat /usr/local/bin/defaultpaint  | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTSPREADSHEET="`cat /usr/local/bin/defaultspreadsheet  | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTTEXTEDITOR="`cat /usr/local/bin/defaulttexteditor  | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTWORDPROCESSOR="`cat /usr/local/bin/defaultwordprocessor  | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTIMAGEVIEWER="`cat /usr/local/bin/defaultimageviewer | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
DEFAULTIMAGEEDITOR="`cat /usr/local/bin/defaultimageeditor | tail -n 1 | tr -s " " | cut -f 2 -d " "`"
export DEFAULTBROWSER DEFAULTDRAW DEFAULTHTMLEDITOR DEFAULTMEDIAPLAYER DEFAULTPAINT DEFAULTSPREADSHEET DEFAULTTEXTEDITOR DEFAULTWORDPROCESSOR DEFAULTIMAGEVIEWER DEFAULTIMAGEEDITOR
22-デスクトップアイコンを導入する
/etc/X11/xinit/xinitrc のjwmの起動指定の前に次を追加。

コード: 全て選択

rox -p /root/.config/rox.sourceforge.net/ROX-Filer/PuppyPin
PC版のpuppyから次のファイルをもらってくる。
/root/Choices/ROX-Filer/PuppyPin を /root/.config/rox.sourceforge.net/ROX-Filer/PuppyPin としてコピー。
startxでXを起動してみると、
・壁紙が見つかりませんとエラーが出る。
・アイコンは表示されるようになったが望みのアイコンでない。

これを解消するには、
・壁紙のファイルをPC版のpuppyからもらってきて、ROXで指定する。壁紙のファイルは、/usr/share/backgrounds にあります。画面のアイコンがない部分でマウスの右クリックの補助メニューで壁紙の指定ができます。
・デスクトップアイコンは該当のアイコンをマウスの右クリックの補助メニューで登録できます。
設定したアイコンの情報は、/root/.config/rox.sourceforge.net/ROX-Filer/globicons に記録されるのですね。これもコピーしてくればよかった。

これからの課題
01-Webブラウザーで動画を見るにはどうするか?
02-画像のビュアーは何がよいか?
03-PDFファイルのビュアーは何がよいか?
04-アクセレーションが効いた動画プレーヤーは何がよいか?
05-LAN内のファイルの共有はどうする?
06-プリンターへの印刷は?
07-office関係のソフトを動かしてみると・・・
08-Archビルドシステムはどうやって利用するのだろう
09-pmoutを入れると動作するか?
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

試行錯誤の連続ですが・・・
ベースは、なんとなくarch-armが一番きびきびとした動作みたいです。
GUIとしてJWMをインストールしてみましたが、どのディストリでも極めてシンプルな状態でしか起動できません。ROXと合わせてpuppy-likeとするには、あちこちをごりごりいじる必要があります。
結果的に勉強…勉強。puppyさんはよく調教されているのですね。
なんとなく、uimとanthyを日本語IMEとして利用するのがよさそう…が、ひとつの方向性。
しばらく、潜水艦状態で進行。
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

比較的安定動作するRaspbianへpuppy似とするために手を加えてみましたが、手数を掛けてもなかなか思い通りに仕上がりません。
バリーさんのブログ、 http://bkhome.org/blog2/?viewDetailed=00283 がありました。
しばらくすると纏まった形でイメージが発表されると期待していましたが、なかなか発表されないので作成を試みてみました。
現時点の結果は、OSは起動出来ましたが、Xがセグフォルトで落ちて希望のところへ到達出来ずです。
woof2での試み経過をアップしておきます。
woof2の入手や取扱い方は、http://bkhome.org/fossil/woof2.cgi/home を参照して行います。
ext2やext4でフォーマットされた領域をもつPCが必要になります。10GB程度の準備が必要です。やり直しが出るので週末2日は潰す覚悟が必要です。

merge2out を実行するとホストとターゲットの選択があります。ホストはwoofを実行している環境なのでx86を選択し、ターゲットはraspberry pi なので arm を選択します。ベースとなるデストリは、raspbian_wheezy を選択しました。
0setup は、無事通過。
1download も、無事通過。
2createpackages で、引っ掛かり発生。「必要なパッケージが無い」が多いので個別にダウンロードして補った。「JWMのパッケージがない」が最後まで残ったが、DISTRO_PKGS_SPECS-raspbian-wheezy の記述ミスのようで、jwmの行の記述を修正してOKとなる。
3builddistro で、スクリプトが中断してしまう。SDにイメージを書き込む部分(3400行辺り)なので、前後を眺めながら、手動でイメージ作りとした。sd-skeleton-imagesをddコマンドでSDカードに展開。1stパーティションにsandbox3/build/vmlinuzをkernel.imgとして書き込み。2ndパーティションにsandbox3/rootfs-completeの中身をコピー。/etc/fstabに追加情報を書き込み。・・・が主なところ。

出来上がったSDカード起動してみると、
・初回の起動はハングしたと思えるほど時間が掛かりますが、次回以降はそれほどでもなし。
・rebootとpoweroffの動作を確認するとOK。
・freeコマンドでRAMの認識状態を確認すると400Mあり、256の壁を越えている。
・mountコマンドでtmpにramデスクが割り当てられているかチェックok。
・xwinでGUIを起動してみるとセグフォルトで落ちる。logをraspbianでの動作と比較確認してみたがヒントが見当たらず。
と、ここまでで週末2週を消化。
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

きりん さんが書きました: 3builddistro で、スクリプトが中断してしまう。
で、追加の作業状態レポート。
3builddistroのSDカードイメージを作るところを少し追いかけてみた。
全体的な流れとしては、
1.圧縮されているスケルトン・イメージをコピー展開。
2.続いて、イメージのパーティション構成をチェック。
3.パーティション1をマウント。必要なファイルを書き込みしてアンマウント。
4.パーティション2をマウント。必要なファイルを書き込みしてアンマウント。
5.ddコマンドでSDカードに書き込み。
6.配布用としてイメージを圧縮ツールで圧縮。
の流れのようです。
一連の中でパスの指定に不十分さが見つかったので修正したが、mount動作のところでエラーになってしまう。
disktypeコマンドで得たイメージファイルの情報からパーティションのオフセットを計算してマウントします。具体的には、
busybox mount -t vfat -o loop,offset=1048576 ./raspi-sd-4gb-skeleton-ext4_nojournal-29may2013.img /mnt/sdimagep1
なのですが、コンソールから手打ちをしてみても引数エラーでマウント出来ない。
mount:mounting /dev/loop2 on /mnt/sdimagep1 failed: Invalid argument
woofを利用するデストリの制限(現在 precise-550JP)やsfsファイルのロード制限(二つしかロードしてない)を疑ってみたが、無関係だよな・・・
複数パーティションのimgファイルの正しい扱いは?
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

3builddistro を最後まで走らせることが出来ました。
構築ホストの環境によって異なるところがあるかと思いますが、修正した部分の情報をあげておきます。

(1) 3298行辺り
# unxz ${SDIMAGE} ←コメントアウト
unxz ./${SDIMAGE} ←追加

(2) 3308行辺り
# IMGBYTES=`stat --format=%s $SDBASE` ←コメントアウト
IMGBYTES=`stat --format=%s ./$SDBASE` ←追加

(3) 3321行辺り
# SDIMGINFO="`disktype ${SDBASE}`" ←コメントアウト
SDIMGINFO="`disktype ./${SDBASE}`" ←追加

(4) 3344行辺り
# P2STARTBYTES=`expr $P1STARTSECTORS \* $BYTESPERSECTOR` ←コメントアウト
P2STARTBYTES=`expr $P2STARTSECTORS \* $BYTESPERSECTOR` ←追加

(5) 3351行辺り
# busybox mount -t vfat -o loop,offset=${P1STARTBYTES} ${SDBASE} /mnt/sdimagep1 ←コメントアウト
mount ./${SDBASE} /mnt/sdimagep1 -t vfat -o loop=/dev/loop10,offset=${P1STARTBYTES} ←追加

(6) 3366行辺り
# busybox umount /mnt/sdimagep1 2>/dev/null ←コメントアウト
umount /mnt/sdimagep1 2>/dev/null ←追加

(7) 3372行辺り
# busybox mount -t ${SDFS2} -o loop,offset=${P2STARTBYTES} ${SDBASE} /mnt/sdimagep2 ←コメントアウト
mount ./${SDBASE} /mnt/sdimagep2 -t ext4 -o loop=/dev/loop10,offset=${P2STARTBYTES} ←追加

(8) 3385行辺り
# busybox umount /mnt/sdimagep2 2>/dev/null ←コメントアウト
umount /mnt/sdimagep2 2>/dev/null ←追加

(9) 3390行辺り
# dd if=${SDBASE} of=${SDDEVICE} bs=4M #120704 added bs=4M ←コメントアウト
dd if=./${SDBASE} of=${SDDEVICE} bs=4M #120704 added bs=4M ←追加

(10) 3411行辺り
# xz --stdout ${SDBASE} > ${PUPIMG}.xz ←コメントアウト
xz --stdout ./${SDBASE} > ./${PUPIMG}.xz ←追加

(1),(2),(3),(9),(10) パス指定を明らかにした。
(4) 変数名の誤り修正。
(5),(6),(7),(8) mount方法変更による処理。

このスクリプトで作成されたSDカードの内容を確認すると、/etc/fstab への追記内容が間違っていました。面倒なので手動で修正。
実際に使用してみると、起動しますがGUIは以前の報告と同様に落ちます。
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

構築作業を行っているコンソールをじっと眺めていたら、2createpackages の動作途中に "give up" のメッセージが頻繁に流れる。
初期状態からもう一度やり直しを行ってみたら、パッケージのダウンロードの時点でエラーが出ている。そういえば、スクリプトでダウンロードした後、不足分を手動で補ったのだった。1download のスクリプトを眺めていたら、wgetでファイルをダウンロードした後、dpkg-deb で一度解凍しファイルが壊れていないかのチェックを行う動きだった。
コンソールをもう一つ立ち上げ、dpkg-deb --help と打ち込んでみると、あれ? 圧縮に使う手段に"xz"がないみたい。
と言うことで、ppmを最新の状態に更新して、dpkgのパッケージを最新のもので上書き更新。ダウンロードエラーが出なくなった。
少し期待が持てそうな感じ。現時点のビルド環境は、precise-550JP ですが、既に枯れた存在なのかな・・・。
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

きりん さんが書きました: 実際に使用してみると、起動しますがGUIは以前の報告と同様に落ちます。
さてどうしよう。多分、足りない実行ファイルがあるのだろう・・・と、スクリプトを作成・走らせて不足と思われるものを補充を考えました。

コード: 全て選択

#!/bin/sh
# loop package files
for pkg in `ls -1  ./.packages/builtin_files`
do
  echo "pkg name:"$pkg
  # read package file item
  for fn in `cat  ./.packages/builtin_files/$pkg`
  do
    if [ `echo $fn | cut -c 1` == "/" ]
      then 
        dir=$fn
      else
        tag=$dir/$fn
        if [ -a $tag ]
          then
            if [ -h $tag ]
              then
                echo "link file:"$tag
              else
                if [ -x $tag ]
                  then
                    echo "exec file:"$tag
                    ldd $tag
                  else
                    echo "no exec file:"$tag
                fi
            fi
          else
            echo "no file:"$tag
          fi
    fi
  done
done
実行してみると、実行属性が不足していると思われるファイル(*.so*)がぞろぞろ出てきた。これらに実行属性をつけて起動してみたが見掛けの変化なし、不足ファイルを補充して起動してみるとxwinでのエラーの出方が変化した。
DISTRO_PKGS_SPECS-raspbian-wheezy に不足パッケージをインストールするように追記して、再度ビルドを始める・・・明日の朝にはビルドが終わるかな。
ふうせん Fu-sen.
記事: 561
登録日時: 13/09/17(火) 10:01

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by ふうせん Fu-sen. »

|・・)オジャマシマスー

Raspberry Pi は ARMv6、iPhone に例えると iPhone 3G 辺りのスペックなのだそうで、
メイン公開の OS も Debian ベースという現状ですね。
Puppi も今のところ Debian ベースで進んでいるようですが……

個人的には SD カードで動く Raspberry Pi は、Debian そのままだと
ディスクアクセスが多発するので、SD カードがすぐダメになる可能性が高いと見ています。
そうするとメモリに入れて起動する Puppy の仕組みは理想的ですね。

ARM という事で .pet .sfs が生かせず、.deb に頼る事になるかもしれませんが、
Puppy が Raspberry Pi でまともに動くようになるのは大きいと思っています。
ARM で動く機器も触れていますし、ARM 版の Puppy が形になるのは
今後の機器でも動かす事ができるという意味でも大きいと思っています。
ふうせん Fu-sen. ( old: 2 8 6 )
きりん
記事: 553
登録日時: 08/02/24(日) 21:49
連絡する:

Re: Raspberry pi(Puppi)動かしてみました

投稿記事 by きりん »

沈黙が続いたので近況を。

1.現状利用できるディストリを食い散らかしていると、Arch-armが一番きびきびと動作する印象があります。Raspbianも体感動作が上がって来ている感じがします。RAMの使い方(/tmp等での)が少しずつ変化しているようです。webを徘徊しているとtiny coreのpi版を見つけました。試してみると爽快。ただ、必要なソフトの揃い具合がまだまだです(特に日本語環境とするには)。動作の印象が何でこんなによいのだろう…と突いていると、起動時にオン・メモリーにとにかく読み込む動作をするのですね。→ひとつのヒント

2.Raspbian+Woofでは、いまだにXの起動が出来ていません。それではと言うことで、動作しているRaspbianの上にpuppyの環境を接ぎ木するトライを行っています。バイナリーのアプリはRaspbianで提供されているものをそのまま使い、スクリプト系はpuppyから持ってこようと言うやり方です。具体的には、Raspbianではrootでの動作が強く制限されているので、ユーザー:puppyを追加し、ユーザー:piと同等のユーザーグループ設定として/home/puppyの下に接ぎ木環境を作る考え方です。あっちこっちのpathの設定やり直しが必要で思うように進みません。もう一捻りできると格好が付きそうなのだけれど…。

3.別アプローチとして、Puppi cockroachの動作が鈍いところを改善作業。
(ア)picoreのフォーラムを眺めていたら、xf86-video-fbturboの記事がありました。https://github.com/ssvb/xf86-video-fbtu ... 点で導入されています
(イ)コンソールでmountを叩いてみると、RAMを利用するtempfsがあまり利用されていない。/etc/rc.d/rc.sysinitの内容が最近のpuppyさんとは少し異なる。とりあえず、/tmpをtmpfsを利用するように変更を掛ける。→ Arch linux-armの使い方に近づける。
(ウ)webブライザーのキャッシュを保持するpathを/tmpに変更してみた。とにかくRAM上で勝負する環境が一番よいのでしょうが、さてどうしましょう。
(エ)日本語IMEとしてuimとanthyを導入。ppmを利用しようとしたらリポジトリーの更新でエラーがでる。debianのwebを参照しながら手動で依存関係を追いかけインストールしたが、何故かuimがanthyを認識しない。…嵌っています。

4.それではIMEの導入実績のあるPuppi SAPでxf86-video-fbturboを導入してみるとどうなるか? →これから挑戦。

5.picoreにpuppyを接ぎ木するとどうなる?→仮想環境で実験するのが良いのか?これも山が高そう…。
返信する