2019-10-20

バッファロー NAS 未割り当て領域に Debian を debootstrap する

debootstrap がオリジナル LS210D でうまくいかず、Lubuntu PC でクロスインストールでもうまくいかず。



LS210D 改め Debian Server を使ったクロスインストールをし、やっと debootstrap でパッケージがインストールできました。


インストールが成功したということは、debootstrap は Debian との親和性が一番あるということですねぇ(当然ですよね)。



Debian 機でクロスインストールするのが一番確実かもしれません。



やり方はこうです。

1.オリジナル LS210D と同じディスクを用意します

  空き HDD にオリジナルの LS210D を復元したものです

  Lubuntu PC に入っていた 500 GB の 2.5” HDD で代用し、パーティション7用に、
  オリジナルと同じ 6.6 GB を未割り当て領域設定したものです

2.Debian Server に "cd /; mkdir debian; mkdir work" で2つのディレクトリを作ります

  debian:インストール先にするディレクトリ
  work   :作業用ディレクトリ

3.ターゲットディスクを Debian Server に SATA=USB ケーブルで接続します

4.パーティションをフォーマットします

  # mkfs.xfs -f /dev/sdb7

5.これを /debian にマウントします

  # mount /dev/sdb7 /debian

6.次の各ステップを実行します

  /# cd /work
  /work#  wget http://ftp.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.116_all.deb
  /work# ar -x debootstrap_1.0.116_all.deb

   ➡ ar なしエラーになったので、apt で binutils を急遽インストール
    改めて ar で deb を解凍

  /work# ls
  control.tar.gz    data.tar.gz  debian-binary  debootstrap_1.0.116_all.deb
  /work# cd /
  /# tar zxvf /work/data.tar.gz
  ./
  ./usr/
  ./usr/sbin/
  ./usr/sbin/debootstrap
  ./usr/share/
  ./usr/share/debootstrap/
  ./usr/share/debootstrap/functions
  ./usr/share/debootstrap/scripts/
  ./usr/share/debootstrap/scripts/aequorea
  ./usr/share/debootstrap/scripts/breezy

  〜 省略 〜

  ./usr/share/debootstrap/scripts/wily
  ./usr/share/debootstrap/scripts/xenial
  ./usr/share/debootstrap/scripts/yakkety
  ./usr/share/debootstrap/scripts/zesty
  /# cd /root
  ~# debootstrap --arch armhf stretch /debian http://ftp.jp.debian.org/debian
  I: Retrieving InRelease
  I: Retrieving Release
  I: Retrieving Release.gpg
  I: Checking Release signature
  I: Valid Release signature (key id 067E3C456BAE240ACEE88F6FEF0F382A1A7B6500)
  I: Retrieving Packages
  I: Validating Packages
  I: Resolving dependencies of required packages...
  I: Resolving dependencies of base packages...
  I: Checking component main on http://ftp.jp.debian.org/debian...
  I: Retrieving libacl1 2.2.52-3+b1
  I: Validating libacl1 2.2.52-3+b1
  I: Retrieving adduser 3.115
  I: Validating adduser 3.115

  〜 省略 〜

  I: Configuring tasksel...
  I: Configuring tasksel-data...
  I: Configuring libc-bin...
  I: Configuring systemd...
  I: Base system installed successfully. ➡ 当メッセージでインストール成功がわかる
  ~# ls -l /debian ➡ /debian に作られたディレクトリ(配下に必要ファイルがある)
  合計 16
  drwxr-xr-x  2 root root 4096 10月 20 09:22 bin
  drwxr-xr-x  2 root root    6  9月  8 19:51 boot
  drwxr-xr-x  4 root root 4096 10月 20 09:14 dev
  drwxr-xr-x 50 root root 4096 10月 20 09:22 etc
  drwxr-xr-x  2 root root    6  9月  8 19:51 home
  drwxr-xr-x 10 root root  151 10月 20 09:21 lib
  drwxr-xr-x  2 root root    6 10月 20 09:14 media
  drwxr-xr-x  2 root root    6 10月 20 09:14 mnt
  drwxr-xr-x  2 root root    6 10月 20 09:14 opt
  drwxr-xr-x  2 root root    6  9月  8 19:51 proc
  drwx------  2 root root   35 10月 20 09:14 root
  drwxr-xr-x  4 root root   40 10月 20 09:14 run
  drwxr-xr-x  2 root root 4096 10月 20 09:22 sbin
  drwxr-xr-x  2 root root    6 10月 20 09:14 srv
  drwxr-xr-x  2 root root    6  9月  8 19:51 sys
  drwxrwxrwt  2 root root    6 10月 20 09:16 tmp
  drwxr-xr-x 10 root root   97 10月 20 09:14 usr
  drwxr-xr-x 11 root root  128 10月 20 09:14 var
  ~# umount /debian


  無事に /debian に stretch がインストールされましたのでディスクを取り外します





ここまでくれば、あとは本体に再装着して chroot すれば debian が動きます。


このやり方ならば、インストーラーの見つからなかった LS-AVL もインストールできそうです。







【2019-10-30  後日談】


LS210D の未割当領域にパーティションを設定すると、元々のデータディスクが正しく認識されなくなることがわかりました。

データパーティションは /dev/sda6 ですから、未割当はパーティション設定すると /dev/sda7 になります。

ところが、/dev/sda7 が存在すると [設定] ➡ [ディスク] ➡ [ディスク] の「状態」がそれまで「通常」だったのが「未フォーマット」になります。

この状態での再フォーマットは空振りに終わります。

つまり「未フォーマット」状態からは抜け出せません。

したがって [ファイル共用] ➡ [いずれかの共用フォルダー] ➡ [編集] とすると【使用可能な領域がありません」となって、編集も新たな共用フォルダーも設定できなくなります。


この状態でも再起動しなければ元々設定した共用フォルダーは PC(Mac)などから R/W は可能です(PC からのサブフォルダーの設定もできます)。


ですので、本当に未フォーマット状態ではなく、フォルダー設定領域がないこともありませんが、そういう状態にしているということでしょう。



パーティション7(/dev/sda7)を消去すると、この状態は解消されて元に戻ります。



ここらあたりの処理を行っている .js プログラムも見てみましたが、どこで処理しているのかはまだわかっていません。


どうも .js は状態判定しているだけで、状態設定しているのは別のプログラムのようです。
これがどこにあるのかがわかりません。

わかれば、プログラムを書き換えれば「未割当領域」を使えるようになるのですが。



なお、LS-AVL の場合はこの未割当領域にパーティションを切って使っても LS210D のような問題もなく、使えます。


何とも摩訶不思議!!



 
もっとも未割当領域をなくすだけなら、一旦パーティション6を切り直して未割当をなくせばプログラム書き換えなどしなくても済むのですが。




ちなみに最新の NAS である LS510D 以降は未割当領域はないそうです。

これ以前の機種にはあるようです。

機種により多少の領域サイズの違いはあって、6GB 〜 8GB 程度が未割当のようです。













0 件のコメント: