2015年6月24日水曜日

Linux DVBドライバでPT3を使ってみる

Linux kernel 3.18からPT3のDVBドライバがメインラインに組み込まれた。

DVBドライバだとMythTVから使えたりいろいろと便利なので使ってみる。

参考
Gentoo LinuxでTVを見る話 - オムライス
Fedora 22でカーネルライブパッチを試してみる - Narrow Escape

まず現在の環境がCentOS7.1。標準のままなのでカーネルのバージョンは3.10。

せっかくなので新しい機能とか使いたいしFedora22にしました。

Fedora22は標準でカーネルが4.0になってますがPT3ドライバが無効になっているのでカーネルの再構築をします。

まずPT3のドライバとモジュールが読み込まれていないことを確認
# lspci -v
01:00.0 Multimedia controller: Altera Corporation Device 4c15 (rev 01)
Subsystem: Device ee8d:0368
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at fdeff000 (64-bit, prefetchable) [size=4K]
Memory at fdefe000 (64-bit, prefetchable) [size=4K]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Endpoint, MSI 01
Capabilities: [100] Virtual Channel

 

rpmbuild環境の整備
# dnf install -y rpmdevtools
# rpmdev-setuptree
# dnf builddep -y kernel
# dnf install -y numactl-devel pesign

 

Fedora22のSRPMをダウンロード、インストール
# cd /usr/src
# dnf download --source kernel
# rpm -Uvh kernel-4.0.5-300.fc22.src.rpm

 

カーネルの設定の為一度ビルド
# cd ~/rpmbuild
# rpmbuild -bb SPECS/kernel.spec

 

設定
# cd BUILD/kernel-4.0.fc22/linux-4.0.4-301.fc22.x86_64/
# make menuconfig

 
PT3ドライバの有効化
Device Drivers --->
<*> Multimedia support --->
[*] Media PCI adapters --->
<M> Earthsoft PT3 cards

FUSEの有効化
File systems --->
<*> FUSE (Filesystem in Userspace) support

せっかくなので新機能のLIVEPATCHの有効化
Processor type and features --->
Kernel Live Patching Kernel hacking --->
[*] Sample kernel code --->
<M> Build live patching sample -- loadable modules only

# cp .config ~/rpmbuild/SOURCES/config-x86_64-generic

 

バージョンの変更

インストールの際同じバージョンがインストールされていると弾かれたり、正常にインストールされたか確認したりできるのでバージョンを変更します。
# vi ~/rpmbuild/SPECS/kernel.spec

今回はバージョン名を300pt3にします
global baserelease 300pt3

 

RPMの作成
# cd ~/rpmbuild
# rpmbuild -ba SPECS/kernel.spec

 

インストール
# cd RPMS/x86_64
# rpm -i kernel-4.0.5-300pt3.fc22.x86_64.rpm kernel-core-4.0.5-300pt3.fc22.x86_64.rpm kernel-modules-4.0.5-300pt3.fc22.x86_64.rpm
# reboot

 

バージョンの確認
# uname -r
4.0.5-300pt3.fc22.x86_64

 

lspciでドライバとモジュールが読み込まれているか確認

# lspci -v
01:00.0 Multimedia controller: Altera Corporation Device 4c15 (rev 01)
Subsystem: Device ee8d:0368
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at fdeff000 (64-bit, prefetchable) [size=4K]
Memory at fdefe000 (64-bit, prefetchable) [size=4K]
Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Endpoint, MSI 01
Capabilities: [100] Virtual Channel
Kernel driver in use: earth_pt3
Kernel modules: earth_pt3

 

有効化されました。

2015年6月14日日曜日

SELinuxの設定

SELinuxを無効にするのが流行ってるらしいけどセキュリティ的に危ないので設定のメモ

SELinuxの設定の検索
# getsebool -a | grep [キーワード]

Sambaの場合
# getsebool -a | grep samba
samba_create_home_dirs --> off
samba_domain_controller --> off
samba_enable_home_dirs --> off
samba_export_all_ro --> off
samba_export_all_rw --> off
samba_load_libgfapi --> off
samba_portmapper --> off
samba_run_unconfined --> off
samba_share_fusefs --> off
samba_share_nfs --> off
sanlock_use_samba --> off
use_samba_home_dirs --> off
virt_sandbox_use_samba --> off
virt_use_samba --> off
初期値では全ての項目がoffになっているのでSambaでのファイル共有が正常にできない。

SELinuxの設定の変更
# setsebool -P [項目] [true/false]

Sambaの場合
# setsebool -P samba_create_home_dirs true
# setsebool -P samba_domain_controller true
# setsebool -P samba_enable_home_dirs true
# setsebool -P samba_export_all_ro true
# setsebool -P samba_export_all_rw true
# setsebool -P samba_share_fusefs true
# setsebool -P samba_share_nfs true

関係ありそうなものを有効にすることでSambaが正常に動作する。

Linuxでエラーが出るときはまずSELinuxを疑えば良い。

2015年6月6日土曜日

Windows 10へアップグレードの予約開始

Windows 10への無料アップグレードの予約が開始

3日くらい遅れて自作のデスクトップとノートPCに通知が来ました。
2015年7月29日公開で1年間は無料でアップグレード可能、一度アップグレードしたらその後は継続してWindows 10を使い続けることができるらしい。

だが現時点でWIMBoot環境からのWindows 10へのアップグレードができない。

Windows 8.1プリインストールのタブレットの多くは容量削減のためにWIMBoot環境だろうしアップグレードできないことになる。


実際この前買ったWindows 8.1 with BingのPloyer momo7wだけどWIMBootだからなのか予約の通知自体が来ない。

普通に再インストールしてWIMBootを解除したら行けるだろうけどwith BingのインストールメディアはないしかといってこれだけのためにWin8.1のライセンス購入するのももったいないし売っちゃおうかな。