Added a persistent, user partition to the Omega2+ firmware
-
According to the Omega Firmware Changelog the v0.3.2 b225 firmvare has got a 512 KiB persistent, user partition.
It's mounted on /mnt/mtdblock7 and it's using jffs2 filesystem.Persistent: every files of the /mnt/mtdblock7/ directory is able to survive any system restore process (firstboot, long RESET BUTTON press, to enter failsafe mode) and any system up or downgrade (between b225 and newer FWs of course).
# Omega2+ v0.3.2 b225 root@Omega-5BE1:/# cat /proc/mtd dev: size erasesize name mtd0: 00030000 00010000 "u-boot" mtd1: 00010000 00010000 "u-boot-env" mtd2: 00010000 00010000 "factory" mtd3: 01f30000 00010000 "firmware" mtd4: 0017ff78 00010000 "kernel" mtd5: 01db0088 00010000 "rootfs" mtd6: 01610000 00010000 "rootfs_data" mtd7: 00080000 00010000 "user" root@Omega-5BE1:/# fdisk -l /dev/mtdblock7 Disk /dev/mtdblock7: 512 KiB, 524288 bytes, 1024 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes root@Omega-5BE1:/# mount | grep ^/dev/mtdblock7 /dev/mtdblock7 on /mnt/mtdblock7 type jffs2 (rw,relatime)
@Lazar-Demin
The up/downgrade to b225 or b226 is successful but there are a few error messages in the Serial Console log.System upgrade with
oupgrade -l -f
from b225 to b226# Omega2+ v0.3.2 b225 root@Omega-5BE1:/# oupgrade -l -f > Device Firmware Version: 0.3.2 b225 > Checking latest version online... url: https://api.onioniot.com/firmware/omega2p/latest > Repo Firmware Version: 0.3.2 b226 > New firmware version available, need to upgrade device firmware > Downloading new firmware ... --2019-07-20 14:28:26-- http://repo.onioniot.com/omega2/images/omega2p-v0.3.2-b226.bin Resolving repo.onioniot.com... 52.216.139.218 Connecting to repo.onioniot.com|52.216.139.218|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 9699504 (9.2M) [application/octet-stream] Saving to: '/tmp/omega2p-v0.3.2-b226.bin' /tmp/omega2p-v0.3.2 100%[===================>] 9.25M 1.65MB/s in 5.9s 2019-07-20 14:28:32 (1.56 MB/s) - '/tmp/omega2p-v0.3.2-b226.bin' saved [9699504/9699504] > Starting firmware upgrade.... Saving config files... Commencing upgrade. Closing all shell sessions. Watchdog handover: fd=3 - watchdog - killall: telnetd: no process killed Sending TERM to remaining processes ... logd rpcd blockd netifd odhcpd uhttpd onion-helper avahi-daemon mosquitto dnsmasq ntpd shellinaboxd ap_client ubusd Sending KILL to remaining processes ... Switching to ramdisk... mount: mounting /dev/mtdblock6 on /overlay failed: Resource busy [14137.489990] BUG: Dentry 879f4880{i=65,n=banner} still in use (1) [unmount of jffs2 jffs2] [14137.498379] ------------[ cut here ]------------ [14137.503166] WARNING: CPU: 0 PID: 3266 at fs/dcache.c:1502 umount_check+0x78/0x90 [14137.510732] Modules linked in: pppoe ppp_async option w1_therm w1_gpio uvcvideo usb_wwan snd_usb_audio pppox ppp_generic pl2303 nf_conntrack_ipv6 lzo iptable_nat ipt_REJECT ipt_MASQUERADE ftdi_sio cp210x ch341 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD wire videobuf2_v4l2 usbserial usblp usbhid ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda uinput spidev snd_usbmidi_lib slhc rfcomm pwm_mediatek_ramips nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack lzo_decompress lzo_compress iptable_mangle [14137.582550] iptable_filter ip_tables hwmon hidp hid_generic hci_uart crc_ccitt cdc_acm btusb btintel bnep bluetooth p44_ledchain snd_soc_simple_card snd_soc_simple_card_utils snd_soc_ralink_i2s snd_soc_wm8960 videobuf2_vmalloc videobuf2_memops videobuf2_core hid v4l2_common videodev evdev snd_soc_core mt_wifi ralink_gdma virt_dma ledtrig_oneshot ledtrig_morse ledtrig_heartbeat ledtrig_gpio ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables nfs msdos snd_pcm_dmaengine snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore vfat fat ntfs lockd sunrpc grace configfs autofs4 nls_utf8 nls_iso8859_1 nls_cp437 regmap_spi regmap_i2c dma_shared_buffer ecdh_generic kpp ecb cmac crypto_acompress [14137.654878] mmc_block usb_storage sdhci_pltfm sdhci mtk_sd mmc_core leds_gpio ohci_platform ohci_hcd ledtrig_transient ehci_platform sd_mod scsi_mod ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache exfat usbcore nls_base usb_common crc16 aead crypto_null cryptomgr crc32c_generic crypto_hash [14137.681081] CPU: 0 PID: 3266 Comm: busybox Not tainted 4.14.81 #0 [14137.687260] Stack : 804d3660 803adeb4 00000000 00000000 80416e04 85e81d24 87c218dc 80471967 [14137.695799] 80412aec 00000cc2 804d3660 000005de 00000001 804d0000 85e81cd8 75f364ec [14137.704304] 00000000 00000000 804d0000 0000013e 00000000 65746e69 2e342064 382e3431 [14137.712850] 7263206c 00200014 ffffff80 6f747079 80000000 00000000 800e6394 8041e664 [14137.721361] 00000009 000005de 00000001 00000000 00000000 801f0048 001b3a1f 001b3a5f [14137.729856] ... [14137.732338] Call Trace: [14137.734847] [<8000e624>] show_stack+0x74/0x104 [14137.739389] [<80025700>] __warn+0x110/0x118 [14137.743635] [<8002579c>] warn_slowpath_null+0x1c/0x30 [14137.748802] [<800e6394>] umount_check+0x78/0x90 [14137.753439] [<800e504c>] d_walk+0x104/0x1e8 [14137.757718] [<800e6184>] do_one_tree+0x2c/0x44 [14137.762247] [<800e6660>] shrink_dcache_for_umount+0x48/0x84 [14137.767944] [<800d142c>] generic_shutdown_super+0x24/0xfc [14137.773450] [<80211eb4>] kill_mtd_super+0x14/0x30 [14137.778239] [<80143adc>] jffs2_kill_sb+0x3c/0x54 [14137.782940] [<800d1a2c>] deactivate_locked_super+0x50/0x98 [14137.788522] [<800ed848>] cleanup_mnt+0x54/0x78 [14137.793131] [<8003c378>] task_work_run+0x90/0xc8 [14137.797824] [<80009510>] work_notifysig+0x10/0x18 [14137.802640] ---[ end trace 019df5132d9841ef ]--- [14137.807332] BUG: Dentry 879f7a18{i=73,n=libiwinfo.so} still in use (1) [unmount of jffs2 jffs2] [14137.816285] ------------[ cut here ]------------ [14137.820993] WARNING: CPU: 0 PID: 3266 at fs/dcache.c:1502 umount_check+0x78/0x90 [14137.828486] Modules linked in: pppoe ppp_async option w1_therm w1_gpio uvcvideo usb_wwan snd_usb_audio pppox ppp_generic pl2303 nf_conntrack_ipv6 lzo iptable_nat ipt_REJECT ipt_MASQUERADE ftdi_sio cp210x ch341 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD wire videobuf2_v4l2 usbserial usblp usbhid ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda uinput spidev snd_usbmidi_lib slhc rfcomm pwm_mediatek_ramips nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack lzo_decompress lzo_compress iptable_mangle [14137.900394] iptable_filter ip_tables hwmon hidp hid_generic hci_uart crc_ccitt cdc_acm btusb btintel bnep bluetooth p44_ledchain snd_soc_simple_card snd_soc_simple_card_utils snd_soc_ralink_i2s snd_soc_wm8960 videobuf2_vmalloc videobuf2_memops videobuf2_core hid v4l2_common videodev evdev snd_soc_core mt_wifi ralink_gdma virt_dma ledtrig_oneshot ledtrig_morse ledtrig_heartbeat ledtrig_gpio ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables nfs msdos snd_pcm_dmaengine snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore vfat fat ntfs lockd sunrpc grace configfs autofs4 nls_utf8 nls_iso8859_1 nls_cp437 regmap_spi regmap_i2c dma_shared_buffer ecdh_generic kpp ecb cmac crypto_acompress [14137.972691] mmc_block usb_storage sdhci_pltfm sdhci mtk_sd mmc_core leds_gpio ohci_platform ohci_hcd ledtrig_transient ehci_platform sd_mod scsi_mod ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache exfat usbcore nls_base usb_common crc16 aead crypto_null cryptomgr crc32c_generic crypto_hash [14137.998925] CPU: 0 PID: 3266 Comm: busybox Tainted: G W 4.14.81 #0 [14138.006365] Stack : 804d3660 803adeb4 00000000 00000000 80416e04 85e81d24 87c218dc 80471967 [14138.014899] 80412aec 00000cc2 804d3660 000005de 00000001 804d0000 85e81cd8 75f364ec [14138.023408] 00000000 00000000 804d0000 0000015b 00000000 20202020 34312e34 2031382e [14138.031907] 7263206c 03bf0000 f8000000 6f747079 80000000 00000000 800e6394 8041e664 [14138.040407] 00000009 000005de 00000001 00000000 00000002 801f0048 00000000 804d0000 [14138.048893] ... [14138.051386] Call Trace: [14138.053895] [<8000e624>] show_stack+0x74/0x104 [14138.058472] [<80025700>] __warn+0x110/0x118 [14138.062778] [<8002579c>] warn_slowpath_null+0x1c/0x30 [14138.067907] [<800e6394>] umount_check+0x78/0x90 [14138.072568] [<800e504c>] d_walk+0x104/0x1e8 [14138.076818] [<800e6184>] do_one_tree+0x2c/0x44 [14138.081345] [<800e6660>] shrink_dcache_for_umount+0x48/0x84 [14138.087008] [<800d142c>] generic_shutdown_super+0x24/0xfc [14138.092505] [<80211eb4>] kill_mtd_super+0x14/0x30 [14138.097292] [<80143adc>] jffs2_kill_sb+0x3c/0x54 [14138.102075] [<800d1a2c>] deactivate_locked_super+0x50/0x98 [14138.107658] [<800ed848>] cleanup_mnt+0x54/0x78 [14138.112232] [<8003c378>] task_work_run+0x90/0xc8 [14138.116934] [<80009510>] work_notifysig+0x10/0x18 [14138.121756] ---[ end trace 019df5132d9841f0 ]--- [14138.126447] BUG: Dentry 879f7660{i=6f,n=iwinfo.rt} still in use (1) [unmount of jffs2 jffs2] [14138.135103] ------------[ cut here ]------------ [14138.139799] WARNING: CPU: 0 PID: 3266 at fs/dcache.c:1502 umount_check+0x78/0x90 [14138.147292] Modules linked in: pppoe ppp_async option w1_therm w1_gpio uvcvideo usb_wwan snd_usb_audio pppox ppp_generic pl2303 nf_conntrack_ipv6 lzo iptable_nat ipt_REJECT ipt_MASQUERADE ftdi_sio cp210x ch341 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD wire videobuf2_v4l2 usbserial usblp usbhid ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda uinput spidev snd_usbmidi_lib slhc rfcomm pwm_mediatek_ramips nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack lzo_decompress lzo_compress iptable_mangle [14138.219187] iptable_filter ip_tables hwmon hidp hid_generic hci_uart crc_ccitt cdc_acm btusb btintel bnep bluetooth p44_ledchain snd_soc_simple_card snd_soc_simple_card_utils snd_soc_ralink_i2s snd_soc_wm8960 videobuf2_vmalloc videobuf2_memops videobuf2_core hid v4l2_common videodev evdev snd_soc_core mt_wifi ralink_gdma virt_dma ledtrig_oneshot ledtrig_morse ledtrig_heartbeat ledtrig_gpio ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables nfs msdos snd_pcm_dmaengine snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore vfat fat ntfs lockd sunrpc grace configfs autofs4 nls_utf8 nls_iso8859_1 nls_cp437 regmap_spi regmap_i2c dma_shared_buffer ecdh_generic kpp ecb cmac crypto_acompress [14138.291418] mmc_block usb_storage sdhci_pltfm sdhci mtk_sd mmc_core leds_gpio ohci_platform ohci_hcd ledtrig_transient ehci_platform sd_mod scsi_mod ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache exfat usbcore nls_base usb_common crc16 aead crypto_null cryptomgr crc32c_generic crypto_hash [14138.317560] CPU: 0 PID: 3266 Comm: busybox Tainted: G W 4.14.81 #0 [14138.325032] Stack : 804d3660 803adeb4 00000000 00000000 80416e04 85e81d24 87c218dc 80471967 [14138.333544] 80412aec 00000cc2 804d3660 000005de 00000001 804d0000 85e81cd8 75f364ec [14138.342043] 00000000 00000000 804d0000 00000178 00000000 20202020 34312e34 2031382e [14138.350541] 7263206c 03bf0000 f8000000 6f747079 80000000 00000000 800e6394 8041e664 [14138.359029] 00000009 000005de 00000001 00000000 00000002 801f0048 001b7d9f 001b7ddf [14138.367562] ... [14138.370060] Call Trace: [14138.372568] [<8000e624>] show_stack+0x74/0x104 [14138.377097] [<80025700>] __warn+0x110/0x118 [14138.381401] [<8002579c>] warn_slowpath_null+0x1c/0x30 [14138.386555] [<800e6394>] umount_check+0x78/0x90 [14138.391193] [<800e504c>] d_walk+0x104/0x1e8 [14138.395436] [<800e6184>] do_one_tree+0x2c/0x44 [14138.399952] [<800e6660>] shrink_dcache_for_umount+0x48/0x84 [14138.405614] [<800d142c>] generic_shutdown_super+0x24/0xfc [14138.411175] [<80211eb4>] kill_mtd_super+0x14/0x30 [14138.415964] [<80143adc>] jffs2_kill_sb+0x3c/0x54 [14138.420689] [<800d1a2c>] deactivate_locked_super+0x50/0x98 [14138.426306] [<800ed848>] cleanup_mnt+0x54/0x78 [14138.430857] [<8003c378>] task_work_run+0x90/0xc8 [14138.435548] [<80009510>] work_notifysig+0x10/0x18 [14138.440331] ---[ end trace 019df5132d9841f1 ]--- [14138.446525] VFS: Busy inodes after unmount of jffs2. Self-destruct in 5 seconds. Have a nice day... Performing system upgrade... Unlocking firmware ... Writing from <stdin> to firmware ... Appending jffs2 data from /tmp/sysupgrade.tgz to firmware.. . Writing from <stdin> to firmware ... Upgrade completed Rebooting system... umount: can't unmount /dev: Resource busy umount: can't unmount /tmp: Resource busy [14211.668365] reboot: Restarting system ...
System upgrade with
sysupgrade
from b225 to b226# Omega2+ v0.3.2 b225 root@Omega-5BE1:/# cd /tmp root@Omega-5BE1:/tmp# sysupgrade omega2p-v0.3.2-b226.bin Saving config files... Commencing upgrade. Closing all shell sessions. Watchdog handover: fd=3 - watchdog - killall: telnetd: no process killed Sending TERM to remaining processes ... logd rpcd blockd netifd odhcpd uhttpd onion-helper avahi-daemon mosquitto ntpd dnsmasq shellinaboxd ap_client ubusd Sending KILL to remaining processes ... Switching to ramdisk... mount: mounting /dev/mtdblock6 on /overlay failed: Resource busy [ 505.951100] BUG: Dentry 87973aa0{i=63,n=banner} still in use (1) [unmount of jffs2 jffs2] [ 505.959647] ------------[ cut here ]------------ [ 505.964405] WARNING: CPU: 0 PID: 2579 at fs/dcache.c:1502 umount_check+0x78/0x90 [ 505.971944] Modules linked in: pppoe ppp_async option w1_therm w1_gpio uvcvideo usb_wwan snd_usb_audio pppox ppp_generic pl2303 nf_conntrack_ipv6 lzo iptable_nat ipt_REJECT ipt_MASQUERADE ftdi_sio cp210x ch341 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD wire videobuf2_v4l2 usbserial usblp usbhid ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda uinput spidev snd_usbmidi_lib slhc rfcomm pwm_mediatek_ramips nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack lzo_decompress lzo_compress iptable_mangle [ 506.043817] iptable_filter ip_tables hwmon hidp hid_generic hci_uart crc_ccitt cdc_acm btusb btintel bnep bluetooth p44_ledchain snd_soc_simple_card snd_soc_simple_card_utils snd_soc_ralink_i2s snd_soc_wm8960 videobuf2_vmalloc videobuf2_memops videobuf2_core hid v4l2_common videodev evdev snd_soc_core mt_wifi ralink_gdma virt_dma ledtrig_oneshot ledtrig_morse ledtrig_heartbeat ledtrig_gpio ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables nfs msdos snd_pcm_dmaengine snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore vfat fat ntfs lockd sunrpc grace configfs autofs4 nls_utf8 nls_iso8859_1 nls_cp437 regmap_spi regmap_i2c dma_shared_buffer ecdh_generic kpp ecb cmac crypto_acompress [ 506.116072] mmc_block usb_storage sdhci_pltfm sdhci mtk_sd mmc_core leds_gpio ohci_platform ohci_hcd ledtrig_transient ehci_platform sd_mod scsi_mod ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache exfat usbcore nls_base usb_common crc16 aead crypto_null cryptomgr crc32c_generic crypto_hash [ 506.142250] CPU: 0 PID: 2579 Comm: busybox Not tainted 4.14.81 #0 [ 506.148454] Stack : 804d3660 803adeb4 00000000 00000000 80416e04 85d89d24 85d8cddc 80471967 [ 506.157011] 80412aec 00000a13 804d3660 000005de 00000001 804d0000 85d89cd8 eb1726f2 [ 506.165540] 00000000 00000000 804d0000 0000013e 00000000 65746e69 2e342064 382e3431 [ 506.174059] 7263206c 00200016 ffffff80 6f747079 80000000 00000000 800e6394 8041e664 [ 506.182587] 00000009 000005de 00000001 00000000 00000000 801f0048 00000000 804d0000 [ 506.191092] ... [ 506.193574] Call Trace: [ 506.196084] [<8000e624>] show_stack+0x74/0x104 [ 506.200615] [<80025700>] __warn+0x110/0x118 [ 506.204878] [<8002579c>] warn_slowpath_null+0x1c/0x30 [ 506.210003] [<800e6394>] umount_check+0x78/0x90 [ 506.214629] [<800e504c>] d_walk+0x104/0x1e8 [ 506.218873] [<800e6184>] do_one_tree+0x2c/0x44 [ 506.223393] [<800e6660>] shrink_dcache_for_umount+0x48/0x84 [ 506.229054] [<800d142c>] generic_shutdown_super+0x24/0xfc [ 506.234552] [<80211eb4>] kill_mtd_super+0x14/0x30 [ 506.239383] [<80143adc>] jffs2_kill_sb+0x3c/0x54 [ 506.244097] [<800d1a2c>] deactivate_locked_super+0x50/0x98 [ 506.249712] [<800ed848>] cleanup_mnt+0x54/0x78 [ 506.254262] [<8003c378>] task_work_run+0x90/0xc8 [ 506.259028] [<80009510>] work_notifysig+0x10/0x18 [ 506.264004] ---[ end trace 53e2a5dcbf11d50c ]--- [ 506.268702] BUG: Dentry 879f7a18{i=71,n=libiwinfo.so} still in use (1) [unmount of jffs2 jffs2] [ 506.277685] ------------[ cut here ]------------ [ 506.282395] WARNING: CPU: 0 PID: 2579 at fs/dcache.c:1502 umount_check+0x78/0x90 [ 506.289888] Modules linked in: pppoe ppp_async option w1_therm w1_gpio uvcvideo usb_wwan snd_usb_audio pppox ppp_generic pl2303 nf_conntrack_ipv6 lzo iptable_nat ipt_REJECT ipt_MASQUERADE ftdi_sio cp210x ch341 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD wire videobuf2_v4l2 usbserial usblp usbhid ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda uinput spidev snd_usbmidi_lib slhc rfcomm pwm_mediatek_ramips nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack lzo_decompress lzo_compress iptable_mangle [ 506.361724] iptable_filter ip_tables hwmon hidp hid_generic hci_uart crc_ccitt cdc_acm btusb btintel bnep bluetooth p44_ledchain snd_soc_simple_card snd_soc_simple_card_utils snd_soc_ralink_i2s snd_soc_wm8960 videobuf2_vmalloc videobuf2_memops videobuf2_core hid v4l2_common videodev evdev snd_soc_core mt_wifi ralink_gdma virt_dma ledtrig_oneshot ledtrig_morse ledtrig_heartbeat ledtrig_gpio ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables nfs msdos snd_pcm_dmaengine snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore vfat fat ntfs lockd sunrpc grace configfs autofs4 nls_utf8 nls_iso8859_1 nls_cp437 regmap_spi regmap_i2c dma_shared_buffer ecdh_generic kpp ecb cmac crypto_acompress [ 506.433948] mmc_block usb_storage sdhci_pltfm sdhci mtk_sd mmc_core leds_gpio ohci_platform ohci_hcd ledtrig_transient ehci_platform sd_mod scsi_mod ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache exfat usbcore nls_base usb_common crc16 aead crypto_null cryptomgr crc32c_generic crypto_hash [ 506.460128] CPU: 0 PID: 2579 Comm: busybox Tainted: G W 4.14.81 #0 [ 506.467574] Stack : 804d3660 803adeb4 00000000 00000000 80416e04 85d89d24 85d8cddc 80471967 [ 506.476077] 80412aec 00000a13 804d3660 000005de 00000001 804d0000 85d89cd8 eb1726f2 [ 506.484609] 00000000 00000000 804d0000 0000015b 00000000 20202020 34312e34 2031382e [ 506.493115] 7263206c 03bf0000 f8000000 6f747079 80000000 00000000 800e6394 8041e664 [ 506.501611] 00000009 000005de 00000001 00000000 00000002 801f0048 00000000 804d0000 [ 506.510095] ... [ 506.512623] Call Trace: [ 506.515134] [<8000e624>] show_stack+0x74/0x104 [ 506.519661] [<80025700>] __warn+0x110/0x118 [ 506.523930] [<8002579c>] warn_slowpath_null+0x1c/0x30 [ 506.529057] [<800e6394>] umount_check+0x78/0x90 [ 506.533680] [<800e504c>] d_walk+0x104/0x1e8 [ 506.537926] [<800e6184>] do_one_tree+0x2c/0x44 [ 506.542442] [<800e6660>] shrink_dcache_for_umount+0x48/0x84 [ 506.548173] [<800d142c>] generic_shutdown_super+0x24/0xfc [ 506.553687] [<80211eb4>] kill_mtd_super+0x14/0x30 [ 506.558522] [<80143adc>] jffs2_kill_sb+0x3c/0x54 [ 506.563234] [<800d1a2c>] deactivate_locked_super+0x50/0x98 [ 506.568876] [<800ed848>] cleanup_mnt+0x54/0x78 [ 506.573438] [<8003c378>] task_work_run+0x90/0xc8 [ 506.578130] [<80009510>] work_notifysig+0x10/0x18 [ 506.582925] ---[ end trace 53e2a5dcbf11d50d ]--- [ 506.587645] BUG: Dentry 879f7660{i=6d,n=iwinfo.rt} still in use (1) [unmount of jffs2 jffs2] [ 506.596336] ------------[ cut here ]------------ [ 506.601044] WARNING: CPU: 0 PID: 2579 at fs/dcache.c:1502 umount_check+0x78/0x90 [ 506.608536] Modules linked in: pppoe ppp_async option w1_therm w1_gpio uvcvideo usb_wwan snd_usb_audio pppox ppp_generic pl2303 nf_conntrack_ipv6 lzo iptable_nat ipt_REJECT ipt_MASQUERADE ftdi_sio cp210x ch341 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD wire videobuf2_v4l2 usbserial usblp usbhid ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda uinput spidev snd_usbmidi_lib slhc rfcomm pwm_mediatek_ramips nf_reject_ipv4 nf_nat_redirect nf_nat_masquerade_ipv4 nf_conntrack_ipv4 nf_nat_ipv4 nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack lzo_decompress lzo_compress iptable_mangle [ 506.680415] iptable_filter ip_tables hwmon hidp hid_generic hci_uart crc_ccitt cdc_acm btusb btintel bnep bluetooth p44_ledchain snd_soc_simple_card snd_soc_simple_card_utils snd_soc_ralink_i2s snd_soc_wm8960 videobuf2_vmalloc videobuf2_memops videobuf2_core hid v4l2_common videodev evdev snd_soc_core mt_wifi ralink_gdma virt_dma ledtrig_oneshot ledtrig_morse ledtrig_heartbeat ledtrig_gpio ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables nfs msdos snd_pcm_dmaengine snd_compress snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd_rawmidi snd_seq_device snd_hwdep snd input_core soundcore vfat fat ntfs lockd sunrpc grace configfs autofs4 nls_utf8 nls_iso8859_1 nls_cp437 regmap_spi regmap_i2c dma_shared_buffer ecdh_generic kpp ecb cmac crypto_acompress [ 506.752643] mmc_block usb_storage sdhci_pltfm sdhci mtk_sd mmc_core leds_gpio ohci_platform ohci_hcd ledtrig_transient ehci_platform sd_mod scsi_mod ehci_hcd gpio_button_hotplug ext4 jbd2 mbcache exfat usbcore nls_base usb_common crc16 aead crypto_null cryptomgr crc32c_generic crypto_hash [ 506.778870] CPU: 0 PID: 2579 Comm: busybox Tainted: G W 4.14.81 #0 [ 506.786326] Stack : 804d3660 803adeb4 00000000 00000000 80416e04 85d89d24 85d8cddc 80471967 [ 506.794860] 80412aec 00000a13 804d3660 000005de 00000001 804d0000 85d89cd8 eb1726f2 [ 506.803366] 00000000 00000000 804d0000 00000178 00000000 20202020 34312e34 2031382e [ 506.811861] 7263206c 03bf0000 f8000000 6f747079 80000000 00000000 800e6394 8041e664 [ 506.820347] 00000009 000005de 00000001 00000000 00000002 801f0048 001b7e5f 001b7e9f [ 506.828848] ... [ 506.831339] Call Trace: [ 506.833849] [<8000e624>] show_stack+0x74/0x104 [ 506.838379] [<80025700>] __warn+0x110/0x118 [ 506.842638] [<8002579c>] warn_slowpath_null+0x1c/0x30 [ 506.847763] [<800e6394>] umount_check+0x78/0x90 [ 506.852433] [<800e504c>] d_walk+0x104/0x1e8 [ 506.856681] [<800e6184>] do_one_tree+0x2c/0x44 [ 506.861246] [<800e6660>] shrink_dcache_for_umount+0x48/0x84 [ 506.866937] [<800d142c>] generic_shutdown_super+0x24/0xfc [ 506.872443] [<80211eb4>] kill_mtd_super+0x14/0x30 [ 506.877292] [<80143adc>] jffs2_kill_sb+0x3c/0x54 [ 506.882019] [<800d1a2c>] deactivate_locked_super+0x50/0x98 [ 506.887599] [<800ed848>] cleanup_mnt+0x54/0x78 [ 506.892283] [<8003c378>] task_work_run+0x90/0xc8 [ 506.896979] [<80009510>] work_notifysig+0x10/0x18 [ 506.901782] ---[ end trace 53e2a5dcbf11d50e ]--- [ 506.907977] VFS: Busy inodes after unmount of jffs2. Self-destruct in 5 seconds. Have a nice day... Performing system upgrade... Unlocking firmware ... Writing from <stdin> to firmware ... Appending jffs2 data from /tmp/sysupgrade.tgz to firmware.. . Writing from <stdin> to firmware ... Upgrade completed Rebooting system... umount: can't unmount /dev: Resource busy umount: can't unmount /tmp: Resource busy [ 580.001959] reboot: Restarting system ...
Have a nice day...
-
@György-Farkas thanks for the info. i'm not running that version firmware yet, but it got me to thinking about compression software. i know very little about what the max compression available with these compression tools but curious to know how large an uncompressed folder and all files and sub folders can be that would become a 500KB compressed file that would then be stored in mtd7 as a sort of backup. any idea if it would be an original size of 1MB or perhaps larger? thanks.
-
@Douglas-Kryder Sorry, I was too lazy to read any documentation.
Trial and Error
I've split a "big" file into smaller pieces and copied them to the /mnt/mtdblock7/ directory.
It seems we can write one (1) 500 KiB file or five (5) 100 KiB files and so on ... into it - safely.root@Omega-5BE1:~# ./busybox-mipsel split -b 500k -a 1 busybox-mipsel root@Omega-5BE1:~# ./busybox-mipsel split -b 100k -a 2 busybox-mipsel root@Omega-5BE1:~# ls -l -rwxr-xr-x 1 root root 1629080 Jun 10 14:02 busybox-mipsel -rw-r--r-- 1 root root 512000 Jul 21 05:46 xa -rw-r--r-- 1 root root 512000 Jul 21 05:46 xb ... -rw-r--r-- 1 root root 102400 Jul 21 05:47 xaa -rw-r--r-- 1 root root 102400 Jul 21 05:47 xab -rw-r--r-- 1 root root 102400 Jul 21 05:47 xac -rw-r--r-- 1 root root 102400 Jul 21 05:47 xad -rw-r--r-- 1 root root 102400 Jul 21 05:47 xae -rw-r--r-- 1 root root 102400 Jul 21 05:47 xaf ... # --------------------------------------------------------------------------------------- root@Omega-5BE1:~# rm /mnt/mtdblock7/* root@Omega-5BE1:~# df -h Filesystem Size Used Available Use% Mounted on /dev/mtdblock7 512.0K 216.0K 296.0K 42% /mnt/mtdblock7 # it's empty root@Omega-5BE1:~# cp xa /mnt/mtdblock7/xa root@Omega-5BE1:~# df -h /dev/mtdblock7 512.0K 468.0K 44.0K 91% /mnt/mtdblock7 # it's almost full root@Omega-5BE1:~# ls -l /mnt/mtdblock7 -rw-r--r-- 1 root root 512000 Jul 21 05:50 xa # --------------------------------------------------------------------------------------- root@Omega-5BE1:~# rm /mnt/mtdblock7/* root@Omega-5BE1:~# df -h Filesystem Size Used Available Use% Mounted on /dev/mtdblock7 512.0K 216.0K 296.0K 42% /mnt/mtdblock7 # it's empty root@Omega-5BE1:~# cp xaa /mnt/mtdblock7/xaa root@Omega-5BE1:~# df -h /dev/mtdblock7 512.0K 248.0K 264.0K 48% /mnt/mtdblock7 root@Omega-5BE1:~# cp xab /mnt/mtdblock7/xab /dev/mtdblock7 512.0K 300.0K 212.0K 59% /mnt/mtdblock7 root@Omega-5BE1:~# cp xac /mnt/mtdblock7/xac /dev/mtdblock7 512.0K 356.0K 156.0K 70% /mnt/mtdblock7 root@Omega-5BE1:~# cp xad /mnt/mtdblock7/xad /dev/mtdblock7 512.0K 412.0K 100.0K 80% /mnt/mtdblock7 root@Omega-5BE1:~# cp xae /mnt/mtdblock7/xae /dev/mtdblock7 512.0K 468.0K 44.0K 91% /mnt/mtdblock7 # it's almost full root@Omega-5BE1:~# cp xaf /mnt/mtdblock7/xaf cp: write error: No space left on device root@Omega-5BE1:~# ls -l /mnt/mtdblock7 -rw-r--r-- 1 root root 102400 Jul 21 05:57 xaa -rw-r--r-- 1 root root 102400 Jul 21 05:57 xab -rw-r--r-- 1 root root 102400 Jul 21 05:58 xac -rw-r--r-- 1 root root 102400 Jul 21 05:58 xad -rw-r--r-- 1 root root 102400 Jul 21 05:58 xae -rw-r--r-- 1 root root 53248 Jul 21 05:58 xaf
-
@György-Farkas yeah, i was lazy also after i asked google and got results dealing with percentages. like ~50% to ~90%. i was thinking you may have some real world experience cause i do not. thank you for the response though.
-
@Douglas-Kryder
The answer you will find universally for this questions is: "It depends."
Specifically, it depends on the "compressibility" of the source you are compressing.
Some things compress well, eg. text
Some things don't compress at all (or so little as to be meaningless): eg. compressed filesOnce you have a reasonably good idea about what you intend to store in the partition in a compressed format, you will have to do some trial and error to determine how well it compresses and whether or not it will fit.
I don't think there's any other way to determine an answer to your question, but if there is, I'd be interested to know as well.
-
@cas @Douglas-Kryder
Another trial and error.
I've copied the random.txt file five times into the /mnt/mtdblock7/ directory.
random.txt 100,000 characters, randomly selected from [a-z|A-Z|0-9|!| ] (alphabet size 64)root@Omega-5BE1:~# rm /mnt/mtdblock7/* root@Omega-5BE1:~# df -h Filesystem Size Used Available Use% Mounted on /dev/mtdblock7 512.0K 196.0K 316.0K 38% /mnt/mtdblock7 # empty root@Omega-5BE1:~# cp random.txt /mnt/mtdblock7/random1.txt /dev/mtdblock7 512.0K 272.0K 240.0K 53% /mnt/mtdblock7 # cut from df -h root@Omega-5BE1:~# cp random.txt /mnt/mtdblock7/random2.txt /dev/mtdblock7 512.0K 352.0K 160.0K 69% /mnt/mtdblock7 root@Omega-5BE1:~# cp random.txt /mnt/mtdblock7/random3.txt /dev/mtdblock7 512.0K 432.0K 80.0K 84% /mnt/mtdblock7 root@Omega-5BE1:~# cp random.txt /mnt/mtdblock7/random4.txt /dev/mtdblock7 512.0K 508.0K 4.0K 99% /mnt/mtdblock7 # almost full root@Omega-5BE1:~# cp random.txt /mnt/mtdblock7/random5.txt cp: write error: No space left on device /dev/mtdblock7 512.0K 512.0K 0 100% /mnt/mtdblock7 # full root@Omega-5BE1:~# ls -l /mnt/mtdblock7 -rw-r--r-- 1 root root 100000 Jul 21 12:09 random1.txt -rw-r--r-- 1 root root 100000 Jul 21 12:09 random2.txt -rw-r--r-- 1 root root 100000 Jul 21 12:09 random3.txt -rw-r--r-- 1 root root 100000 Jul 21 12:10 random4.txt -rw-r--r-- 1 root root 4096 Jul 21 12:10 random5.txt
Hmm...
jffs2 - maybe wear-leveling and journalling are most important features than the file compressing.
-
@György-Farkas
Is there supposed to be some level of compression built in there? I don't think so, but I haven't been following along to closely recently.fwiw, I understood @Douglas-Kryder 's question to be more along the lines of: Given a 500K persistent storage facility, how much of my data could I store there compressed as a backup.
Apologies if I misunderstood.Anyway, that potential misunderstanding aside, looking at your figures regarding the persistent storage, I'm a bit confused with the values that you've posted.
eg. Here:root@Omega-5BE1:~# rm /mnt/mtdblock7/* root@Omega-5BE1:~# df -h Filesystem Size Used Available Use% Mounted on /dev/mtdblock7 512.0K 196.0K 316.0K 38% /mnt/mtdblock7 # empty
The size: 512.0K - That's ok
The used: 196.0K - That's not emptySo something looks off with that partition.
-
@cas You wrote:
Is there supposed to be some level of compression built in there?
Yes, I think so.
See also in OpenWrt's Filesystems
About my second 'Trial and Error' example
You wrote:The size: 512.0K - That's ok
The used: 196.0K - That's not empty
So something looks off with that partition.Unfortunately I don't know the jffs2 filesystem too well. (Frankly speaking I don't know it at all
I guess the "used 196.0K" on this "empty" mtd7 can be some kind of 'system administration area' - eg. for journalling and so.Please look at the 'Used / Available' figures during the whole process.
It's quitefunnyinteresting - isn't it?# cp random.txt (100,000 bytes) five times into/mnt/mtdblock7/ # cut from the output of df -h Filesystem Size Used Available Use% Mounted on /dev/mtdblock7 512.0K 196.0K 316.0K 38% /mnt/mtdblock7 # empty /dev/mtdblock7 512.0K 272.0K 240.0K 53% /mnt/mtdblock7 # after cp the first file /dev/mtdblock7 512.0K 352.0K 160.0K 69% /mnt/mtdblock7 # after cp the second file /dev/mtdblock7 512.0K 432.0K 80.0K 84% /mnt/mtdblock7 # after cp the third file /dev/mtdblock7 512.0K 508.0K 4.0K 99% /mnt/mtdblock7 # after cp the fourth file - almost full cp random.txt /mnt/mtdblock7/random5.txt cp: write error: No space left on device /dev/mtdblock7 512.0K 512.0K 0 100% /mnt/mtdblock7 # after cp the fifth file - full
BTW I'm only interested on wear leweling now.