はじめてのSSD,MicroSD,USBメモリ延命方法 in Linux1
Beginner for Linux long-lifetime in USBmemory,SSD,MicroSD
in 2021
１、 自己紹介 Self introduction
２、Recently my activities
３、Non eMMC Windows Tablet?
４、Install Linux in the USB memory
5、Linux has much Badsector in the storages.
６、Using RAM Disk, Zram and the others
7、Save the memory in Webbrowser.
8、Freeze Linux in USB memory badsectors
9、Conclusions
詳しい話はSlideshareで公開中@kapper1224
鹿児島らぐ 2021年1月
2021年1月31日 14:00~
Place: Online

Q702+ Lubuntu20.10
in USB memory

This Presentation:
Slideshare & PDF files
publication of my HP
http://kapper1224.sakura.ne.jp

Gadget Hacking
User Group
Speaker：Kapper自己紹介

Self Introduction●

My name: Kapper●

Twitter account：＠kapper1224●

HP：http://kapper1224.sakura.ne.jp●

Slideshare: http://www.slideshare.net/kapper1224●

Mastodon:https://pawoo.net/@kapper1224/●

Facebook：https://www.facebook.com/kapper1224/●

My Hobby：Linux、*BSD、and Mobile Devices●

My favorite words：The records are the more important than the experiment.

●

●

2

Test Model：Netwalker(PC-Z1,T1)、Nokia N900、DynabookAZ、RaspberryPi
Nexus7(2012、2013)、Nexus5、Chromebook、Fx0（FirefoxOS）、
無敵CD-920、CD-928,GPD-WIN、GPD-Pocket、Macbook
NANOTE、Windows Tablet、SailfishOS、UBPorts、postmarketOS
Recent my Activity：
Hacking Linux on Windows10 Tablet (Intel Atom) and Android Smartphone.
Hacking NetBSD and OpenBSD on UEFI and Windows Tablet.
I have been exhibiting in NT Nagoya, NT Kanazawa, Oogaki Mini MakerFaire.
I have over 200 Windows Tablet and 120 ARM Android, and test it now.
後、最近小説家になろうで異世界で製造業と産業革命の小説書いていますなう。

Recently my activities

SailfishOS on
unofficial Nexus5

UBPorts on Nexus5
Nexus7 2013
pinephone

postmarketOS on
Nexus5, Nexus7 2012
Pinephone

MaruOSon Nexus5XInstall Linux and *BSDIn USB memory

3Studying Android-Studio andClickable QtCreator UBPorts
Applicatons.

Activities on NT, MakerFaire,Taiwan

異世界転生小説を書いています。
This is my novels 「The otherworldy 」●
中世〜近世で製造業で産業革命するネタ。
It is 「Industrial Revolutions」 in ｔhe early modern period in my novels.
●

マニアックな技術論が得意な技術開発型ストーリー●

241万PV、ユニーク23.7万人、1,707ブックマーク、4,854ポイント

4アクセス数とご感想 In my novels PV’s●

最初は殆どPV無し。地道に更新し上位1.2％。やっと中堅クラスで241万PV。1年10ヶ月目。

●

産業革命と歴史背景と製造業、技術論を書いています。

●

最近シミュレーション小説とか、思考実験小説とか呼ばれてますw●

毎日更新しないとブックマークが増えない厳しい人気社会。超競争社会で泣けてくる厳しさ。
PV比率(%)

今ココ

小説家になろうブックマーク数
出展：小説家になろうを知ろう～小説家になろうをグラフ化してみた～

月5Deskreenでタブレットを安価にサブディスプレイ化6
SubDisplay inexpensive Tablet in Deskreen●
まとはらさんのご紹介でDeskreenでサブディスプレイ化。簡単
It is easy to use SubDisplay old Tablet in Deskreen.
●

750円HDMIダミーアダプタを使うと画面拡張出来る

Use US$7 HDMI dummy adapter and it in the second screens.
●

