LS-CH1.0TLにDebian 9.0 stretchをインストールする

環境

・Buffalo NAS LinkStation LS-CHLシリーズ LS-CH1.0TL
Debian 9.0 stretch
理研 http://ftp.riken.jp/Linux/debian/debian/dists/stretch/main/installer-armel/current/images/kirkwood/network-console/buffalo/ls-chlv2/


準備

NASのHDD 1TBを外して余っていた1.5TBに交換し必要ならフォーマットする
Debian 9.0 stretchを理研などからダウンロード
uImage.buffalo
uImage.buffalo

debian公式のサーバーリスト
https://www.debian.org/CD/http-ftp/#stable 適当なサーバーからインストラーをダウンロードする

最新版はここからダウンロードする
更新日が2019/01/02なので頻繁に更新している模様
Index of /daily-images/armel/daily/kirkwood/network-console/buffalo/ls-chlv2
※こちらの開発版のようなものは何時間経ってもインストール完了しなかったので、安定版がおすすめ。

どうでも良いけどこの地球流体電脳倶楽部って公式のリストになくて名前がとても怪しい
http://ftp.jp.debian.org/ http://ftp.jp.debian.org/debian/dists/stretch/main/installer-armel/current/images/kirkwood/network-console/buffalo/ls-chlv2/


手順

Partedコマンドを使用してパーティションテーブルを作成する

$ sudo parted /dev/sdd
GNU Parted 3.2
/dev/sdd を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) print                                                            
モデル: ATA ST31500341AS (scsi)
ディスク /dev/sdd: 1500GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

(parted) mklabel gpt
警告: いま存在している /dev/sdd のディスクラベルは破壊され、このディスクの全データが失われます。続行しますか?
はい(Y)/Yes/いいえ(N)/No? y                                               
(parted) mkpart boot 2048s 1024MiB                                        
(parted) mkpart root 1024MiB 6144MiB                       
(parted) mkpart swap 6144MiB 6400MiB                                   
(parted) mkpart data 6400Mi -1
(parted) print                                                            
モデル: ATA ST31500341AS (scsi)
ディスク /dev/sdd: 1500GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt
ディスクフラグ: 

番号  開始    終了    サイズ  ファイルシステム  名前  フラグ
 1    1049kB  1074MB  1073MB                    boot
 2    1074MB  6442MB  5369MB                    root
 3    6442MB  6711MB  268MB                     swap
 4    6711MB  1500GB  1494GB                    data

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

f:id:ultra-genma:20190103124447p:plain GPartedで確認するとこうなっている

sdd1をext3でフォーマットする

$ sudo mkfs.ext3 /dev/sdd1                                
mke2fs 1.42.13 (17-May-2015)
/dev/sdd1 contains a ext4 file system labelled 'boot'
    last mounted on /media/<user_name>/boot on Thu Jan  3 10:16:06 2019
Proceed anyway? (y,n) y
Creating filesystem with 261888 4k blocks and 65536 inodes
Filesystem UUID: 2c4d8530-706c-43f0-aad0-b4dd2a4362dd
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

※sdd2、sdd3、sdd4はdebianインストール時にパーティション設定を行うため、フォーマット不要

マウントしてファイルをダウンロードする
※こちらの開発版のようなものは何時間経ってもインストール完了しなかったので、安定版をダウンロードしてHDDに置くことをおすすめ。

$ sudo mount /dev/sdd1 /mnt

$ sudo wget https://d-i.debian.org/daily-images/armel/daily/kirkwood/network-console/buffalo/ls-chlv2/uImage.buffalo
--2019-01-03 10:33:30--  https://d-i.debian.org/daily-images/armel/daily/kirkwood/network-console/buffalo/ls-chlv2/uImage.buffalo
d-i.debian.org (d-i.debian.org) をDNSに問いあわせています... 2001:67c:2564:a119::148:14, 2001:4f8:1:c::15, 2001:41c8:1000:21::21:4, ...
d-i.debian.org (d-i.debian.org)|2001:67c:2564:a119::148:14|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 2048715 (2.0M)
`uImage.buffalo' に保存中

uImage.buffalo      100%[===================>]   1.95M  1.05MB/s    時間 1.9s  

2019-01-03 10:33:33 (1.05 MB/s) - `uImage.buffalo' へ保存完了 [2048715/2048715]

$ sudo wget https://d-i.debian.org/daily-images/armel/daily/kirkwood/network-console/buffalo/ls-chlv2/initrd.buffalo
--2019-01-03 10:34:42--  https://d-i.debian.org/daily-images/armel/daily/kirkwood/network-console/buffalo/ls-chlv2/initrd.buffalo
d-i.debian.org (d-i.debian.org) をDNSに問いあわせています... 2001:4f8:1:c::15, 2001:41c8:1000:21::21:4, 2001:67c:2564:a119::148:14, ...
d-i.debian.org (d-i.debian.org)|2001:4f8:1:c::15|:443 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12271532 (12M)
`initrd.buffalo' に保存中

initrd.buffalo      100%[===================>]  11.70M  5.61MB/s    時間 2.1s  

2019-01-03 10:34:44 (5.61 MB/s) - `initrd.buffalo' へ保存完了 [12271532/12271532]

bootにファイルをコピーする

$ sudo mv *.buffalo /mnt

アンマウントする

$ sudo umount /mnt

ここまで準備できたらHDDをNASのケースに戻す
NASを接続し、ルーターなどからIPアドレスを確認する
192.168.1.まではわかっていたので総当りして、192.168.1.7でsshログインした
user:installer
password:install

$ssh installer@192.168.1.7

ログインできたらstart installerを選択してインストールを続ける

f:id:ultra-genma:20190103124717p:plain f:id:ultra-genma:20190103124739p:plain f:id:ultra-genma:20190103124817p:plain f:id:ultra-genma:20190103124803p:plain proxyは空のままContinueを押す
Download installer coponentsの項目もとりあえず何も選択せずにContinueする

2時間以上かかってなんとか完了する
うまく行くとinstallerユーザーは使えなくなっている
設定したユーザーでログインでき、rootはsuコマンドで入る


参考

*公式っぽい資料
https://miniconf.debian.or.jp/assets/files/Debian%20Installer%20for%20Buffalo%20Linkstation%20NAS.pdf

*LinkStation LS-XHL(またはLS-CHL)にDebianをインストール https://wv4short.com/installing_debian_8_to_linkstation_ls-xhl_part1/

*LinkStation/玄箱をハックしよう http://www.yamasita.jp/linkstation/index.html

*ハックサイトまとめ http://wiki.nothing.sh/page/BUFFALO%20Hack/%BB%B2%B9%CD%A5%B5%A5%A4%A5%C8

*LinkStation LS-CHLシリーズのHDD交換 https://kumasan114.blog.fc2.com/blog-entry-655.html

Wineのインストール

環境

Ubuntu 16.04 64bit

方法

64bit OSなので32bitアーキテクチャを有効にする

sudo dpkg --add-architecture i386 

リポジトリキーを追加する

wget -nc https://dl.winehq.org/wine-builds/winehq.key
sudo apt-key add winehq.key

リポジトリを追加する

sudo apt-add-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ xenial main' 

アップデートする

sudo apt update

インストールする

sudo apt install --install-recommends winehq-stable

Winetricksのインストール

sudo apt install winetricks

Winetricksをアプリ一覧から起動する
"Select the default wineprefix" > "OK"
"Install a Windows DLL or component" > "OK"

フォントをインストールしようとしてsha1sumのエラーが出るとき

フォントのファイルがなぜか0byteになっているので置き換える
"Select the default wineprefix" > "OK"
"Install a font" > "OK"
"all fonts" > "OK"
~/.cache/winetricks/takao/takao-fonts-ttf-003.02.01.zipの https://launchpad.net/takao-fonts/+milestone/003.02.01をダウンロードして置き換える

ttf-baekmuk_2.2.orig.tar.gz https://launchpad.net/ubuntu/+source/ttf-baekmuk/2.2-3

PowerPointViewer.exe https://sourceforge.net/projects/mscorefonts2/files/cabs/PowerPointViewer.exe/download

文字化け

/usr/share/fontsのなかの.ttfファイルを全てコピー
~/.wine/drive_c/windows/Fontsにペースト

まだ直してないエラー

0009:fixme:win:EnumDisplayDevicesW ((null),0,0x315154,0x00000000), stub!
0009:fixme:win:WINNLSEnableIME hwnd (nil) enable 0: stub!
0009:fixme:dpnet:IDirectPlay8PeerImpl_Host (0x178080)->(0x315400,0x10011c18,1,(nil),(nil),(nil),0): stub
0009:fixme:imm:ImeHandleNotify WM_IME_NOTIFY:IMN_SETCOMPOSITIONWINDOW
0009:fixme:d3d:state_zenable W buffer is not well handled

参考

https://wiki.winehq.org/Ubuntu

スクリーンショットとファイルシステムを読み込み専用で再マウント

Ubuntuでウィンドウ1つのスクリーンショットを撮るとき、いつもスクリーンショットが撮れなくなっていてもう諦めていた。ファイルシステムがRead Onlyになってスクリーンショットが保存できなくなるので仕方なく毎回パソコンを再起動していた。Ubuntuのバグがと思っていろいろ調べたけど何もそれらしい情報が出てこない。18.04にアップグレードすれば直るのではとか思いながらそんな状態を半年以上放置していた。

使用しているOSはUbuntu 16.04、キーボードはHHKB Lite。さらにキーボードをなんとなく真っ黒にペイントして印刷してある文字は見られない。配置は手が大体覚えているけれど、ファンクションキーとの組み合わせなどは適当に当たるまでその辺のキーを連打していた。

HHKBでスクリーンショットを撮るときのショートカットはAlt+Fn(Function)+PSc(Print Screen)の3つを押す必要がある。PScキーはIキーと同じなのだけれど正確に覚えていなかったのでYキーあたりかと思い、Alt+Fnを押しながら毎回Y、U、Iキーあたりを押していた。

今日HDDのパーティションを分けている時に同じRead Onlyになる現象が起きてパソコンを再起動した時におもむろにAlt+UとかにファイルシステムがRead Onlyになるショートカットでも振られているのではと思って調べたらまさに

Alt+SysRq+U : ファイルシステムを読み込み専用で再マウント

と出てきて驚いた。 SysRqとは何かと調べてみたら「マジックSysRqキー※」というもので、HHKBだけか分からないけれど運が悪いことにPScキーと同じキーに「PSc/SRq」と書かれている。 いつも適当にAlt+Fnを押したままU、Y、I、あたりを押していたのでAlt+Fn+I(=Alt+SysRq)→Alt+Fn+Uとなって読み込み専用になっていたらしい。Alt+Fn+Iが正しいので最初にスクリーンショットが撮れるはずだだと思うけれどカシャッと音がするまで少しラグがあるのでいろいろ連打していたのも運が悪かった。

やっと原因がわかったので正確にPScキーを覚えてもう間違えないようにしたら失敗することなくスクリーンショットが撮れるようになった。 原因が分かるまでとても長かった。でもUbuntuが嫌いになってWindowsに戻らなくて良かった。



【参考】
※マジックSysRqキー
Linuxカーネルでシステム状態に関する低レベルコマンドを発行するキーシーケンスである。 マジックSysRqキー - Wikipedia


ショートカット 備考
Alt+SysRq+R キーボードをrawモードからXLATEモードへ切り替え
Alt+SysRq+E 全てのプロセスを終了
Alt+SysRq+I 全てのプロセスを強制終了
Alt+SysRq+S ファイルシステムをsync
Alt+SysRq+U ファイルシステムを読み込み専用で再マウント
Alt+SysRq+B 再起動

Linuxmania: キーボードショートカット集(Fedora,Ubuntu,CentOS)

ブラウザの検索バーでUbuntuのファイルが見られる

Ubuntuでおもむろに検索しようとしてファイルパスをFirefoxの検索バーに入力したら、ファイルの中が見られて驚いた。
こんな機能あったこと知らなかった。
例えば

/proc/acpi/wakeup

を検索バーに入力すると

Device   S-state   Status   Sysfs node
PS2K      S3    *enabled   pnp:00:05
PS2M      S3    *disabled
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *disabled
RP02      S4    *disabled

のように表示される。

UbuntuにVisual Studio Codeをインストール

○環境

Ubuntu 16.04 LTS


Visual Studio Code

.deb 64 bitを適当なフォルダにダウンロード
ダウンロードしたファイル:code_1.27.2-1536736588_amd64
code.visualstudio.com


○方法

コマンド2つ実行するのみ

sudo dpkg -i code_1.27.2-1536736588_amd64.deb
sudo apt-get install -f # Install dependencies

このdebパッケージをインストールするだけで、自動アップデートを行うaptリポジトリとsigning keyもインストールされる

マニュアルでリポジトリとsigning keyをインストールするには以下のスクリプトを実行する

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

続いてパッケージキャッシュのアップデートとパッケージのインストールは以下のコマンドを実行する

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install code # or code-insiders

○インストールしたエクステンション

C/C++ for Visual Studio Code
marketplace.visualstudio.com

Python
marketplace.visualstudio.com


○参考

code.visualstudio.com

EtcherでRaspbianを焼く

・環境

Ubuntu 16.04LTS

Etcher version v1.4.4

Raspbian Stretch with desktop
Version: June 2018
Release date: 2018-06-27
Kernel version: 4.14

Raspbian Stretch Lite
Version: June 2018
Release date: 2018-06-27
Kernel version: 4.14

desktopとliteをそれぞれ16GBと8GBのSDカードに焼く。


・方法

EtcherというOSイメージをSDカードに焼くソフトを使う。

etcher.io

Etcher CLIというものもある。

https://etcher.io/cli/

ダウンロードしたetcher-electron-1.4.4-linux-x64.zipをUnzipで解凍する。
etcher-electron-1.4.4-x86_64.AppImageというファイルが出てくるので、Terminalでこのファイルがあるディレクトリに移動して実行する。

cd /Downloads
./etcher-electron-1.4.4-x86_64.AppImage

インストールするか尋ねるダイアログが出てくるがNoを押した。
起動したEtcherのウィンドウで焼くRaspbianのimgファイルを選択する。
焼く宛先のSDカードは自動で選択されている。
Flash!ボタンを押して焼く。このときUbuntuのパスワードが求められるので入力する。
完了するとFlash Complete!となる。

企業の技術系ブログリスト

クックパッド

クックパッド開発者ブログ

はてな

Hatena Developer Blog

ウォンテッドリー

Wantedly Engineer Blog

マネーフォーワード

Engineers' Blog | マネーフォワード エンジニアブログ

エコモット

https://www.ecomott.co.jp/tech_blog/

エキサイト

エキサイト公式 エンジニアブログ

メルカリ

Mercari Engineering Blog

ランサーズ

ランサーズ(Lancers)エンジニアブログ

ビープラウ

ビープラウド社長のブログ

テリロジー

テリロジー 「半公式」エンジニアブログ(仮)