[OpenWrt-Devel] [PATCH] brcm2708: add squashfs rootfs image

Stijn Tintel stijn at linux-ipv6.be
Tue Apr 24 12:17:33 EDT 2018


On 24-04-18 17:59, Christian Lamparter wrote:
> On Dienstag, 24. April 2018 13:29:17 CEST Stijn Tintel wrote:
>> On 27-03-18 20:42, Christian Lamparter wrote:
>>> This patch adds a image with squashfs as the root filesystem.
>>> A rootfs_data partition will be generated on the first boot
>>> and placed inside the rootfs partition (just after the squashfs
>>> image).
>>>
>>> advantages:
>>>  - it is possible to migrate from an existing -ext4
>>>    installation and back via sysupgrade.
>>>  - existing partition layout will not be lost.
>>>  - slightly smaller image size.
>>>  - support for attendedsysupgrade
>>>
>>> disadvantages:
>>>  - needs f2fs + tools as well. This is because fs-tools decides on the
>>>    blocksize of the sdcard. So either f2fs or ext4 can get choosen as
>>>    the rootfs_data filesystem (depends on the size of the root partition).
>>>  - rootfs_data is placed into the rootfs partition. This makes
>>>    it difficult for tools that expect a /dev/mmc0pX device.
>>>    It also makes it difficult for data recovery tools since they
>>>    might not expect to find a embedded partition or will be
>>>    confused.
>>>
>>> For people with existing build configurations: make sure to include mkf2fs
>>> and f2fsck package into the image... Otherwise the new -squashfs image will
>>> boot of a ram-overlay and won't keep the configurations after a reboot.
>>>
>> Tried to sysupgrade one of my RPi0W from ext4 to squashfs, and it
>> appeared to work at first, until I rebooted it again. Apparently the
>> overlay is completely missing, the SD card only has /boot (FAT32) and /
>> (squashfs). Can you please look into this?
> I think know the problem. The commit-message mentions it and the symptoms
> you are describing would fit. But just in case: can you please provide the
> image's diffconfig (or full-config ... and I guess a bootlog wouldn't
> hurt either - but it would be optional) to confirm?
Please find diffconfig attached. The machine was running headless so I
don't have a bootlog.
>
> (I also tested it again on an uptodate "OpenWrt SNAPSHOT, r6759+2-9e848f901c"
> with my rpi-b - which should be in the same family/subtarget as your RPi0W so
> I can try your generated images as well.)
>
>> If you can get it resolved I will merge the patch.
> The original issue [0] has been addressed by this patch [1]. And indeed
> the luci-app will now successfully generate a image (currently, only for the 
> rpi-3 though!):
> "openwrt-dbbb09d2658d5c2-brcm2708-bcm2710-rpi-3-ext4-sdcard.img.gz"
> and install it.
>
> this patch is therefore no longer necessary since it the existing ext4
> images work as well. :) ... Plus the ext4 images don't confuse tools and
> brains as much.
I still find it useful, I've had way too many corrupted ext4 filesystems
on my RPis, and I'm hoping squashfs + f2fs would be more reliable than
ext4 on SD cards...

Thanks,
Stijn

-------------- next part --------------
CONFIG_TARGET_brcm2708=y
CONFIG_TARGET_brcm2708_bcm2708=y
CONFIG_TARGET_brcm2708_bcm2708_DEVICE_rpi=y
CONFIG_BRCM2708_SD_BOOT_PARTSIZE=256
CONFIG_BUILD_PATENTED=y
CONFIG_DEBUG=y
CONFIG_DROPBEAR_ECC=y
# CONFIG_KERNEL_CC_STACKPROTECTOR_REGULAR is not set
CONFIG_KERNEL_CC_STACKPROTECTOR_STRONG=y
CONFIG_LIBCURL_COOKIES=y
CONFIG_LIBCURL_FILE=y
CONFIG_LIBCURL_FTP=y
CONFIG_LIBCURL_HTTP=y
CONFIG_LIBCURL_NGHTTP2=y
CONFIG_LIBCURL_NO_SMB="!"
CONFIG_LIBCURL_OPENSSL=y
CONFIG_LIBCURL_PROXY=y
CONFIG_LIBIIO_LOCAL_BACKEND=y
CONFIG_LIBIIO_NETWORK_BACKEND=y
CONFIG_LIBIIO_XML_BACKEND=y
CONFIG_LLDPD_WITH_CDP=y
CONFIG_LLDPD_WITH_CUSTOM=y
CONFIG_LLDPD_WITH_DOT1=y
CONFIG_LLDPD_WITH_DOT3=y
CONFIG_LLDPD_WITH_EDP=y
CONFIG_LLDPD_WITH_FDP=y
CONFIG_LLDPD_WITH_LLDPMED=y
CONFIG_LLDPD_WITH_PRIVSEP=y
CONFIG_LLDPD_WITH_SONMP=y
CONFIG_MINIUPNPD_IGDv2=y
CONFIG_OPENSSL_OPTIMIZE_SPEED=y
CONFIG_OPENSSL_WITH_DEPRECATED=y
CONFIG_OPENSSL_WITH_EC=y
CONFIG_OPENSSL_WITH_NPN=y
CONFIG_OPENSSL_WITH_PSK=y
CONFIG_OPENSSL_WITH_SRP=y
CONFIG_PACKAGE_BRCM80211_DEBUG=y
CONFIG_PACKAGE_avahi-dbus-daemon=y
CONFIG_PACKAGE_bfgminer=y
CONFIG_PACKAGE_block-mount=y
CONFIG_PACKAGE_ca-certificates=y
CONFIG_PACKAGE_cgi-io=y
CONFIG_PACKAGE_dbus=y
# CONFIG_PACKAGE_dnsmasq is not set
CONFIG_PACKAGE_fontconfig=y
CONFIG_PACKAGE_gdb=y
CONFIG_PACKAGE_gdbserver=y
CONFIG_PACKAGE_i2c-tools=y
CONFIG_PACKAGE_iio-utils=y
CONFIG_PACKAGE_iiod=y
CONFIG_PACKAGE_ip-full=y
CONFIG_PACKAGE_iperf=y
CONFIG_PACKAGE_iperf3=y
CONFIG_PACKAGE_ipset=y
CONFIG_PACKAGE_iptables-mod-ipsec=y
CONFIG_PACKAGE_iputils-ping=y
CONFIG_PACKAGE_iputils-ping6=y
# CONFIG_PACKAGE_iwinfo is not set
CONFIG_PACKAGE_jansson=y
CONFIG_PACKAGE_kmod-bluetooth=y
CONFIG_PACKAGE_kmod-crypto-aead=y
CONFIG_PACKAGE_kmod-crypto-authenc=y
CONFIG_PACKAGE_kmod-crypto-cbc=y
CONFIG_PACKAGE_kmod-crypto-cmac=y
CONFIG_PACKAGE_kmod-crypto-deflate=y
CONFIG_PACKAGE_kmod-crypto-des=y
CONFIG_PACKAGE_kmod-crypto-ecb=y
CONFIG_PACKAGE_kmod-crypto-ecdh=y
CONFIG_PACKAGE_kmod-crypto-echainiv=y
CONFIG_PACKAGE_kmod-crypto-hash=y
CONFIG_PACKAGE_kmod-crypto-hmac=y
CONFIG_PACKAGE_kmod-crypto-iv=y
CONFIG_PACKAGE_kmod-crypto-kpp=y
CONFIG_PACKAGE_kmod-crypto-manager=y
CONFIG_PACKAGE_kmod-crypto-md4=y
CONFIG_PACKAGE_kmod-crypto-md5=y
CONFIG_PACKAGE_kmod-crypto-null=y
CONFIG_PACKAGE_kmod-crypto-pcompress=y
CONFIG_PACKAGE_kmod-crypto-rng=y
CONFIG_PACKAGE_kmod-crypto-sha1=y
CONFIG_PACKAGE_kmod-crypto-sha256=y
CONFIG_PACKAGE_kmod-crypto-wq=y
CONFIG_PACKAGE_kmod-dma-buf=y
CONFIG_PACKAGE_kmod-drm=y
CONFIG_PACKAGE_kmod-drm-vc4=y
CONFIG_PACKAGE_kmod-fs-cifs=y
CONFIG_PACKAGE_kmod-i2c-bcm2708=y
CONFIG_PACKAGE_kmod-i2c-bcm2835=y
CONFIG_PACKAGE_kmod-i2c-core=y
CONFIG_PACKAGE_kmod-iio-bmp280=y
CONFIG_PACKAGE_kmod-iio-bmp280-i2c=y
CONFIG_PACKAGE_kmod-iio-bmp280-spi=y
CONFIG_PACKAGE_kmod-iio-core=y
CONFIG_PACKAGE_kmod-iio-dht11=y
CONFIG_PACKAGE_kmod-ip-vti=y
CONFIG_PACKAGE_kmod-ip6-tunnel=y
CONFIG_PACKAGE_kmod-ip6-vti=y
CONFIG_PACKAGE_kmod-ipsec=y
CONFIG_PACKAGE_kmod-ipsec4=y
CONFIG_PACKAGE_kmod-ipsec6=y
CONFIG_PACKAGE_kmod-ipt-ipsec=y
CONFIG_PACKAGE_kmod-ipt-ipset=y
CONFIG_PACKAGE_kmod-iptunnel=y
CONFIG_PACKAGE_kmod-iptunnel4=y
CONFIG_PACKAGE_kmod-iptunnel6=y
CONFIG_PACKAGE_kmod-lib-crc16=y
CONFIG_PACKAGE_kmod-lib-lzo=y
CONFIG_PACKAGE_kmod-lib-zlib-deflate=y
CONFIG_PACKAGE_kmod-lib-zlib-inflate=y
CONFIG_PACKAGE_kmod-nfnetlink=y
CONFIG_PACKAGE_kmod-regmap=y
CONFIG_PACKAGE_kmod-sched-core=y
CONFIG_PACKAGE_kmod-spi-bcm2835=y
CONFIG_PACKAGE_kmod-spi-bcm2835-aux=y
CONFIG_PACKAGE_kmod-spi-bitbang=y
CONFIG_PACKAGE_kmod-udptunnel4=y
CONFIG_PACKAGE_kmod-udptunnel6=y
CONFIG_PACKAGE_kmod-usb-acm=y
CONFIG_PACKAGE_kmod-usb-serial=y
CONFIG_PACKAGE_kmod-usb-serial-ftdi=y
CONFIG_PACKAGE_kmod-wireguard=y
CONFIG_PACKAGE_libavahi-client=y
CONFIG_PACKAGE_libavahi-dbus-support=y
CONFIG_PACKAGE_libbase58=y
CONFIG_PACKAGE_libbz2=y
CONFIG_PACKAGE_libcares=y
CONFIG_PACKAGE_libcurl=y
CONFIG_PACKAGE_libdaemon=y
CONFIG_PACKAGE_libdbus=y
CONFIG_PACKAGE_libevent2=y
CONFIG_PACKAGE_libexpat=y
# CONFIG_PACKAGE_libf2fs is not set
CONFIG_PACKAGE_libfreetype=y
CONFIG_PACKAGE_libiio=y
CONFIG_PACKAGE_libipset=y
CONFIG_PACKAGE_libiwinfo-lua=y
CONFIG_PACKAGE_liblua=y
CONFIG_PACKAGE_libmbedtls=y
CONFIG_PACKAGE_libmnl=y
CONFIG_PACKAGE_libmosquitto-ssl=y
CONFIG_PACKAGE_libncurses=y
CONFIG_PACKAGE_libnetsnmp=y
CONFIG_PACKAGE_libnghttp2=y
CONFIG_PACKAGE_libopenssl=y
CONFIG_PACKAGE_libpcap=y
CONFIG_PACKAGE_libpng=y
CONFIG_PACKAGE_libreadline=y
CONFIG_PACKAGE_librpc=y
CONFIG_PACKAGE_libsensors=y
# CONFIG_PACKAGE_libsmartcols is not set
CONFIG_PACKAGE_libsysfs=y
CONFIG_PACKAGE_libubus-lua=y
CONFIG_PACKAGE_libuci-lua=y
CONFIG_PACKAGE_libusb-1.0=y
CONFIG_PACKAGE_libustream-openssl=y
CONFIG_PACKAGE_libxml2=y
CONFIG_PACKAGE_lldpd=y
CONFIG_PACKAGE_lsof=y
CONFIG_PACKAGE_lua=y
CONFIG_PACKAGE_luci=y
CONFIG_PACKAGE_luci-app-firewall=y
CONFIG_PACKAGE_luci-base=y
CONFIG_PACKAGE_luci-lib-ip=y
CONFIG_PACKAGE_luci-lib-json=y
CONFIG_PACKAGE_luci-lib-jsonc=y
CONFIG_PACKAGE_luci-lib-nixio=y
CONFIG_PACKAGE_luci-mod-admin-full=y
CONFIG_PACKAGE_luci-mod-rpc=y
CONFIG_PACKAGE_luci-proto-ipv6=y
CONFIG_PACKAGE_luci-proto-ppp=y
CONFIG_PACKAGE_luci-ssl-openssl=y
CONFIG_PACKAGE_luci-theme-bootstrap=y
# CONFIG_PACKAGE_mkf2fs is not set
CONFIG_PACKAGE_mtr=y
# CONFIG_PACKAGE_odhcp6c is not set
# CONFIG_PACKAGE_odhcpd-ipv6only is not set
CONFIG_PACKAGE_openssl-util=y
# CONFIG_PACKAGE_partx-utils is not set
CONFIG_PACKAGE_rpcd=y
CONFIG_PACKAGE_rpcd-mod-rrdns=y
CONFIG_PACKAGE_snmpd=y
CONFIG_PACKAGE_ss=y
CONFIG_PACKAGE_strace=y
CONFIG_PACKAGE_sysfsutils=y
CONFIG_PACKAGE_tc=y
CONFIG_PACKAGE_tcpdump=y
CONFIG_PACKAGE_terminfo=y
CONFIG_PACKAGE_uclibcxx=y
CONFIG_PACKAGE_uhttpd=y
CONFIG_PACKAGE_uhttpd-mod-ubus=y
CONFIG_PACKAGE_usbutils=y
CONFIG_PACKAGE_wpad=y
# CONFIG_PACKAGE_wpad-mini is not set
CONFIG_PACKAGE_zlib=y
CONFIG_PKG_CC_STACKPROTECTOR_STRONG=y
# CONFIG_PKG_FORTIFY_SOURCE_1 is not set
CONFIG_PKG_FORTIFY_SOURCE_2=y
CONFIG_TARGET_ROOTFS_PARTSIZE=512
CONFIG_WPA_SUPPLICANT_INTERNAL=y
CONFIG_ZLIB_OPTIMIZE_SPEED=y
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list