VNCと違ってタッチ操作は出来ない弱点
No touchscreen in Descreen, is difference from VNC.

●

Android4.0.3などの古いブラウザでは動作しない
Old Android’s webbrowser is not operate it ,is about Android4.0.3.

UserLAndとXserverSDLとHacker’s Keyboard

7

SubDisplay inexpensive Tablet in Deskreen●

Androidタブレット上でUserLAndとArchLinux
UserLAnd and ArchLinux in Android tablet.

●

XserverSDLやVNCでGUI、ソフトウェアキーボードとしてHacker’s
Keyboardでフルキー操作
UserLAnd in XserverSDL, VNC and Hacker’s keyboard.

OnWorks.netで無料ホスティング

8Free hosting smartphone in OnWorks.net●

ブラウザで無料で遊べるVPS。WinやReactOSもあり。
OnWorks.net is free VPS. In Linux, Win, ReactOS and so on.

●

スマホで専用アプリがあり、いつでも遊べる。
ブラウザを閉じるとデータが全部消える方式
OnWorks.net in Smartphone app now. If you close browser and erase it’s data.

●aptも使えるのでアプリ追加は可能。Dockerみたいな使い方もThey can install the application to use it like Docker.

OS無しジャンクCF-RZ5 13,550円

9No OS JUNK grade in my CF-RZ5.
●
CF-RZ4が最近ジャンクで格安。RZ5も出始める
The inexpensive JUNK CF-RZ4 is selling now.
●

最近流行りのSSDとOSが無いものをヤフオクで購入
Recently the JUNK is no SSD and OS, I bought it in the yahoo auctions.

●

USBメモリブートでLinuxを使用中 I use it in Linux to boot USB memory.

ノートPC用マルチコネクタ
Notebook PC multi-AC connecter●
Amazonで購入したノートPC、タブレット用マルチコネクタ
I bought multi-connector from Amazon.

●

電源の電圧と電流値に注意。間違えると即死？
Please check the voltages and Ampera.

●

格安ジャンク品を買う時に便利。

I bought it for JUNK notebook PC and Tablet PC.

10LibreOffice + Macros●

11

プレゼン資料を自動でつくろうと思ってマクロを勉強
I am studying LibreOffice macros because auto-making presentations materials.

●

LibreOffice BASICでマクロを作り資料作り時間削減
I will make LibreOffice Macros.

●

ブログにマクロを書いたら大人気！？
I want to write 「How to Macros」 in my blogs.

12Clickable(QtCreator+Python)UBPortsアプリ作成
Make UBPorts applications in Clickable(QtCreator+Python)●DockerスクリプトのClickableでUBPortsのネイティブスマホアプリを作成
I am making UBPorts applications in Clickable(Docker scripts)●

QtCreator+Python+adbコマンドを自動実行
日本語が何故か入れられない悩み

Auto-install (QtCreator+Python+adb), but no Japanese fonts… Why?

13

マイコンBASICマガジン(付録)が電子書籍で110円
MicroComputer Basic Magazine is E-book 110yen now.
●

マイコンBASICマガジンが電子書籍化110円
MicroComputer Basic Magazine is E-book 110 yen now.

●

もちろん電子工作マガジンも1,320円
And Electronic Work Magazine is E-book 1,320 yen.

Androidスマホでプレゼン

14

Presentations from my Android Smartphone●
LibreOfficeで作るとTakaoPGothicがフォントずれる

No views making LibreOffice presentations in Japanese fonts is「TakaoPGothic」.

●

結局PDFにしてからAdobe Acrobat Readerで全画面表示して発表
しています。
I reported it from PDF and Adobe Acrobat Reader in my Smartphone.

●Androidの標準フォントは「モトヤフォント」で悩ましい
Android default Japanese fonts is 「Motoya fonts」 is not use Linux.

最近eMMC無しのジャンクWindowsタブレットが増加
Recently increasing non eMMC Junk WindowsTablet???
●ヤフオクやジャンク屋に爆安Windowsタブレットが増加。eMMC無し
The Junk and auctions Windows Tablets
are increasing non eMMC devices...

