2018年9月18日火曜日

Loosafe LS-F2 の調教 その2

squashfsイメージのmountしてReadonryだのう...からの続き

squashfsイメージファイルの中身を取り出す
$sudo su -
(owner:rootが変ってしまうのでrootで作業)
$sudo unsquashfs -d rootfs rootfs.bin
(デフォルトではsquashfs-root/に展開される)

中身を修正
rootfsの所は主にパスワードの再設定。
/etc/passwd のdefaultを1行削除
/etc/shadow のdefaultを1行削除
root,adminの暗号化されたパスワードを別のLinuxで作成したコードに置き換える。
(カメラにvipwコマンドが無い、busyboxにリンク貼ると使えるのかも知れないけど、無かった)
パスワード関連が丸見えなのでパーミッション設定
chmod 644 /etc/passwd
chmod 644 /etc/group
chmod 640 /etc/shadow

再構成の前に、Compression-typeとBlock sizeを確認。
unsquashfs -s rootfs.bin
Found a valid SQUASHFS 4:0 superblock on rootfs.bin.
Creation or last append time Tue Aug 15 11:34:04 2017
Filesystem size 1817.96 Kbytes (1.78 Mbytes)
Compression xz
Block size 262144
Filesystem is exportable via NFS
Inodes are compressed
Data is compressed
Fragments are compressed
Always-use-fragments option is not specified
Xattrs are not stored
Duplicates are removed
Number of fragments 3
Number of inodes 178
Number of ids 1
パラメータ指定してsquashfs作成
$sudo mksquashfs rootfs rootfs.new -comp xz -b 262144

-rw-rw-r--  1 ub     ub      1900544  5月  5 10:52 rootfs.bin
-rw-r--r--  1 root   root    1863680  9月 17 16:53 rootfs.new
パーテーションサイズ1900544に満たない部分36864byteを0x00で埋める必要がある。
cp rootfs.new rootfs.fil
head -c 36864 /dev/zero >> rootfs.fil
mtd.binも同様にsquashfs展開して修正して再構成して0x00埋め。
修正内容はwebとかSDカード突っ込むと強制フォーマットされるとことか、
conf.binはjffs2なのでカメラにLoginして逐次修正します。

修正が終わったら結合
cp boot.bin new.bin
dd if=bootenv.bin bs=1024 seek=192 of=new.bin
dd if=kernel.bin   bs=1024 seek=256 of=new.bin
dd if=rootfs.fil   bs=1024 seek=1600 of=new.bin
dd if=mtd.bin      bs=1024 seek=3456 of=new.bin
dd if=conf.bin     bs=1024 seek=6528 of=new.bin
#逆エンディアン
byteorder4 new.bin new.rom
W25Q128-SOPが安かった(送料込み5個で425円)のでテスト用に買ってて、
せっかくなので0xFFで後半8MB埋めて焼いてみる。
0xffのfilは「ddで0xffを書き込む方法」とかぐぐってください。
えいっ
#焼き(Raspberry-pi
sudo flashrom -V -p linux_spi:dev=/dev/spidev0.0 -c "W25Q128.V" -E
sudo flashrom -V -p linux_spi:dev=/dev/spidev0.0 -c "W25Q128.V" -w new.rom
起動してrootloginできるようになりました。

0 件のコメント:

コメントを投稿

NBD8008Rケース完成

コントロールパネル作成して、ダイソーのスタックボックスに収めました。 HDDは2.5インチ500GBが余ってたのでそれ使いました。静かで良いです。 カメラ3台H.246常時録画で40日くらい持ちそう。 マウス用にUSBコネクタをフロント出ししても良かったかも PP樹脂の...