にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2020年08月27日

シンプル・ミニマムOS #archLinux インストールISOにWifi-menu削除 → iwctlでWifi接続 その14

EgasnHqU0AUaI-W.jpeg


今回はArchLinuxをISOからインストールする際に
Wifi-menuが削除されていたのでiwctlを使いました。
親パッケージであるnetctlは削除されていませんが、
何故かISOからは使えません。
ArchLinux forumで検索すると怒りの発言が見られますw

●インストール時のWifi接続 iwctl
ArchのインストールISOには本来Wifi-menuという
超便利なWifi接続ツールがありましたが、
どうやら数ヶ月前に削除された様子。

そしてArchのインストールガイドを読むとWifi-menuが無い。
Connect to the network:
 Ethernet−plug in the cable.
 Wi-Fi−authenticate to the wireless network using iwctl.

forumにも
^ The Arch live image no longer has netctl or wifi-menu, the installation guide now advises using iwctl(1) instead.

知らなかったw
まあ素直にiwctlを使ってみましょう。

●iwctlで無線LAN接続
こちらに解説があります。
読めば使い方が書いてありました。

iwd
https://wiki.archlinux.jp/index.php/Iwd

まずは端末からiwctlを実行

iwctl

すると[iwd]#と端末頭の表示が変わるので、コマンド設定

[iwd]# device list
ネットワークをスキャン:
→wlan0などネットワークアダプタが表示


[iwd]# station interface get-networks
WPA2 で保護されたネットワークに接続 (パスフレーズの入力が求められます):
→station wlan0 get-networks
でSSID一覧が表示されます。

[iwd]# station interface connect network_name
→station wlan0 conneck [SSID名]
で先程表示したSSIDに接続します。
パスワード入力を要求されますので、入力すると接続されます。

[iwd]#exit
戻ります。


こんな感じで接続できました。
コマンドミスがありますが、添付の画像みたいな感じでした。
少し面倒ですがなんとかなります。


●まとめ
インストールなんて頻繁にしないので気が付きませんでした。
まあiwctlもそんなに難しくないので個人的に大丈夫ですが、
アナウンス無いんでそりゃ過去のブログ削除修正、なみの大事件ですw
まあこれはArch側が悪い。ローリング・リリースの弱点ですな。
みんなのWifi-menuへの愛が踏みにじられたw と思っておきます。個人的に。

ArchLinux forumで怒りが炸裂していましたw

why the switch from netctl(wifi-menu) to iwd(iwctl)
https://bbs.archlinux.org/viewtopic.php?id=258456
[SOLVED] No wifi-menu in installation
https://bbs.archlinux.org/viewtopic.php?id=257537

うるせえ、そんなものわざわざ掲示板にポストするな、とか
[SOLVED]ってつけろ!とか
見も蓋もない意見過ぎて泣けてきますw


まあ皆さん削除されるかもしれないので、ご自重をw
しかし、魂からの怒りを感じますw


First off iwctl is made by Intel but putting that aside wifi-menu is just easier to use. Iwctl its not that its hard to use but why its unlikely most people will use it after install. One of the first things To be installed is networkmanager. Honestly,the only reason I can see someone using iwctl if they didn't know that networkmanager has nmcli and just switch over to netctl to use wifi-menu.Nmcli is still easier and faster then iwctl. I know because I looked up how to connect to wifi with networkmanager." Oh, that looks easy lets give it a try." It was easier and faster. It was my first time using ether one of the tools.

The only reason I can think is Intel wireless chips. Is that why?

posted by kapper at 23:01 | Comment(0) | Arch Linux

2020年08月11日

公式タブレット改造 Nexus7 2013 /systemパーティションのリサイズ設定とpostmarketOSインストール No.38

Nexus7flo1.png


今回はNexus7 2013を用いて/systemパーティションのリサイズと
postmarketOSのインストールまで。
古い機種に新しいOSを入れようとすると、
/system領域が小さいのでリサイズする必要があります。
これが実際に自分でやってみると非常に危険w
自己責任で。

●Nexus7 2013とpostmarketOS
スペック的にまだまだ実用のレベルを維持している
Nexus7 2013ですが、最近は3,000円で買えたり
非常に安くなってきました。
UBPortsも動くしおすすめです。

カスタムROMも非公式ながらAndroid10前後まで動くので面白いです。
Nexus7 2012と比べても倍近いスペックと2GBメモリありますし。
安い、早い、ROMが多いを満たす改造のホープです。

この機種に限りませんが、新しいROMを入れる場合に
/system領域が狭いのでリサイズをやってみたら起動しなくなりましたw
非常に危険行為ですが、習得しておきたい技ですw
こちらを参考にしました。

[GUIDE] Increase your Nexus 4's system partition for more space!
https://forum.xda-developers.com/nexus-4/general/guide-increase-nexus-4s-partition-space-t3800264

https://www.gsmarena.com/oppo_find_7a-reviews-6215p15.php

ちょっとでも失敗すると確実に起動しなくなりますw
当然ですが、全てのデータを一旦消す必要がありますw
なので自分でROMを焼き直せる人だけ可です。
実際に死にましたが、なんとか直せましたけども。

●Nexus7 2013の基本パーティション
重要なのでメモしておきます。
この初期の構成に戻せるように注意。

# ./parted /dev/block/mmcblk0 p
Model: MMC MMC16G (sd/mmc)
Disk /dev/block/mmcblk0: 15.5GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number Start End Size File system Name Flags
1 67.1MB 157MB 89.6MB fat16 radio
2 201MB 204MB 3146kB modemst1
3 204MB 208MB 3146kB modemst2
4 268MB 284MB 15.4MB ext4 persist
5 336MB 336MB 799kB m9kefs1
6 336MB 337MB 799kB m9kefs2
7 403MB 403MB 799kB m9kefs3
8 403MB 407MB 3146kB fsg
9 470MB 471MB 1536kB sbl1
10 471MB 473MB 1536kB sbl2
11 473MB 475MB 2097kB sbl3
12 475MB 480MB 5243kB aboot
13 480MB 481MB 524kB rpm
14 537MB 554MB 16.8MB boot
15 604MB 605MB 524kB tz
16 605MB 605MB 1024B pad
17 605MB 606MB 1536kB sbl2b
18 606MB 608MB 2097kB sbl3b
19 608MB 613MB 5243kB abootb
20 613MB 614MB 524kB rpmb
21 614MB 614MB 524kB tzb
22 671MB 1552MB 881MB ext4 system
23 1552MB 2139MB 587MB ext4 cache
24 2147MB 2149MB 1049kB misc
25 2215MB 2225MB 10.5MB recovery
26 2282MB 2282MB 8192B DDR
27 2282MB 2282MB 8192B ssd
28 2282MB 2282MB 1024B m9kefsc
29 2349MB 2349MB 32.8kB metadata
30 2416MB 15.5GB 13.1GB userdata


●Nexus7 2013の/systemリサイズ
まずTWRPが起動できる所まで。

1.最新版までアップグレード
2.USBデバッグ
3.母艦PCにfastbootとadbコマンドインストールとPATH設定
4.ブートローダーunlock
5.TWRPインストール
6.TWRP起動してadbコマンドを使えるように設定
7.TWRPでWIPEして編集するパーティションのデータを消す

ここまでは詳細は書きませんが、簡単なので各自で。
出来ない人には/systemのリサイズは諦めましょう。
adbコマンドが使えるようになったらpartedコマンドを拾ってきます。
partedコマンドとはgpt、UEFIマシンで使われるパーティションツールです。
リンク先はテキストファイルですが、拡張子を抜いて保存。恐らくARM共通バイナリです。

https://drive.google.com/open?id=15uhtjeH2Z4DQywbRafrJs5cw7rmhnRG_

保存したらadb pushコマンドでAndroidに転送します。

$ adb push parted /

でadb shellを使います。

$ adb shell

端末が起動したら設定。
まずダウンロードしたpartedコマンドを実行形式に変換

$ chmod +x parted

これでpartedコマンドが使えます。
さあここから本番。

$ ./parted /dev/block/mmcblk0 p

ここでAndroidのパーティション一覧が表示されますが、
復旧させる時にどうしても必要なので、
テキストエディタにコピペして保存しておきます。
で/systemパーティションとその後をチェック。
Nexus7 2013の場合はcacheでした。

Number Start End Size File system Name Flags
21 614MB 614MB 524kB tzb
22 671MB 1552MB 881MB ext4 system
23 1552MB 2139MB 587MB ext4 cache
24 2147MB 2149MB 1049kB misc

/cacheを小さくして/systemに割り当てます。
2つともext4です。後で再フォーマットが必要なので絶対に忘れないように。
多分エラーが出ると思いますが、念の為umount。

$ umount /system
$ umount /cache

でパーティションを削除。

$ ./parted /dev/block/mmcblk0 rm 22
$ ./parted /dev/block/mmcblk0 rm 23

で新しくパーティションを割り当てるのですが、
ここで新しい容量を決めます。
このstartとendの値を指定します。
例えば/systemに671MBから1900MBを割り当てて
残りを/cacheに1900MBから2139MBに指定するとします。

$ ./parted /dev/block/mmcblk0 mkpart primary 671 1900
$ ./parted /dev/block/mmcblk0 mkpart primary 1900 2139

パーティションNoでは無くてStartとEndの容量を指定します。
パーティションNoは勝手に決められます。
でパーティションを再びチェック

$ ./parted /dev/block/mmcblk0 p

すると、22番と23番の容量が変更出来ました。良いね。
でパーティション名を入れます。

$ ./parted /dev/block/mmcblk0 name 22 system
$ ./parted /dev/block/mmcblk0 name 23 cache

これで/systemと/cacheのパーティション名に戻しました。
でもともとのext4フォーマットします。

$ mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p22
$ mke2fs -b 4096 -T ext4 /dev/block/mmcblk0p23

これで使える様になりました。
後は普通にROMを焼けばOKです。

カンの鋭い人なら分かりますが、一番容量の大きい/userdataは
最後のパーティションにあることが多いです。
そしてパーティションを作るにはstartとendを容量指定して
連番で新しく再設定するパーティションが必要。
つまり、/userdataを小さくして/systemを大きくしようと思ったら、
その間の全てのパーティションを削除して同じ順番に作り直す必要があります。

実は、パーティション名を変えれば良いじゃん?って思いませんでした?
やってみて再起動したら全てのパーティションが認識しなくなりましたw
どうやらfstab的なものがあり、その順番に従わなくてはならない様子ですw
そして再起動してしまうと、全てのパーティション
つまり/recoveryパーティションすら認識しないので
TWRPが起動できなくなります。adbコマンドが使えません。
fastbootコマンドではパーティション編集は出来ません。
死んだか?
と思いましたが、実はfastbootコマンドには焼かなくても
外部からリカバリイメージを起動する方法があります。

$ fastboot boot recovery twrp-3.4.0-flo.img

こんな感じでbootコマンドでTWRPをimgファイルから直接起動できました。
これでadbコマンドが使えるのでパーティションの仕切り直しが出来ました。
良かった。死んだかとおもったw

・注意点
 パーティションは必ず初期設定の順番の名前で作り直す
 容量はチェックされていない。自由に設定
 一部のパーティションはちゃんとext4でフォーマットし直す
 万が一認識しなければfastboot boot recovery twrp〜コマンドでrecovey起動出来る
 
partedコマンドの練習にはなりましたが非常に危険です。
絶対に自己責任でお願いします。

nexus7flo2.jpg


●postmarketOSのインストール
拡張した/systemパーティションにROMを焼きます。
増やした分だけ大きいイメージを焼けます。
実はMateやPlasma-mobile、PhoshやGnomeを焼く場合は必須です。
USBケーブルで繋いでlsusbで認識しているのを確認。

実はこんな面倒な事をしなくても/userdataに
書き込みしたかったのですが出来ませんでした。
苦肉の策です。
あとは普通にpmbootstrapコマンドを使います。
こちらをしっかり読んでそのまま。

https://wiki.postmarketos.org/wiki/Installation_from_recovery_mode


$ ./pmbootstrap.py init
$ ./pmbootstrap.py install --android-recovery-zip
$ ./pmbootstrap.py flasher flash_kernel

kernelまで焼いたら本体を焼きます。
一旦母艦PCとnexus7を両方再起動します。
何故かそうしないと通信が出来ません。
またTWRPをリカバリモードで起動します。
でAdvancedを選び、ADB Sideloadを選択し、バーをスライド。
するとターミナル画面が表示して止まるので、
母艦PC側からコマンド。

$ ./pmbootstrap.py flasher --method=adb sideload

すると転送とインストールが同時にはじまります。
ちなみにZIPをそのままadb pushで流して入れても起動しません。多分。
もしエラーが出て止まる場合は、ケーブルを交換するか
/userdataに書き込み設定をしていると止まりますので
/systemパーティションに再度設定し直します。
原因は分かっていませんが/userdataに書き込む設定にするとエラーが出ます。

終わったら再機動。
自動では動きませんので注意。
無事Mateが表示されました。
残念ながらNexus7 2013では部分的にブラックスクリーンになるので、
死んではいませんが操作できません。
なおWaylandは意図的にクアラコムの3Dドライバを削ってあるらしく
表示されないのでGnomeとか起動しません。
framebufferのXorgだけです。
バグ修正まちですね・・・


●まとめ
今回は/systemのリサイズからpostmarketOSのインストールまで。
大きなROM容量を焼き直すにはどうしても/systemのリサイズは必須ですが、
かなりヤバイコマンド設定なので死にましたw
実際に死んで、焦って、考えたらなんとか直せたという感じです。
勉強になりました。

新しいカスタムROMはどうしても/system領域の拡大が必要なので
覚悟して設定してみて下さい。
いざという時もTWRPを直接imgから起動できるので
多分なんとかなります。
壊しても絶対にkapperに相談しないで下さい。絶対に答えません。
自己責任で。
どうしても自分で壊して覚えるしかないのです。
是非格安ジャンクNexus7で練習してみて下さい(ぉぃ
posted by kapper at 16:14 | Comment(0) | Nexus7

2020年08月04日

$97中華電子ブックリーダー Xiaomi Mireader Google日本語入力インストール その2

MiReader20.jpeg


MiReaderにgoogle日本語入力を入れました。
お教え頂き誠にありがとうございます。
今日はそれをブログに書きます。

MiReader21.jpeg

●MiReaderとAndroid8.1
前回のブログ通りでAndroid使えます。
日本語入力がエラーが出るので試してみました。

Google日本語入力
2.24.3535.3.231113858-release-armeabi-v7a
https://google-japanese-input.jp.uptodown.com/android/download

ここからapkファイルを落として、
端末からコピー

adb push google-japanese-input-2-24-3535-3-231113858-release-armeabi-v7a.apk /sdcard/Download

でファイラーからインストール。
無事入りました。
で端末から設定変更

adb shell am start -a android.settings.INPUT_METHOD_SETTINGS

これで先程入れたgoogle日本語入力が出てくるので
そちらだけをクリック。
それだけです。
無事動きました。ありがとうございます。

MiReader22.jpeg

●まとめ
前に入れたGoogle日本語入力の最新版が動かなかったのは
ARM64-V8a版だったからかもしれません。
今回は旧版のarmebi-v7aにしました。
CPUがCortex-A7版だからかもしれません。
とりあえず動いたので良しとします。
お教え頂きありがとうございました。
気分的には最高ですw
posted by kapper at 20:11 | Comment(0) | 日記
にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