●

USBメモリ起動でLinux動くけど初心者お断り？？？
I don’t recommended to buy it for beginner.

●

大須のパウでCoreMタブが4,980円
eMMC無くて驚いた。企業流れ品でeMMCを外してガワだけ売ってる？
店も手に負えないだろうか？
I bought this CoreM tablet about 4,980 Yen.
But no eMMC tablet, so I use it USB memory
and Linux.

●

Linuxや*BSDを使いましょうね
Let’s install Linux and *BSD in JUNK
Windows Tablets.

15

USBメモリにLinuxをインストール

16

Install Linux in USB memory●

USBメモリを挿すだけマルチOSブート。ドライバ全部入りUbuntu推奨
Install Linux in USB memory, I recommended Ubuntu because all of the drivers
installed it.

●

Mac、UMPC、タブレット、ノートPC、スティックPCもこれ一つ
A lot of devices, Mac, UMPC Tablet, StickPC can boot it.

●

●

●

HDDと比べると省エネでバッテリ長持ちする Low battery consumption
たまに間違えてHDDを消す Occasionally erase the HDD by my mistake(HDD, USB memory = / dev/sda,/dev/sdb …)(eMMC, SD card = / dev/mmcblk0,/dev/mmcblk1 …)
プチフリが非常に激しいのが欠点 The disadvantage is that has many freezes.

問題としてLinuxでバッドセクタ多発、ライフ短い

17

The problems are much badsector error in the storages.
●

Linuxは読み書きが多いのでストレージへのダメージが大きい。軽減処置
Linux has a lot of write and read the storages.So it needs to use it in memory.

1.Swapを使わない

No swap.

2.tmp,cache,logをストレージに書き込まない

No tmp,cache,log in storages.

3.Zramで圧縮ファイル化して書き込み量を減らす Compress Zram fileimages.
4.ハイバネーションを使わない

No hibernations.

5.ストレージへの書き込み頻度を下げる
6.F2FSを使い更にデータ圧縮するChange write file timings.

Use Compress and F2FS format.

7.ブラウザのメモリを節約 Save the Webbrowser’s memory and on memory.
8.定期的にfsckでバッドセクタを飛ばす
The badsector ejects the fsck commands in every some months.
●

とにかくメモリを上手に使う。圧縮する。ディストリの標準設定を使わない
Use memory instead of storages. Compress it. No use distribution default settings.

RAMディスクと圧縮技術

18

RAM disk and Compress it●

有名なLinuxのRAMディスク関連技術
It is the famous Linux’s Ram disks.

1.Zram→ メインメモリの一部をswapとして圧縮。主力技術
Using swap in MainMemory and compressed it.

2.Zswap→Swap領域の圧縮。主にストレージ上。
Using swap in the Storages and compressed it.

3.tmpfs →圧縮機能が無いRAMディスク
Using RAM Disk is no compressed it.
●

一見似ているが微妙に違う。圧縮すると転送量が減って速くなる。
メインメモリを節約出来るZramを主力として使う
It is difference for the others. The compressed files is much faster than nocompressed it. I recommended to use Zram because no use storages it.

●

圧縮アルゴリズムは標準がlzo-rle、速度はlz4、圧縮率はzstd

Compress algorithm is default 「lzo-rle」, fast「lz4」 and high compressed「zstd」.

Swapを使わない→Zramを使う
No swap → Use Zram●
Swapはストレージへのダメージが特に大きいので使わない
The swap has much badsector risks. So I don’t recommended it.
●

しかしメモリ不足でSwapが必要になる事もある。
But low memory devices want to use swaps.

●

Zramを使い圧縮して、かつ節約して使う必要がある
Let’s use Zram and compressed the memory.

●

Zramはメモリ50％を指定するのがもっともパフォーマンスが良い？
The reported, Zram is the best performance to use 50% memory?

Reference https://linuxreviews.org/Zram

19

