2012年06月29日

壊すのはアッという間。archlinux

前稿のように、linux-3.4.2-2でpt2が動くことが確認できた。
ならば、archlinuxのほうも、そのように、
とひさしぶりにarchlinuxを起動した。

kernelがlinux-3.3.7-1のころから放置したまま。
sudo pacman -Syu したら、
kernelを含む190以上のファイルが
更新されることになって、やばいな、と思った。

いやな予感は的中。途中で
エラー表示が出て更新できない。
何々がconflictしちゃっている。
そのファイルが存在するからconflictする
みたいに言ってくるから、無ければいいのか、の
甘い経験則で、当該ファイルの場所を移動して
更新しなおしたら、今度は別なエラー表示が出る。
うんざり。

ubuntuをつないで立ち上げ、
元通りの状態なはずに戻したけど、
linux-3.3.7-1起動の途中で
止まる症状は、治らなかった。
起動時の止まるまでの表示に
これこれがfailedって出るけど、
素人の私が対応するのは無理。

更新時にエラーが出たときは、
落ち着いて、内容を把握し、きっちり
対応することを、再度肝に銘ずる。
完全に内容を把握できるまで
アクションしないのがいい。

通常、pacmanで更新して、
インストール時にときどき出る表示に、
設定ファイルの更新みたいなのがある。
XXXXX,pacnewというタイトルでインストールした
から、名前の後ろのpacnewをとって、
これを正規のxxxxxにしろ、ってわけだね。
これは、きっちりしておいたほうがいい。

更新を日々やっていないと、私のような目に遭いやすい。
間の更新自体が抜けおちて、いきなり最新に更新しよう
とするとき、不都合なことが起こる。
archbangのほうは、日々更新していることで
困ったことは何も起こらず、今日まで来ているから。

海千山千の上級者なら、たぶん対応できるに
ちがいないけど、初心者の毛の生えたぐらいの私には
復旧させることはむずかしい。
新しいarchlinuxのインストールデータが
オフィシャルサイトに用意されたら、
またインストールしてみる。
いまあるのは去年の8月のもので
ちゃんと動くようにするのに疲れすぎる。
posted by ブログ開設者 at 20:17| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

linux-3.4でpt2映る。archbang

Yazawaさん(http://hg.honeyplanet.jp/pt1/)に大感謝です。

kernelをlinux-3.3.8にしてテレビ視聴できていたが、
その後の、linux-3.4.2-1、linux3.4.3-1、linux3.4.4-1、
linux-3.4.4-2と更新するたびにキャラクターデバイス版ドライバを入れ直して
みたいが、ドライバ自体が未対応ということが確定的であった。

本日、新しいドライバ、pt1-b14397800eaeが
リリースされていることを発見(同ページのbz2をクリックすると
ダウンロードできる)。
さっそく、kernelを最新のlinux-3.4.4-2にし、
pt1-b14397800eaeでもって、ドライバだけでなく、
同梱の録画ツールもインストールしなおした。

これ以上、ごたごた言っても、何の足しにもならないから
きょう、シェル操作でやったことを
そのままコピペしたほうが役に立ちそうってことで、、、、。
行きます(インストール時の表示込み)。

[xxx@archxxx ~]$ sudo nano /etc/pacman.conf
で設定ファイルを開いて、

#
# /etc/pacman.conf
#
# See the pacman.conf(5) manpage for option and repository directives

#
# GENERAL OPTIONS
#
[options]
# The following paths are commented out with their default values listed.
# If you wish to use different paths, uncomment and update the paths.
#RootDir = /
#DBPath = /var/lib/pacman/
#CacheDir = /var/cache/pacman/pkg/
#LogFile = /var/log/pacman.log
#GPGDir = /etc/pacman.d/gnupg/
HoldPkg = pacman glibc
# If upgrades are available for these packages they will be asked for first
SyncFirst = pacman
#XferCommand = /usr/bin/curl -C - -f %u > %o
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
#CleanMethod = KeepInstalled
Architecture = auto

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
IgnorePkg = ccid linux linux-headers
..................................................................
.......................................................
.........................................................................

IgnorePkg = ccid linux linux-headers
のところの、linux linux-headersを削除して保存。
つまり、kernelを更新できるように変更した。

[xxx@archxxx ~]$ sudo pacman -Syu
:: Synchronizing package databases...
core is up to date
extra 1404.3 KiB 5.89M/s 00:00 [######################] 100%
community 1726.5 KiB 4.49M/s 00:00 [######################] 100%
multilib is up to date
archlinuxfr is up to date
:: Starting full system upgrade...
warning: obkey-git: local (20111101-1) is newer than archlinuxfr (20111026-1)
resolving dependencies...
looking for inter-conflicts...

Targets (2): linux-3.4.4-2 linux-headers-3.4.4-2

Total Installed Size: 102.99 MiB
Net Upgrade Size: 0.55 MiB

Proceed with installation? [Y/n] Y
(2/2) checking package integrity [######################] 100%
(2/2) loading package files [######################] 100%
(2/2) checking for file conflicts [######################] 100%
(2/2) checking available disk space [######################] 100%
(1/2) upgrading linux [######################] 100%
>>> Updating module dependencies. Please wait ...
>>> Generating initial ramdisk, using mkinitcpio. Please wait...
==> Building image from preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.4.4-2-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [pata]
-> Running build hook: [scsi]
-> Running build hook: [sata]
-> Running build hook: [filesystems]
-> Running build hook: [usbinput]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.4.4-2-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [pata]
-> Running build hook: [scsi]
-> Running build hook: [sata]
-> Running build hook: [filesystems]
-> Running build hook: [usbinput]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
(2/2) upgrading linux-headers [######################] 100%

[xxx@archxxx ~]$ sudo reboot

新しいドライバをダウンロード、homeに解凍後、

[xxx@archxxx ~]$ cd ~/pt1-b14397800eae/recpt1
[xxx@archxxx recpt1]$ sudo ./autogen.sh
Generating configure script and Makefiles for recpt1.
Running aclocal ...
Running autoheader ...
Running autoconf ...

[xxx@archxxx recpt1]$ sudo ./configure --enable-b25
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for create_arib_std_b25 in -larib25... yes
checking for log10 in -lm... yes
checking for pthread_kill in -lpthread... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h

[xxx@archxxx recpt1]$ sudo make
revh=`hg parents --template 'const char *version = "r{rev}:{node|short} ({date|shortdate})";\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
echo "const char *version = \""1.1.0"\";" > version.h; \
fi
gcc -MM recpt1.c decoder.c mkpath.c tssplitter_lite.c recpt1ctl.c -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 > .deps
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1.o recpt1.c
recpt1.c: 関数 ‘reader_func’ 内:
recpt1.c:341:25: 警告: 変数 ‘addr’ が設定されましたが使用されていません [-Wunused-but-set-variable]
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o decoder.o decoder.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o mkpath.o mkpath.c
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o tssplitter_lite.o tssplitter_lite.c
gcc -o recpt1 recpt1.o decoder.o mkpath.o tssplitter_lite.o -lpthread -lm -larib25
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o recpt1ctl.o recpt1ctl.c
gcc -o recpt1ctl recpt1ctl.o
gcc -O2 -g -pthread -I../driver -Wall -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o checksignal.o checksignal.c
gcc -o checksignal checksignal.o -lpthread -lm

[xxx@archxxx recpt1]$ sudo make install
install -m 755 recpt1 recpt1ctl checksignal /usr/local/bin

[xxx@archxxx recpt1]$ cd ../driver

[xxx@archxxx driver]$ sudo make
revh=`hg parents --template '#define DRV_VERSION "r{rev}:{node|short}"\n#define DRV_RELDATE "{date|shortdate}"\n' 2>/dev/null`; \
if [ -n "$revh" ] ; then \
echo "$revh" > version.h; \
else \
printf "#define DRV_VERSION \""1.1.0"\"\n#define DRV_RELDATE \""2010-01-27"\"\n" > version.h; \
fi
make -C /lib/modules/`uname -r`/build M=`pwd` V=0 modules
make[1]: ディレクトリ `/usr/src/linux-3.4.4-2-ARCH' に入ります
CC [M] /home/izm/pt1-b14397800eae/driver/pt1_pci.o
CC [M] /home/izm/pt1-b14397800eae/driver/pt1_i2c.o
CC [M] /home/izm/pt1-b14397800eae/driver/pt1_tuner.o
CC [M] /home/izm/pt1-b14397800eae/driver/pt1_tuner_data.o
LD [M] /home/izm/pt1-b14397800eae/driver/pt1_drv.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/izm/pt1-b14397800eae/driver/pt1_drv.mod.o
LD [M] /home/izm/pt1-b14397800eae/driver/pt1_drv.ko
make[1]: ディレクトリ `/usr/src/linux-3.4.4-2-ARCH' から出ます

[xxx@archxxx driver]$ sudo make install
install -m 644 pt1_drv.ko /lib/modules/`uname -r`/kernel/drivers/video
if [ -d /etc/udev/rules.d -a ! -f /etc/udev/rules.d/99-pt1.rules ] ; then \
install -m 644 etc/99-pt1.rules /etc/udev/rules.d ; \
fi
depmod -a

[xxx@archxxx driver]$ sudo reboot

[xxx@archxxx ~]$ recpt1 --udp --strip --b25 000 - /dev/null
enable UDP broadcasting
enable B25 strip
using B25...
pid = 3532
C/N = 11.594273dB
Recording...

おぉ、受信できた。それにしても、受信状態は相変わらずひどい。
でもまあ映る。上記で「000」は実在するチャンネル番号に置き換える。

視聴は、たいがいvlcでやっている。立ち上げたら、
[メディア]のプルダウンから[ネットワークストリームを開く]を選ぶ。
[ネットワークURLを入力してください:]の下の窓に
「udp://127.0.0.1 」と入力(ポート番号は付けない)して
[再生]をクリックすれば視聴できる。
二ヶ国語放送などのとき、vlcは音が出なくなるね。
(vlcメディアプレーヤー2.0.1 Twoflower)
posted by ブログ開設者 at 00:48| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする

2012年06月21日

いざ、鎌倉。archbang

知らなんだ。2012/05/02の日付でarchbangの
新しいインストールデータが用意されていた。
http://archbang.org/download
ちなみに、本家のarchlinuxは、古いままで、まだ2011/08/19。

archbangに興味のある人は、
すでに出てからひと月以上過ぎているけど、
始めるにはいいタイミングかもしれない。

インストール後に、pacmanで問題なく更新できて、
最新の状態にできるだろう。

ただ、じぶんのように、
pt2でキャラクターデバイス版ドライバを
使うとかだと、カーネルは、
linux-3.3.8-1でないと動かない。
pacman -Syu などで更新すると、
黙ってlinux-3.4.3-1になってしまうはず。

そこで、下記のサイトが役に立つ。
http://schlunix.org/archlinux/
古いパッケージが用意されている。
たいへん便利。
ダウンロードしたら、
pacman -U /カーネル/ファイル/の/ある/場所/linux-3.3.8-1-x86_64.pkg.tar.xz
pacman -U /カーネル/ファイル/の/ある/場所/linux-headers-3.3.8-1-x86_64.pkg.tar.xz
などとやれば、簡単に古いカーネルへ"戻り更新"できる(もちろん再起動後に反映)。
同サイトは、クリックしても、ページが重くて
すぐには開かないから、待つこと。

pt2に必須アイテムのカードリーダーに
必要なパッケージ、
cid13なんかもここで手に入れた。
posted by ブログ開設者 at 21:52| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする