mate-applets-1.20.3のemergeをcompile phaseでwarningが出ていて,
undefined reference to `cpupower_is_cpu_online'
という文言が出る場合
emerge cpupowerでライブラリを更新することで解決できる。
mate-applets-1.20.3のemergeをcompile phaseでwarningが出ていて,
undefined reference to `cpupower_is_cpu_online'
という文言が出る場合
emerge cpupowerでライブラリを更新することで解決できる。
新年あけましておめでとうございます。
4pkです。
2018年は様々なマシンにGentooLinuxを入れてうまく動いたり動かなかったりしてきました。
年の後半は忙しくなってあまり記事も書かずに裏でこそこそ活動していました。
これまでの経験からGentooについていったんまとめ記事的なものを書こうと思います。
記事は別記事にまとめて書く予定です。
参考までに今まで入れてきたマシンの一覧を載せておきます。
2010年頃
・acer Aspire(めっちゃ古いPenデュアルコアのやつ)
2015年頃
・DELL Precision T1650
2016年頃
・Galleria(2009年のドスパラのBTOデスクトップ)
2018年頃
・HP Z420
・HP Z210
・Asus Zenbook UX31A
・MacBookAir
・MacBookPro
・Diginnos DG-D09IW2S(ドスパラのWinタブ)
・SurfacePro3
記事は,
デスクトップ編(基本編を兼ねる)
ラップトップ編
Winタブレット編
ぐらいに分けて書こうと思います。
・概要
うっかりSurfacePro3を落札してしまいました。
しかも,メモリ4GBのSSD128GBという底辺スペックのものを25000円ぐらいで落札。
あーやってしまったと思ったが,ものが届くとメモリ8GBのSSD256GBであった。
どこを間違えたんやと思いながら,
安かったかどうかは議論の余地があるが,MBA以外でまともなスペックのノートがこの値段で買えたならまあええかとなりました。
タイプカバーがついてなかったので,追加で購入。USキーボードのものが国内では人気がなく安いためめっちゃ都合がええやんけと言いながら買いました。
Winタブが完結していない中でこっちを先にやってしまいました。
MacBookもまだ途中だし,年内で全部まとまるのか謎です。。
Surfaceは普通に使う分には普通に動くのですが,細かい部分は積み上げられた叡智があるので叡智をいただくことで比較的簡単にできます。
基本的なところは全部省略します。
基本的なところだけをまとめた記事も製作したいですね。(遠い目)
とりあえず,#gentooinstallbattle カテゴリーでまとめているのでしばらくはそれで追うようにしてください。
追記しないといけない記事もたくさんありますが,もう少し時間をください。
・カーネルコンフィグ
偉大なる叡智は下記にあります。
https://github.com/danielquinn/Gentoo-Surface-Pro-3
ここのkernelディレクトリのReadmeを読んでください。
よくわからん場合,適当に最新のフォルダをそのまま/usr/src/linuxに置いてください。
パッチはしてもしなくても良いかも
.configをgenkernelで読み込むように,/etc/kernels/とかに置いてください。
自分の環境では,rootで実行するのとsudoで実行するので参照フォルダが変わりました。
oldconfigすれば一発でSurface用のカーネルができあがります。
カーネル自体が変わることになるので,
grub-mkconfig -o /boot/grub/grub.cfg
も忘れずに。
多分,なんとかgentoo-surfacepro3が増えてると思います。
・サスペンドやハイバーネイト
→サスペンドは安定化(下方に記載)
ハイバーネイトは復帰後,無線モジュールが死ぬ問題が残っている。
・バックライト明るさ変更
GnomeだとうまくいくがMATEだとうまくいかないので,直接変更するコマンドを自作しました。
変更自体は生きてるのですが,キーボードのショートカットキーがうまくいきませんでした。
作り方
sudo mkdir /usr/local/bin/custom_command
/etc/profileの一番最後に内容を追記
export PATH=$PATH:/usr/local/bin/custom_command
custom_commandディレクトリにコマンドのシェルスクリプトを作成する。
コマンド名をbacklight_brightnessにした。
内容は下記
#!/bin/sh
echo -n "明るさの指定(0-937):"
read value
sudo -- sh -c "echo $value > /sys/class/backlight/intel_backlight/brightness"
明るさは,/sys/class/backlight/intel_backlight/max_brightnessで確認してください。
%で指定したい人は,valueの値を0−100にして最大の明るさと合うように変換してください。
忘れずに実行権限を追加する。
chmod 755 backlight_brightness
・残件
意外とうまくいかない部分が多いです。
その中でも特に実用するのに困ったサスペンドの部分だけ先に書きます。
・サスペンドの有効化
普通にGentooをインストールしたらカーネルが4.14ぐらいのバージョンになっていると思います。
このバージョンのカーネルだとタイプカバーなどは問題なく使えてもサスペンドあたりの機能が正常に動作しないようです。
(だいぶ色々やったけど無理だった)
もう無理なのかと諦めかけていたとき,Ubuntuのフォーラムなどで
4.17だけどうまくいかないんだ
4.18にしたらどうだい?
おお,うまくいったお
みたいなやり取りを何度か見かけたのでとりあえず最新にする試みはするだけしようと思い,4.19までバージョンを上げてみました。
その結果,サスペンドは問題なく動作するようになったのでカーネルのバージョンアップのやり方も復習しながら方法を書いていきます。
①最新のカーネル取得
overlayで最新のカーネルソースを取れるようにします。
私はlaymanで
sudo layman -a gentoo
でしました。(laymanに関しては割愛)
/usr/portage/sys-kernel/gentoo-sources/の中に最新のカーネルソースがあるので,emergeします。
sudo emerge gentoo-sources-4.19.12.ebuild
こうすることで,/usr/src/の中に新しいカーネルソースが入ります。
1GBぐらい容量があるので注意してください。
Gentooは便利なのでカーネルの変更をeselectで簡単にすることができます。
sudo eselect kernel list
で確認して,
sudo eselect set 2
などで新しいカーネルを選択してください。
genkernelを導入している場合は,oldconfigを有効にして
sudo genkernel --install all
で特に変えるところもなくいけると思います。
sudo grub-mkconfig -o /boot/grub/grub.cfg
で完了です。
make menuconfigする場合は,.configのバックアップなどをとってからoldconfigなどを用いて行ってください。
②USB接続によるwakeupの無効
上記,カーネルを最新にするだけで問題なくSuspendが動作する場合もあるようですが,Suspendした瞬間にUSBのドライバがなんかが動きそれによりSuspendが解除される問題が多々あるようです。(Surfaceに限った話ではない)
そこで,USBの接続などでは復帰しないというのを追加することで対策することができます。
まず,状況の確認から行います。
cat /proc/acpi/wakeup
でwakeupの条件となるものに何が設定されているか確認します。
当環境では,
Device S-state Status Sysfs node
WIFI S4 *disabled pci:0000:01:00.0
LID0 S3 *enabled platform:PNP0C0D:00
EC0 S3 *disabled platform:PNP0C09:00
XHC S4 *enabled pci:0000:00:14.0
HDEF S4 *disabled pci:0000:00:1b.0
TPD4 S4 *disabled
TPD7 S0 *disabled
TPD8 S0 *disabled
PEG0 S4 *disabled
PEGP S4 *disabled
PEG1 S4 *disabled
PEG2 S4 *disabled
となっていました。
SurfaceはUSB3.0のポートが1つしかないので,XHCがenableだと困るという感じです。
手動によるチェック
rootになって
# echo XHC > /proc/acpi/wakeup
と打ってください。
これで一時的に無効になります。
さっきのコマンドでdisableになっているのを確認してちゃんとできるか試してください。
このままでは再起動の度に設定が初期化されるので,ちゃんとできてるようなら立ち上がる時点で毎回このコマンドを有効にしたくなります。
そこで,systemctlで毎回できるように設定を作ります。
sudo nano /etc/systemd/system/disable-USB-wakeup.service
など適当にファイル名をつけて中身を
[Unit]
Description=Disable USB wakeup triggers in /proc/acpi/wakeup
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo EHC1 > /proc/acpi/wakeup; echo EHC2 > /proc/acpi/wakeup; echo XHC > /proc/acpi/wakeup"
ExecStop=/bin/sh -c "echo EHC1 > /proc/acpi/wakeup; echo EHC2 > /proc/acpi/wakeup; echo XHC > /proc/acpi/wakeup"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
などで書きます。当環境はXHCだけなので要らない部分は消しました。
sudo systemctl enable disable-USB-wakeup.service
で起動時に設定できます。
・gdbus-codegen not found
sudo emerge gdbus-codegen
をしても,中身がないことがあります。
具体的には,コマンドとして,gdbus-codegenがない。本体がない。(bin系にない)
こういうときは,
sudo emerge glib
してください。そしたら入ります。
色々依存関係で突然なくなることが稀にあるようです。
しばらく忙しくて全然OSSの活動ができていませんでした。
先日,KOF大阪に行ってきてタブレットで有名なKapperさんと少し話してLinuxを入れれるタブレットの見分け方などを教えていただきました。
という事で早速今日日本橋に行って,適当なタブレットを買ってきました。
DignnosのDG-D09IW2Sです。
KapperさんはあまりGentooを入れたことがないと言うことで早速Gentooを入れました。
バッテリーがほとんどない状態でUSBのタコ足を持ってないため今日だけで全部完了することは出来ませんでしたが,数日に渡る備忘録です。
①USBブートの準備
・USBインストールディスク
なんか適当に作ってください
最初から無線が使えるのでこの手のマシンはUbuntuが楽です
・BIOSへの入り方
この機種は,電源ボタンと音量の上キーを押すことでBIOSメニューに入ることが出来ます
もしくは,キーボードをつないだ状態で,Delキーを押しながら起動してください。
・BIOSの設定変更
FastBoot:Disable
SecureBoot:Disable
TXE関連:Disable
(Bootオプション:USBドライブを選択)
再起動すればUSBブートできるはず
eMMCドライブなら
gdisk /dev/mmcblk0
でいけます
Winを消す場合,全部dで消してください。
残す場合は,gpartedなどを用いて平和的に容量を開けてください。
設定の参考例
Number Start (sector) End (sector) Size Code Name
1 2048 6143 2.0 MiB EF02
2 6144 268287 128.0 MiB EF00
3 268288 1267711 488.0 MiB 8200
4 1267712 46905230 21.8 GiB 8300
これは,ZenBookの例ですがこんな感じです。
スワップはもっとあった方がいいです。
gdiskの場合コードが覚えれないので,これを見たらすぐわかりますということで。
③USBブート後
・基本事項
USBの蛸足がないと詰みます。
この上の段階でも充電しながらやりくりが困難な可能性が高いです。
UbuntuでUSBブートすると最初から無線が使えたり,BTも問題なく使えるのでBTキーボードが使えます。
GentooをインストールするのにUbuntuなんて…と思ってしまいますがUSBポートの数的にやはりUbuntuを使った方が無難です。
④#gentooinstallbattleのメモ
sudo wget
でstage3を落としました。
ブラウザ使って落としてきても良いと思います。
最近はいつもsystemdを落としています。
・make.conf
コンパイルオプションのところの書き方が変わってるわね
INPUT_DEVICESのタッチスクリーンの部分の書き方はこの時点では不明なので放置しました
うどんわーるどが長いので今日はここで終わります。
飛ばしすぎで分からんという人があれば教えてください。
・インストール完了までの流れ
↓
(中略)
↓
↓
grub-install
↓
Gentooで起動!!
・今回ハマったところ
eMMCを使うのが初めてだったので,カーネルの組み込みを忘れて起動できない状態に陥りました。
https://www.koyu-pro.jp/blog/detail.php?id=2
上記を参照しました。
GPIOあたりが必要かどうかは謎
⑤Wirelessnetworkの設定方法
以前の記事を追記して,ちゃんと読めば設定出来るようにしました。
⑥GUIの導入方法
今回はmateを例とする。
emerge xorg-server mate
sudo nano .xinitrcで.xinitrcを以下の内容で作成
内容
exec mate-session
※何かと便利なのでGnome3も入れた方が良いです
emerge gnome
※めっちゃ時間かかるし重いので注意
Gnomeで起動するときは
exec gnome-session
$ startx
MATEが立ち上がります,ほら簡単!!
(あとでちゃんと書くかも書かないかも)
⑦タッチスクリーンの有効化
かなり泥沼に入っています。
これで詰まっているせいでなかなか記事が更新出来ない状態です。
Ubuntuだと何も考えなくても認識するのですが,Gentooだと一苦労の案件。
今日うまくいったとしてもまとめるのに数日はかかります。
散々苦労して思ったことは,タッチスクリーンよりBlueToothキーボードの方がGentooをいじるには重要だということに気付きましたね…(CLIなら要らんし,GUIでもショートカット駆使すればどうにでも)
Ubuntuの設定を真似することで動くようになりました。
Ubuntuのカーネルはほぼ全ての機能が有効になってるような状態です。
どこまで削っても動くのかを確かめないと本質的な部分が見えてこない状態なので,もう少しお待ちください。
⑧mikutterinstallbattle
#gentooinstallbattle の最後のステップ
・日本語フォントの導入方法
emerge kochi-substitute
フォントが雑魚いのでvlgothicでも入れましょう
emerge vlgothic
あと,ほた氏のフォントがおすすめ
emerge koruri
・絵文字関連
別記事を参照
⑨入れておくと便利なツールなど
・genlop
emerge genlop
genlop -c
で現在のemergeの情報が見れます。
・pkill
sudo pkill mate-session
などでログアウトができる
・電源管理系
・BlueToothの導入(重要)
wikiより
[*] Networking support ---> <M> Bluetooth subsystem support ---> [*] Bluetooth Classic (BR/EDR) features <*> RFCOMM protocol support [ ] RFCOMM TTY support < > BNEP protocol support [ ] Multicast filter support [ ] Protocol filter support <*> HIDP protocol support [*] Bluetooth High Speed (HS) features [*] Bluetooth Low Energy (LE) features Bluetooth device drivers ---> <M> HCI USB driver <M> HCI UART driver <*> RF switch subsystem support ---> Device Drivers ---> HID support ---> <*> User-space I/O driver support for HID subsystem
gpasswd -a ユーザー名 plugdev
をしないと,ユーザーに対して許可が出ないらしい
bluzと言うパッケージをemergeする
hciconfigを打ちたい場合は以下のUSEフラグを追加してemergeする
USE="deprecated" emerge bluz
ここまですれば
bluetoothctlでコマンドから設定可能
GUIで設定する場合は,Gnome3を入れると良い(前参照)
startxでGnome3から立ち上がればGUIでBlueToothの設定をすることが出来ます。
自動で立ち上がるようにするやつと起動するやつ
systemctl enable bluetooth
systemctl start bluetooth
enableにして自動で立ち上がるようにすることで,一度登録したデバイスはログイン前でも接続出来るようになります。
・ccache(手抜き)
wikiより以下
emerge ccache
root #
mkdir -p /gentoo/ccache
root #
chown root:portage /gentoo/ccache
root #
chmod 2775 /gentoo/ccache
# Maximum cache size to maintain max_size = 100.0G # Allow others to run 'ebuild' and share the cache. umask = 002 # Preserve cache across GCC rebuilds and # introspect GCC changes through GCC wrapper. compiler_check = %compiler% -v # I expect 1.5M files. 300 files per directory. cache_dir_levels = 3
FEATURES="${FEATURES} ccache"
CCACHE_DIR="/gentoo/ccache"
.bashrcに以下を追記
export PATH="/usr/lib/ccache/bin${PATH:+:}$PATH"
export CCACHE_DIR="/gentoo/ccache"
僕達は凍結された
Suspend
Suspend
Suspend
あ~
鯖に埋もれた 記憶の彼方
そうさ僕達は 凍結された
空の上からふぁぼの種を
撒き散らした
この鳥から 悲しみ
消したかった
ねえ 東京の京橋
見上げていると
sushiがわかないか
今でも
To My Account
永久 凍結されたけれど
まだ syuuとkatsyoshi 残ってる
To My Craft
全てを燃やして 次に行こうよ
ほら 鳥の像に 炎がかかる
リアルタイムで やりとり出来ず
今は遅れて 通知が鳴る
7日間でカウントダウンして
機能停止
土日の間で
人を象に移した
そう Twitterが
協力をする
過去もあったんだ
ほんとさ
To My Account
明日を信じ続けていれば
このAPIもPremiamuに変わる
To My Client
傷つき 記録残していこう
次 薄い本の 売上で ふぐ食う
To My Application
背中の羽はなくしたけれど
まだ 泥の初期アプリ に入ってる
To My SNS
ユーザー捨てて 夢を見てるよ
ほら 鳥の顔に 本が被る
※MMC認識で必要になるもの
Device Drivers --->
<*> MMC/SD/SDIO card support --->
<*> MMC block device driver (NEW)
<*> Secure Digital Host Controller Interface support
<*>SDHCI support for ACPI enumerated SDHCI controllers
Processor type and features --->
[*]Intel Low Power Subsystem Support
Device Drivers --->
Pin controllers --->
[*] Intel Baytrail GPIO pin control
<*> Intel Sunrisepoint pinctrl and GPIO driver