Zramをインストール
Install Zram
・Zramをインストールする Install Zram.
sudo apt install zram-config
sudo nano /etc/modules-load.d/zram.conf
add 「zram」
sudo nano /etc/modprobe.d/zram.conf
add 「options zram num_devices=1」
sudo nano /etc/udev/rules.d/99-zram.rules
add 「KERNEL=="zram0", ATTR{disksize}="2048M",TAG+="systemd"」

・systemd にZramを追加 Add Zram in systemd.
sudo nano /etc/systemd/system/zram.service（貼付け 省略 :abridgement ) Please read and paste under weblinks.
sudo systemctl enable zram

参考 reference
https://www.techrepublic.com/article/how-to-enable-the-zram-module-for-faster-swapping-on-linux/

20

Zramを圧縮RAMディスクとしてマウント

21

Compressed Zram file mount●tmpfsは圧縮に対応していない。メモリ馬鹿食い。
/ tmpや/ var/cacheなどをマウントするには圧縮必要
The tmpfs is no compressed it. If you want to use /tmp and / var/cache, to use
compressed Zram.
●

Zramをファイル化してマウント出来るのでそちらを使用
Zram can make compressed fileimages and mount it, like / tmp.

●

sudo nano zram-tmp.sh

下記を保存 Save it.

#!/bin/bash
sudo zramctl -f -s 512M
sudo mkfs.ext2 /dev/zram1
sudo mount /dev/zram1 /tmp
sudo chmod 777 /tmp
zramctl –output-all●●

sudo ./zram-tmp.shで実行 Operate it.

弱点として/etc/fstabで実行出来ない→systemdはファイルシステムマウント後に実行される為

Zram file is not use /etc/fstab, because systemd operate after mount filesystems( no zrams files error).Zram圧縮アルゴリズムを変更してzstdで高圧縮
Change the higher compress algorithm from lzo-rle to zstd.
●

初期設定のlzo-rleから高圧縮のzstdに切り替える

Change the higher compress algorithm from lzo-rle to zstd.
●

こんな感じのスクリプトを作ってコマンドを実行
I write this scripts and use it.
#!/bin/bash
swapoff /dev/zram0
modprobe -r zram
sudo modprobe zram
#chmod 777 /sys/block/zram0/reset#echo 1 > /sys/block/zram0/resetecho zstd > /sys/block/zram0/comp_algorithm
echo 3221225472 > /sys/block/zram0/disksize
sudo mkswap /dev/zram0
sudo swapon /dev/zram0←Before←After22

ハイバネーションを使わない

23

No hibernation, use sleep and shutdown it.
●

ハイバネーションは節電でとても便利だが、メモリ分の数GBのデータを毎回ディスクに書き込むので劣化が進む

Hibernation is too save the battery to sleep, but a lot of data write the storages.
The badsector is increasing it.
●

多少面倒でも使わない時は毎回電源を切るか、Sleep機能で電源をONにした状態でメモリにデータを残す
Use sleep or powerdown in the mobile devices.

●

ケースバイケースで上手に使い分ける。
節電は別のネタとして報告済み。
Let’s change sleep and shutdown it. Save the battery is reported it ago.

ストレージの書き込み頻度を下げる

24

Reduce the storage write frequency.
●/etc/fstabに「discard,noatime,commit=600」を追加
Add 「discard,noatime,commit=600」 in / etc/fstab.
●

IOスケジューラーをNone （Noop） Change IO scheduler 「Noop」●

書き込み頻度を下げる

Reduce the storage write frequency.

sudo nano /etc/sysctl.conf
vm.swappiness = 0
vm.dirty_writeback_centisecs = ３000●(≧2000)profile-sync-daemonやanything-sync-daemonでRAMにデータを置く The some data in the RAM to use profile-syncdaemon and anything-sync-daemon.

●rsyslogの不要なログを停止？

●

ext4ファイルシステムのジャーナルを無効化する？

●

CrontabのDailyをWeeklyに移す●

他にも色々と And also.

Stop 「rsyslog」.
Stop ext4 jornals.

Move Crontab’s Daily task to Weekly.

F2FSにして、ストレージを圧縮する
Format F2FS and compress it●

圧縮に対応しているのがBtrfsかZFSかF2FS
Compressed formats are Btrfs, ZFS and F2FS.

●

データを圧縮する事でバスの転送量と書き込み頻度を減らす
Compressed data reduce transfer volume and write frequency.

●

インストール時に指定するか、ZIPでデータを圧縮してから、フォーマット変換後に展開しなおす
Format filesystems when it installed or decompressed ZIP data after theformated storages.

25ISO files in 「Boot to RAM」?
●

書き込み禁止メディアISOファイルをBoot to RAMで使う？
Use ISO files in 「Boot to RAM」?

●

grubオプションにtoramを追加。効果は不明Add grub.cfg options 「toram」.

●

ライブイメージ環境ではまだ使われているらしい‥・？
In Live images distribution is still using now?

26

Firefox,Chromeのタブを停止してメモリ節約

27

Save the memory in Firefox and Chrome.
●

ブラウザはかなりメモリを食うので、節約して使う
Webbrowser use much memory now. so I save to use the memory.

●

Auto Tab DiscardやThe Great Suspender、Ad blockerなどを入れる。
自動でタブのメモリを開放。
I use 「Auto Tab Discard」,「The Great Suspender」,「Ad blocker」 in firefox andchromium.

●

他にもFirefoxでabout:configからbrowser.cache.disk.enableをfalseにしてDiskCacheを無くしてオンメモリだけにする
In firefox, settings 「about:config」→「browser.cache.disk.enable=false」

Linux上のUSBメモリにプチフリ頻発。理由はバッドセクタ。
「fsck」コマンドを他のOS上で実行して隔離する必要がある

28

Freeze Linux in USB memory because Bad sector error.
Need to fix 「fsck」 command in the other OS.
●

数ヶ月に1回、USBメモリ上のLinuxでプチフリが頻発する。
理由はUSBメモリのバッドセクター。
Some month after, some freeze Linux in USB memory, because USB memory hasbadsectors.

●

Fsckコマンドでバッドセクターを使用禁止にして、数ヶ月に1回応急処置。
umountが必要なので、他のPCから起動して、USBメモリを繋いで実行。
sudo fsck -t -y -f -c / dev/sdb2
In 「fsck」 for some month after,USB memory connect the other PC and umount it●

基本的にUSBメモリは消耗品なので頻繁に使うなら1〜2年で交換するしかない。
The USB memory is the expendables.
Replace it in1〜2 years.

まとめ●Conclusions

29

上手にメモリと圧縮機能を使い、CPUを丁寧に使い書き込み頻度を下げる
Install Linux in USB memory, isn’t difficult. But the risk of erasing in the storages●

USBメモリにバッドセクターが多発するので「fsck」コマンドを数ヶ月に1回実行して応急処置する必要がある
Some freeze Linux in USB memory, because USB memory has badsectors.
Please 「fsck」 for some month●

Fedora33でZram標準搭載。他のディストリは大きく遅れているとにかくディストリ標準の設定をそのまま使わない事。
Fedora33 is default to use Zram. The others didn’t use it. And no use default
distributions settings in the storages, I recommended it.

●

メモリ使用量を節約するためにFirefoxやChromiumなどブラウザでAuto
Tab Discardなど節約ツールを使ってタブをスリープにする
Save the memory from Firefox and Chromium webbrowsers.

●

USB2.0は読み書きが非常に遅いのでUSB3.0以上を強く推奨
逆に遅いストレージをチューニングして体感する勉強もあり
USB2.0 is too slow to Linux, I recommended to use USB3.0.

●

最終的にUSBメモリのバッドセクタ問題はおおよそ解決。しかしプチフリ問題はまだ解決せず今後の課題
Badsector’s problem is closed,but the freeze problem has not been closed yet.