Changes
Page history
Update Simulate IOT
authored
Jan 10, 2021
by
Miao Pang
Show whitespace changes
Inline
Side-by-side
Simulate-IOT.md
View page @
e39a8e78
...
...
@@ -16,7 +16,7 @@ Install some dependent tools:
Install ninja:
`apt install re2c
`apt install re2c
`
`git clone git://github.com/ninja-build/ninja.git && cd ninja`
...
...
@@ -41,40 +41,44 @@ Using a pre-compiled Debian MIPS kernel with a MIPS QCOW2 file system image, boo
1.
Getting squashfs root
Download the firmware from the internet and extracting the device firewre with binwalk.
`sudo apt-get -y install unzip`
`unzip DIR-850L_REVA_FIRMWARE_1.00.B07.ZIP`
`binwalk -e DIR850LA1_FW114WWb07.bin`
2.
Getting a kernal and file system image
'mkdir linux_mips; cd linux_mips'
'wget https://people.debian.org/~aurel32/qemu/mips/vmlinux-3.2.0-4-4kc-malta'
`wget https://people.debian.org/~aurel32/qemu/mips/debian_wheezy_mips_standard.qcow2`
3.
Booting the vm
`
qemu-system-mips -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1" -nographic -net nic -net user,id=tcp,hostfwd=tcp::5022-:22,hostfwd=tcp:5023:23,hostfwd=tcp:48101:48101
`
`qemu-system-mips -M malta -kernel vmlinux-3.2.0-4-4kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1" -nographic -net nic -net user,id=tcp,hostfwd=tcp::5022-:22,hostfwd=tcp:5023:23,hostfwd=tcp:48101:48101`
4.
Copying the squashfs root
ensure that the sshd is running inside the MIPS VM:
`
root@debian-mips:~# service ssh start; service ssh status
Starting OpenBSD Secure Shell server: sshd.
sshd is running.
root@debian-mips:~#
`
`root@debian-mips:~# service ssh start; service ssh status`
`Starting OpenBSD Secure Shell server: sshd.`
`sshd is running.`
`root@debian-mips:~#`
back on the host OS, tar up the contents of the squashfs root and copy it into the guest VM:
$ tar zcf squashfs-root.tar.gz squashfs-root/
$ scp -P 2222 ./squashfs-root.tar.gz root@127.0.0.1:/root
`
$ tar zcf squashfs-root.tar.gz squashfs-root/
`
`
$ scp -P 2222 ./squashfs-root.tar.gz root@127.0.0.1:/root
`
extract the tarball on the guest MIPS VM:
root@debian-mips:~# ls
squashfs-root.tar.gz
root@debian-mips:~# tar zxf squashfs-root.tar.gz
root@debian-mips:~#
`
root@debian-mips:~# ls
`
`
squashfs-root.tar.gz
`
`
root@debian-mips:~# tar zxf squashfs-root.tar.gz
`
`
root@debian-mips:~#
`
Inatll /proc,/dev and /sys and use chroot to enter the firmware file system:

...
...
@@ -82,4 +86,4 @@ Inatll /proc,/dev and /sys and use chroot to enter the firmware file system:
5.
Starting the device's service
Most embedded Linux devices have startup scripts in /etc/init.d/ that will launch services and perform configuration.
#
`
/etc/init.d/rcS
`
`
#
/etc/init.d/rcS`