SONY 版 nasne の HDD 交換・換装
出来ること
00110022.dlm ファイルがなくても、内蔵 HDD が故障して起動しなくなった nasne を修理できます。
必要なもの
SONY 版 nasne
新しい HDD
Linux 環境
バージョン 1.00 のファームウェア
バージョン 1.00 のファームウェアの詳細
作業環境
作業環境:Kali Linux 2022.1
作業ディレクトリ: /home/nasne
nasne HDD: /dev/sdb
マウント先: /media/nasne/{sys1,sys2,user}
XFS を扱うために xfsprogs パッケージをインストールしておく。
# apt-get install xfsprogs
ディスク情報
今回は 250GB の HDD を使用。MBR で用意しておく。
# fdisk -l /dev/sdb
Disk /dev/sdb: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: 00BEKT-75A25T0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b28462a
パーティションの作成
fdisk を使用して3つのパーティションを作成する。
fdisk の起動。
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.37.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
1つ目のプライマリーパーティション(開始:2048 終了:526335) を作成。
n⏎ p⏎ 1⏎ 2048⏎ 526335⏎
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-488397167, default 2048): 2048
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-488397167, default 488397167): 526335
Created a new partition 1 of type 'Linux' and of size 256 MiB.
2つ目のプライマリーパーティション(開始:526336 終了:2623487)を作成。
n⏎ p⏎ 2⏎ 526336⏎ 2623487⏎
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (526336-488397167, default 526336): 526336
Last sector, +/-sectors or +/-size{K,M,G,T,P} (526336-488397167, default 488397167): 2623487
Created a new partition 2 of type 'Linux' and of size 1 GiB.
3つ目のプライマリーパーティション(開始:2623488 終了:最後のセクタ)を作成。
n⏎ p⏎ 3⏎ 2623488⏎ ⏎
Command (m for help): n
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (3,4, default 3): 3
First sector (2623488-488397167, default 2623488): 2623488
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2623488-488397167, default 488397167):
Created a new partition 3 of type 'Linux' and of size 231.6 GiB.
一つ目のパーティションにブータブルフラグをセット。
a⏎ 1⏎
Command (m for help): a
Partition number (1-3, default 3): 1
The bootable flag on partition 1 is enabled now.
内容があっているか確認して、変更を保存。
p⏎ w⏎
Command (m for help): p
Disk /dev/sdb: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: 00BEKT-75A25T0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b28462a
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 526335 524288 256M 83 Linux
/dev/sdb2 526336 2623487 2097152 1G 83 Linux
/dev/sdb3 2623488 488397167 485773680 231.6G 83 Linux
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
各パーティションのフォーマット
/dev/sdb1
# mkfs.ext3 -L sys1 /dev/sdb1
mke2fs 1.46.4 (18-Aug-2021)
Creating filesystem with 262144 1k blocks and 65536 inodes
Filesystem UUID: fb04056b-1045-432a-969b-471e45ce6664
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
/dev/sdb2
# mkfs.ext3 -L sys2 /dev/sdb2
mke2fs 1.46.4 (18-Aug-2021)
Creating filesystem with 262144 4k blocks and 65536 inodes
Filesystem UUID: b8e085e9-6cfe-4fa2-8892-0e15b2fd3ed2
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Allocating group tables: done
Writing inode tables: done
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done
/dev/sdb3
2TB の HDD を使用する場合は、agcount の値を調整したほうがいいかも。
# mkfs.xfs -m crc=0 -d agcount=4 -i size=256,attr=2,projid32bit=0 -L user -n ftype=0 -s size=512 /dev/sdb3
meta-data=/dev/sdb3 isize=256 agcount=4, agsize=15180428 blks
= sectsz=512 attr=2, projid32bit=0
= crc=0 finobt=0, sparse=0, rmapbt=0
= reflink=0 bigtime=0 inobtcount=0
data = bsize=4096 blocks=60721710, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=0
log =internal log bsize=4096 blocks=29649, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
パラメータを細かく指定しているのは、オリジナルの状態にあわせているため。
1TB モデルのオリジナルは以下の通り。
# xfs_info /dev/sdb3
meta-data=/dev/sdb3 isize=256 agcount=4, agsize=60965678 blks
= sectsz=512 attr=2, projid32bit=0
= crc=0 finobt=0, sparse=0, rmapbt=0
= reflink=0 bigtime=0 inobtcount=0
data = bsize=4096 blocks=243862710, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=0
log =internal log bsize=4096 blocks=119073, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
最終的なディスク情報
# fdisk -l /dev/sdb
Disk /dev/sdb: 232.89 GiB, 250059350016 bytes, 488397168 sectors
Disk model: 00BEKT-75A25T0
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9b28462a
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 526335 524288 256M 83 Linux
/dev/sdb2 526336 2623487 2097152 1G 83 Linux
/dev/sdb3 2623488 488397167 485773680 231.6G 83 Linux
必要ファイルの配置
以下のように構成する。
# tree /media/nasne/
/media/nasne/
├── sys1
│ ├── 00110022.dlm
│ ├── 00550066.dlm
│ └── 55006600
│ └── 00550066.dlm
├── sys2
└── user
2つの 00550066.dlm ファイルは Ver1.00 のもの。
00110022.dlm ファイルは148 バイト分 0x0 で埋めたファイルを使用する。
dd if=/dev/zero of=/media/nasne/sys1/00110022.dlm bs=1 count=148
パーミッションなどは以下の通り。
# ls -lR /media/nasne/sys1
/media/nasne/sys1:
合計 20874
-rw-r--r-- 1 root root 148 3月 8 11:14 00110022.dlm
-rwxr--r-- 1 root root 21287161 3月 8 11:15 00550066.dlm
drwxr-xr-x 2 root root 1024 3月 8 11:15 55006600
/media/nasne/sys1/55006600:
合計 20872
-rwxr--r-- 1 root root 21287161 3月 8 11:15 00550066.dlm
nasne の起動
用意した HDD を nasne に挿して起動する。
電源(緑色)と REC、IP ステータスの3つ LED が点滅するまで待ち、電源を抜いて再起動する。
ファームウェアのバージョンが 1.00 になっているので、アップデートする。
同じ要領でインターネットを介さず 1.00 から 2.60 へアップデート可能になるので、SONY がファームウェアの配布を停止した場合に備えて、バックアップ推奨。
同じ手順でやっても、電源(赤色)と REC、IP ステータスの3つ LED が点灯(点滅ではない)して起動しない場合がありました。
その場合、/sys1/00110022/00110022.dlm を /sys1/00110022.dlm にコピーして、再度起動するか確認。
任意のバージョンに更新する方法
2022/03/29 現在、バージョン 1.51 ~ 2.60 のファームウェアは SONY のサイトで公開されているので、これらの任意のバージョンにアップデートすることが可能。
ダウンロードできるファイルは 00220033.dlm と 00440055.dlm、00550066.dlm をバイナリ結合したファイルになっているので、アドレス 0x44420C から末尾までを切り出して、00550066.dlm ファイルとして保存して使用する。
基本的にはバージョンアップすることを推奨。特に 2.50 以降はバージョンダウンできない。
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0151/KRST3101_0151_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0152/KRST3101_0152_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0171/KRST3101_0171_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0200/KRST3101_0200_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0210/KRST3101_0210_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0211/KRST3101_0211_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0250/KRST3101_0250_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0251/KRST3101_0251_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0257/KRST3101_0257_SECURE.dlm
http://ps-peripheral.dl.playstation.net/ps-peripheral/nasne/0260/KRST3101_0260_SECURE.dlm
その他
/sys1/11002200/00440055.dlm には miniroot が含まれています。
また、基板にある EEPROM(S25FL128A) にも miniroot が2つ、内容違いで保存されています。
この記事が気に入ったらサポートをしてみませんか?