มาพูดว่า ... เพื่อความสนุกสนาน .. ฉันได้รับ 2 x 3 แพ็คของ Tenda MW6 เพื่อครอบคลุมพื้นที่ขนาดใหญ่ (ในร่มและกลางแจ้ง) ฉันมี 3 ใน MW6 backhauled กับอีเธอร์เน็ต (ที่จริงแล้วมันเป็นอะแดปเตอร์บริดจ์ PLC)
ในการกำหนดค่า "เริ่มต้น" มันใช้ได้ดี แต่ฉันมีเราเตอร์ OpenWrt ที่ดีอยู่แล้วและอุปกรณ์/บริการหลายอย่างที่ตั้งค่าไว้ โดย defaul, MW6 ทำงานในโหมด DHCP สร้าง 192.168.5.x ซับเน็ตและทำให้ทุกคนอยู่ในนั้น แต่สิ่งนี้ 1) นำเลเยอร์ NAT พิเศษ 2) แบ่งบริการของฉัน
ดังนั้นฉันจึงตัดสินใจเปลี่ยนเป็นโหมด บริดจ์ ซึ่งตามคู่มือมันจะปิดบริการเครือข่ายทั้งหมดและทำหน้าที่เป็นสะพาน
จากภาพรวมครั้งแรกมันใช้งานได้ แต่จากนั้นฉันก็รู้ว่าอุปกรณ์บางอย่างของฉันผิดพลาดและจากนั้นก็เข้าใจว่าคิวบ์ "หลัก" ทำงานของตัวเอง Luna Park พร้อมแบล็คแจ็คและ Hookers เซิร์ฟเวอร์ DHCP ไม่มีหน้าเว็บ administratoin เพียงแอพโทรศัพท์เท่านั้น ฉันไม่เห็นวิธีที่จะปิดการใช้งานจากที่นั่น
NMAP กล่าวว่าเซิร์ฟเวอร์ DHCP กำลังทำงานอยู่และสกัดกั้นไคลเอนต์ WiFi ทั้งหมดและให้ที่อยู่ IP จากพูล และไม่จำเป็นต้องพูดที่อยู่เหล่านี้ผิดไม่ใช่สิ่งที่ฉันต้องการ Googled พบการสนับสนุนของพวกเขา - ปัญหาเดียวกันอย่างไรก็ตามบุคคลกล่าวว่า dhcp authoritative='1' บนเราเตอร์หลัก OpenWrt ทำงานให้เขา แต่มันไม่เคยได้ผลสำหรับฉัน
ดังนั้นฉันจึงเริ่มสอบสวน - ฉันจะปิดใช้งานเซิร์ฟเวอร์ DHCP ได้อย่างไร
ไม่กี่พอร์ตเปิดบนลูกบาศก์ ไม่มีอะไรดูเหมือน Telnet หรือ SSH ตั้งแต่ต้นอย่างไรก็ตามหลังจากที่ฉันเชื่อมต่อกับ UART - ฉันสังเกตเห็นว่า telnetd เริ่มต้นขึ้นเมื่อคุณกดปุ่มรีเซ็ตเป็นเวลา 3 วินาที (6 วินาทีนำการตั้งค่าเริ่มต้นกลับมา)
PORT STATE SERVICE
23/tcp open telnet <--- opened only after you hold Reset for 3 seconds
5500/tcp open hotline
9000/tcp open cslistener
เซิร์ฟเวอร์ DHCP ขึ้น
sudo nmap -sU -p 67 --script=dhcp-discover 192.168.5.1
Starting Nmap 7.60 ( https://nmap.org ) at 2019-07-18 20:04 MSK
Nmap scan report for _gateway (192.168.5.1)
Host is up (0.0027s latency).
PORT STATE SERVICE
67/udp open dhcps
| dhcp-discover:
| DHCP Message Type: DHCPACK
| Server Identifier: 192.168.5.1
| IP Address Lease Time: 23h30m42s
| Subnet Mask: 255.255.255.0
| Broadcast Address: 192.168.5.255
| Router: 192.168.5.1
| Domain Name Server: 192.168.5.1
|_ Domain Name: tendawifi.com
MAC Address: 04:95:E6:1A:96:E0 (Tenda Technology,Ltd.Dongguan branch)
Nmap done: 1 IP address (1 host up) scanned in 0.75 seconds
PORT STATE SERVICE
1723/tcp closed pptp
การตรวจสอบเฟิร์มแวร์อย่างใกล้ชิดจำเป็นต้องเข้าใจสิ่งที่เปิดและเมื่อใด
ฉันลองรูท/ผู้ดูแลระบบ/สนับสนุน/ผู้ใช้ที่มีผู้ดูแลระบบ/รหัสผ่าน/ผู้ใช้/1234/12345678 รหัสผ่านและอื่น ๆ .. ไม่ไม่ทำงาน
การเปิดลูกบาศก์นั้นตรงไปตรงมามาก จากที่น่าสนใจ - ซ็อกเก็ต UART และ SOIC -8 SPI Flash ชิปหลักปิดด้วยหม้อน้ำ - Realtek RTL8197F

115200 8N1 เริ่มต้นจาก PIN 1 (ใกล้กับ SPI Flash): VCC, RX, TX, GND
Bohong BH25Q64 SPI Flash, 8MB แผ่นข้อมูล
เฟิร์มแวร์ไม่สามารถใช้ได้บนเว็บ แอพโทรศัพท์มองหาสิ่งนั้นใน Tenda Cloud และดาวน์โหลดตัวเอง ลูกบาศก์ของฉันมีเฟิร์มแวร์ล่าสุดดังนั้นจึงไม่สามารถดมกลิ่นในเครือข่ายได้ที่ไหนใหม่ มีเพียงฉันเท่านั้นที่สามารถพูดได้ว่าแอพนี้มีโปรโตคอลการสื่อสารกับ Tenda Cloud
น่าเสียดายที่ตัวหนีบชิปไม่ทำงานมันทำให้อุปกรณ์ทั้งหมดเพิ่มขึ้นและเริ่มสื่อสารกับชิป ถูกทิ้งไว้อย่างสมบูรณ์ อย่าลืมเทปแคปตัน 
ฉันไม่ได้อ่านแฟลชชิปทุกวันและฉันไม่ได้เป็นเจ้าของอุปกรณ์การเขียนโปรแกรมพิเศษสำหรับเรื่องนี้ อย่างไรก็ตามฉันพบอุปกรณ์ FTDI FT2232H ซึ่งฉันใช้เป็นตัวดีบั๊ก OpenOCD JTAG สำหรับ ESP32 ชิปนี้มีโหมด SPI และสามารถทำงานเป็นต้นแบบได้ Pinout นำมาจากแผ่นข้อมูล
| พอร์ต FT2232H | การทำงาน | พินชิปแฟลช |
|---|---|---|
| ADBUS0 | SCK | 6 |
| ADBUS1 | Mosi | 5 |
| ADBUS2 | มิโซะ | 2 |
| ADBUS3 | CS | 1 |
พินชิปแฟลชอื่น ๆ 4 - GND, 8 - VCC 3.3V, 3 และ 7 ไปที่ VCC

$ flashrom -p ft2232_spi:type=2232H,port=A
และมันนำความโศกเศร้าเท่านั้น ...
flashrom v0.9.9-r1954 on Linux 4.18.0-25-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on ft2232_spi.
===
This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to [email protected] if any of the above operations
work correctly for you with this flash chip. Please include the flashrom log
file for all operations you tested (see the man page for details), and mention
which mainboard or programmer you tested in the subject line.
Thanks for your help!
No operations were specified.
มองไปรอบ ๆ และพบไซต์ skproj พร้อมร่างและแอพ. NET (เป็นภาษารัสเซีย) ซึ่งทำงานได้ดีสำหรับฉันในการอ่านชิปแฟลชจีน
ฉันใช้บอร์ด NODEMCU ESP8266 เนื่องจากเป็น 3.3V และฉันไม่ต้องการคิดถึงการแปลงระดับ 5V <> 3V
สำคัญ : ชิป SPI จะต้องเชื่อมต่อกับ HSPI PINS GPIO12-GPIO14 ตามเอกสารอย่างเป็นทางการ
serprog สำหรับ Arduinos ซึ่งทำงานกับ flashrom แต่ฉันไม่สามารถหาพอร์ตได้อย่างรวดเร็วสำหรับ ESP8266 
เพื่อให้การกระพริบง่ายขึ้นฉันเพิ่งซื้อชิป Winbond W25Q64FV คู่ พวกเขาทำงานกับ flashrom อย่างถูกต้องและฉันไม่จำเป็นต้องเรียกใช้ Windows เพื่อแฟลชชิป ฉันเขียน Flash Dump ไปยังชิปใหม่ด้วย
flashrom -p ft2232_spi:type=2232H,port=A -w image.bin
tenda bootloader ตรวจพบชิปแฟลชใหม่และเริ่มต้นตามปกติ
การวิ่งตรงของ Binwalk ให้การค้นพบเป็นประจำ
binwalk all.bin
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
35096 0x8918 CRC32 polynomial table, little endian
36192 0x8D60 gzip compressed data, maximum compression, from Unix, last modified: 2018-04-20 02:17:42
206872 0x32818 LZMA compressed data, properties: 0x5D, dictionary size: 8388608 bytes, uncompressed size: 6890804 bytes
2261010 0x228012 Squashfs filesystem, little endian, version 4.0, compression:xz, size: 3071844 bytes, 378 inodes, blocksize: 131072 bytes, created: 1902-05-30 15:13:04
6160384 0x5E0000 JFFS2 filesystem, little endian
อย่างไรก็ตามด้วยความหวังที่จะสามารถติดกาวทั้งหมดเข้าด้วยกันฉันจึงแยกภาพแฟลชเป็น 9 ไฟล์ตามบล็อก MTD ใน bootlog ด้วย dd
flash vendor: BOHONG
m25p80 spi0.0: BH25Q64 (8192 Kbytes) (55000000 Hz)
m25p80 spi0.0: change speed to 55000000Hz, div 2
Kernel code size:0x1f8012
9 rtkxxpart partitions found on MTD device m25p80
Creating 9 MTD partitions on "m25p80":
0x000000000000-0x000000800000 : "ALL"
0x000000000000-0x000000020000 : "Bootloader"
0x000000020000-0x000000030000 : "CFG"
0x000000030000-0x0000005c0000 : "KernelFS"
0x000000228012-0x0000005c0000 : "RootFS"
0x0000005c0000-0x0000005d0000 : "CFM"
0x0000005d0000-0x0000005e0000 : "CFM_BACKUP"
0x0000005e0000-0x0000007f0000 : "LOG"
0x0000007f0000-0x000000800000 : "ENV"
ไม่ชัดเจนสำหรับฉันว่าทำไม KernelFS และ RootFS ตัดกันตามตาราง MTD
เพียงแค่ unsquashfs เพื่อแกะระบบไฟล์ BusyBox ใช้
แมว /etc/passwd
root:$1$nalENqL8$jnRFwb1x5S.ygN.3nwTbG1:0:0:root:/:/bin/sh
แมว /etc/shadow
root:$1$OVhtCyFa$7tISyKW1KGssHAQj1vI3i1:14319::::::
แมว /etc/inittab
::sysinit:/etc_ro/init.d/rcS
ttyS0::respawn:/sbin/sulogin
::ctrlaltdel:/bin/umount -a -r
::shutdown:/usr/sbin/usb led_off
การลองครั้งแรกนั้นไร้เดียงสามาก: ให้อัปเดต /etc/inittab แล้วนำกลับมา
เปลี่ยน ttyS0::respawn:/sbin/sulogin เป็น ttyS0::respawn:/bin/login -f root
อัปเดตไฟล์ที่บรรจุไฟล์ไปยัง SQUSHFS BACK - OOOPS มันใหญ่กว่าที่เคยเป็นมา ตรวจสอบการบีบอัด - มันเป็น XZ เดิม แต่ mksquashfs ใช้ LZMA โดยค่าเริ่มต้น เปลี่ยนเป็น XZ ตอนนี้มันมีขนาดเท่ากันและเหมาะกับ Rootfs MTD ไฟล์ NEWROOTFS แบบพายกับ FF จนกว่าจะถึงขนาดพาร์ติชัน MTD ดั้งเดิม รวมไฟล์ทั้งหมดกลับเข้าไปในไฟล์ภาพเดียวเขียนถึงแฟลชการบูต ...
Booting...
init_ram
00000202 M init ddr ok
DRAM Type: DDR2
DRAM frequency: 533MHz
DRAM Size: 128MB
JEDEC id EF4017, EXT id 0x0000
found w25q64
flash vendor: Winbond
w25q64, size=8MB, erasesize=64KB, max_speed_hz=29000000Hz
auto_mode=0 addr_width=3 erase_opcode=0x000000d8
=>CPU Wake-up interrupt happen! GISR=89000004
---Realtek RTL8197F boot code at 2018.04.20-10:17+0800 v3.4.11B.9 (999MHz)
Mac addr:04-95-e6-1a-96-e0
lan_wan_isolation Initing...
config: lan port mask is 0x000000f7
config: wan port mask is 0x000000e8
lan_wan_isolation Initing has been completed.
lan_wan_isolation Initing...
config: lan port mask is 0x000000f7
config: wan port mask is 0x000000e8
lan_wan_isolation Initing has been completed.
wait for upgrage
port[0] link:down
port[1] link:down
port[2] link:down
port[3] link:down
port[4] link:down
irq:0x00008080
rootfs checksum error at 00228012!
<RealTek>
ฉันจะลืมเกี่ยวกับ CRC ได้อย่างไร ... ฉันใช้เวลาสองสามชั่วโมงในการหาวิธีที่เหมาะสมในการคำนวณ CRC - พบ RSDK พยายามที่จะเข้าใจการสร้างภาพ ... มากเกินไปสำหรับสมองของฉันตอนนี้
มาลองอย่างอื่น
ตามบันทึกการบูตมีกระบวนการ netctrl ซึ่งเริ่มต้นและเปลี่ยนรหัสผ่านรูท
argv[0] = netctrl
netctrl
prod_change_root_passwd(83)
ดังนั้นให้ทำวิธีที่ยาก พยายามแยกชิ้นส่วนและย้อนกลับรหัส อุ๊ย ไม่เคยเห็น mips asm ...
เมื่อมองผ่านไฟล์ที่พบว่ามีจำนวนมากกำลังใช้ prod_change_root_passwd , netctrl ใช้มันและดูเหมือนว่าฟังก์ชั่นที่กำหนดไว้ใน /lib/libcommonprod.so
เปิด /bin/netctrl ใน IDA main ก์ชั่นเปิดหลัก มันจะล้างบัฟเฟอร์ก่อนจากนั้นอ่านพารามิเตอร์ sys.role จากการกำหนดค่าและขึ้นอยู่กับการนอนหลับหรือการเรียกใช้ฟังก์ชันภายนอก prod_change_root_passwd โดยไม่มีพารามิเตอร์

เปิด /lib/libcommonprod.so เปิดฟังก์ชั่น prod_change_root_passw นอกจากนี้ยังล้างบัฟเฟอร์ก่อนจากนั้นอ่านพารามิเตอร์บางอย่างจากการกำหนดค่าและการโทร Encode64() ด้วยค่า wl2g.ssid0.wpapsk_psk หรือ TD_WLAN1_SSID0_PWD
จากนั้นเพียงแค่ตั้งรหัสผ่านรูทผ่านบรรทัดคำสั่ง (echo %s;sleep 1;echo %s) | passwd root -a s> /dev/null

voila
Base64 ที่คำนวณได้ของรหัสผ่านเริ่มต้นของฉันจากสติกเกอร์เชื่อมต่อผ่านอนุกรม ...
Normal startupGive root password for system maintenance
(or type Control-D for normal startup):
System Maintenance Mode
~ #
~ # uname -a
Linux NOVA-xxxxxxxxxxxx 3.10.90 #4 Mon Jul 2 10:57:35 CST 2018 mips GNU/Linux
โดยพื้นฐานแล้วยังไม่มีอะไรน่าสนใจที่จะเห็นที่นี่ ไม่มีผู้ใช้ยกเว้นรูทที่ลงทะเบียนในระบบ
~ # cat /proc/cpuinfo
system type : RTL8197F
machine : Unknown
processor : 0
cpu model : MIPS 24Kc V8.5
BogoMIPS : 666.41
wait instruction : yes
microsecond timers : yes
tlb_entries : 64
extra interrupt vector : yes
hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa : mips1 mips2 mips32r2
ASEs implemented : mips16
shadow register sets : 4
kscratch registers : 0
core : 1
VCED exceptions : not available
VCEI exceptions : not available
~ # ls -l /sys/class/gpio/
total 0
--w------- 1 root root 16384 Jan 1 1970 export
lrwxrwxrwx 1 root root 0 Jan 1 1970 gpio18 -> ../../devices/virtual/gpio/gpio18
lrwxrwxrwx 1 root root 0 Jan 1 1970 gpio19 -> ../../devices/virtual/gpio/gpio19
lrwxrwxrwx 1 root root 0 Jan 1 1970 gpio58 -> ../../devices/virtual/gpio/gpio58
lrwxrwxrwx 1 root root 0 Jan 1 1970 gpiochip0 -> ../../devices/virtual/gpio/gpiochip0
--w------- 1 root root 16384 Jan 1 1970 unexport
~ # ls -l /sys/devices/platform/
total 0
drwxr-xr-x 2 root root 0 Jul 18 21:12 alarmtimer
drwxr-xr-x 2 root root 0 Jul 18 21:12 rtl819x_8367r_i2c_pin.1
drwxr-xr-x 2 root root 0 Jul 18 21:12 rtl819x_8367r_i2c_pin.2
drwxr-xr-x 2 root root 0 Jul 18 21:12 rtl819x_8367r_reset_pin.0
drwxr-xr-x 2 root root 0 Jul 18 21:12 rtl819x_btn.0
drwxr-xr-x 2 root root 0 Jul 18 21:12 rtl819x_led.0
drwxr-xr-x 2 root root 0 Jul 18 21:12 rtl819x_led.1
drwxr-xr-x 2 root root 0 Jul 18 21:12 rtl819x_led.2
drwxr-xr-x 3 root root 0 Jan 1 1970 serial8250
drwxr-xr-x 3 root root 0 Jan 1 1970 spi-sheipa.0
-rw-r--r-- 1 root root 16384 Jul 18 21:12 uevent
และนี่คือกระบวนการที่กำลังทำงานอยู่
~ # ps
PID USER TIME COMMAND
1 root 0:01 init
2 root 0:00 [kthreadd]
3 root 0:40 [ksoftirqd/0]
4 root 0:00 [kworker/0:0]
5 root 0:00 [kworker/0:0H]
6 root 0:01 [kworker/u2:0]
7 root 0:00 [khelper]
8 root 0:00 [kworker/u2:1]
75 root 0:00 [writeback]
78 root 0:00 [bioset]
79 root 0:00 [crypto]
81 root 0:00 [kblockd]
84 root 0:01 [spi0]
102 root 0:00 [kworker/0:1]
106 root 0:00 [kswapd0]
154 root 0:00 [fsnotify_mark]
708 root 0:00 [mtdblock0]
713 root 0:00 [mtdblock1]
718 root 0:00 [mtdblock2]
723 root 0:00 [mtdblock3]
728 root 0:00 [mtdblock4]
733 root 0:00 [mtdblock5]
738 root 0:00 [mtdblock6]
743 root 0:00 [mtdblock7]
748 root 0:00 [mtdblock8]
802 root 0:00 [deferwq]
860 root 0:03 klogd -n
862 root 0:00 monitor
863 root 1:55 sh /usr/bin/ugw_watchdog.sh
869 root 0:00 syslogd -f /var/etc/syslog.conf -s 50
914 root 0:15 cfmd
1030 root 0:00 [jffs2_gcd_mtd7]
1032 root 0:11 timer
1033 root 0:00 logserver
1034 root 0:14 netctrl
1069 root 0:01 device_list
1071 root 3:20 sh /usr/bin/mesh_op.sh
1530 root 0:10 pann
1531 root 0:00 gpio_ctrl
1532 root 0:00 mesh_status_check
1534 root 0:19 network_check
1570 root 0:00 redis-server /etc_ro/redis.conf
1571 root 0:01 cmdsrv -l tcp://0.0.0.0:12598 -R tcp://127.0.0.1:6379
1572 root 0:00 [kworker/0:1H]
1573 root 0:05 confsrv
1599 root 0:01 dhcps -C /etc/dhcps.conf -l /etc/dhcps.leases -x /etc/dhc
1931 root 0:00 ucloud -l 4
1962 root 0:00 sntp 1 28800 43200
2370 root 0:00 ftd -br br0 -w wlan0 wlan1 -pid /var/run/ft.pid -c /tmp/f
2375 root 0:00 pathsel -i wlan-msh -P -t 9
2387 root 0:00 multiWAN
2488 root 0:00 dhcpcd_wan1 -c /etc/wan1.ini -m 1 eth1 -h NOVA-0495e61a96
2567 root 0:00 dnrd -t 3 -M 600 --cache=off -b -R /etc/dnrd -r 3 -s 192.
2955 root 0:00 miniupnpd -f /etc/miniupnpd.config -w
2991 root 0:00 igmpproxy
10388 root 0:00 -sh
12125 root 0:00 sleep 5
12155 root 0:00 sleep 1
12156 root 0:00 ps
ฉันสามารถเข้าถึงรูทไปยัง Tenda MW6 ใหม่ที่ทำให้ฉันมีความสุขเพราะฉันเกลียดการมีกล่องดำ
รหัสผ่านรูทเป็นเพียงรหัสผ่าน wifi ปัจจุบันของคุณเข้ารหัสด้วย base64
(ขอบคุณ @Crees เพื่อทำการวิจัย DHCP เสร็จสิ้นการทดสอบบน MW5 แต่มีซอฟต์แวร์ที่คล้ายกัน)
ยูทิลิตี้ cfm สามารถค้นพบในสคริปต์ใน /usr/sbin และใช้เพื่อจัดการพารามิเตอร์ที่ยังคงอยู่ในการรีบูต (คุณสามารถตรวจสอบร้านค้าโดยตรงด้วย cat /dev/mtd5 )
~ # cfm get ^dhcps
dhcps.Staticip1=
dhcps.Staticnum=0
dhcps.apmode.list1=1;br1;192.168.1.31;192.168.1.254;192.168.1.1;255.255.255.0;1440;192.168.1.66;192.168.1.70;host
dhcps.apmode.list2=1;br1;192.168.1.2;192.168.1.30;192.168.1.1;255.255.255.0;1440;192.168.1.66;192.168.1.70;dev
dhcps.en=1
dhcps.list1=1;br0;192.168.1.31;192.168.1.254;192.168.1.1;255.255.255.0;1440;192.168.1.1;;host
dhcps.list2=1;br0;192.168.1.2;192.168.1.30;192.168.1.1;255.255.255.0;1440;192.168.1.1;;dev
dhcps.listnum=2
dhcps.static.list1=1 14:DA:E9:38:EC:40 192.168.1.70
dhcps.static.listnum=1
โดยทั่วไปคุณจะต้องตั้งค่าการส่งต่อพอร์ตก่อนมิฉะนั้น UI อาจไม่รู้จักอุปกรณ์ของคุณ
สำหรับ dhcps.listnum หากคุณตั้งค่าเป็น 0 มันจะไม่เขียน a /etc/dhcps.conf บนรีบูตดังนั้นจึงปิดการใช้งาน DHCPS
~ # cfm set dhcps.listnum 0
สิ่งนี้จะยังคงอยู่ในการรีบูตและสามารถยกเลิกได้อย่างง่ายดายโดยการเปลี่ยน dhcps.listnum กลับมาเป็นค่าดั้งเดิมและการรีเซ็ตจากโรงงานจะกลับมาอีก
คุณได้รับอนุญาตเพียง 8 กฎการส่งต่อพอร์ตในแอพซึ่งค่อนข้าง จำกัด การตั้งค่างาน DMZ (หรือคุณสามารถยุ่งกับกฎการส่งต่อโดยใช้ CFM- กฎ VirtualSer ดูตรงไปตรงมา
~ # cfm set wan1.dmzip ip.address.here
~ # cfm set wan1.dmzen 1
~ # reboot
ดูเหมือนว่าตรรกะทางธุรกิจจำนวนมากจะทำใน C/C ++ และรวบรวม (เทียบกับการทำสคริปต์จำนวนมาก) ภาวะแทรกซ้อนอีกอย่างคือไม่มี FS ซ้อนทับ R/O ที่ติดตั้งทั้งหมดยกเว้น /dev/mtdblock7 ON /tmp/log/crash type jffs2 (rw,relatime) - การตั้งค่าจะถูกเก็บไว้โดยตรงใน /dev/mtd5 และจัดการโดยใช้ cfm
มันสนุก