add CONFIG_TARGET_ROOTFS_PARTSIZE for increasing writable partition
This commit is contained in:
40
README.md
40
README.md
@@ -80,13 +80,6 @@ with regard to installing or upgrading your OpenWRT router.
|
|||||||
OpenWRT upgrades often don't normalize upgraded config files in the same
|
OpenWRT upgrades often don't normalize upgraded config files in the same
|
||||||
way from version to version
|
way from version to version
|
||||||
|
|
||||||
## Raspberry Pi 4 Network Performance Tuning
|
|
||||||
|
|
||||||
* [(15) BIFRÖST Part 2 - RPi 4B Hybrid Bridging Router - Tuning Linux Network for Gigabit Line Speed | LinkedIn](https://www.linkedin.com/pulse/bifr%C3%B6st-rpi-4b-hybrid-routing-bridge-tuning-linux-network-corner/?trk=read_related_article-card_title)
|
|
||||||
very detailed article about tuning RPi4 network performance using IRQ
|
|
||||||
CPU pinning and other tricks. Kind of a hardwired ues of `irqbalance`
|
|
||||||
|
|
||||||
|
|
||||||
## Post Install Actions
|
## Post Install Actions
|
||||||
|
|
||||||
* [[OpenWrt Wiki] UCI defaults](https://openwrt.org/docs/guide-developer/uci-defaults)
|
* [[OpenWrt Wiki] UCI defaults](https://openwrt.org/docs/guide-developer/uci-defaults)
|
||||||
@@ -125,6 +118,39 @@ with regard to installing or upgrading your OpenWRT router.
|
|||||||
|
|
||||||
Disable DHCP server on LAN: `uci set dhcp.lan.ignore=1 && uci commit && /etc/init.d/dnsmasq restart`
|
Disable DHCP server on LAN: `uci set dhcp.lan.ignore=1 && uci commit && /etc/init.d/dnsmasq restart`
|
||||||
|
|
||||||
|
# Raspberry Pi 4
|
||||||
|
|
||||||
|
OpenWRT uses a single (main) partition for both the `/rom` and `rootfs_data`
|
||||||
|
and uses a special `mtdsplit` driver to make this sub-partitioning.
|
||||||
|
The `/rom` contains a squashfs filesystem with kernel and rootfs and
|
||||||
|
`rootfs_data` is where the writable `overlayfs` is mounted:
|
||||||
|
[[OpenWrt Wiki] The OpenWrt Flash Layout](https://openwrt.org/docs/techref/flash.layout)
|
||||||
|
|
||||||
|
For some reason, on a Raspberry Pi 4, this partition is by default only 104MB.
|
||||||
|
This leaves only around 70MB writable space. Run-time re-partitioning is quite
|
||||||
|
complicated (contact me if you know how to do it) so that leaves us with
|
||||||
|
the only option of building the image with a pre-determined size.
|
||||||
|
The `oi-build` script takes the value of `CONFIG_TARGET_ROOTFS_PARTSIZE` as
|
||||||
|
the size of the main partition. Make sure that you don't make it larger than
|
||||||
|
the SD-card you are using.
|
||||||
|
|
||||||
|
NOTE: Contrary to what the OpenWRT Wiki says,
|
||||||
|
`CONFIG_TARGET_ROOTFS_PARTSIZE` is ignored by the "make" command-line,
|
||||||
|
and you have to set it in the `.config` file instead.
|
||||||
|
|
||||||
|
See additional info here from the forum:
|
||||||
|
* [Building a x86-based image and need more disk space in the image - For Developers - OpenWrt Forum](https://forum.openwrt.org/t/building-a-x86-based-image-and-need-more-disk-space-in-the-image/2585/5)
|
||||||
|
* [X86 sysupgrade not working - For Developers - OpenWrt Forum](https://forum.openwrt.org/t/x86-sysupgrade-not-working/37869)
|
||||||
|
|
||||||
|
https://forum.openwrt.org/t/x86-sysupgrade-not-working/37869
|
||||||
|
|
||||||
|
## Raspberry Pi 4 Network Performance Tuning
|
||||||
|
|
||||||
|
* [(15) BIFRÖST Part 2 - RPi 4B Hybrid Bridging Router - Tuning Linux Network for Gigabit Line Speed | LinkedIn](https://www.linkedin.com/pulse/bifr%C3%B6st-rpi-4b-hybrid-routing-bridge-tuning-linux-network-corner/?trk=read_related_article-card_title)
|
||||||
|
very detailed article about tuning RPi4 network performance using IRQ
|
||||||
|
CPU pinning and other tricks. Kind of a hardwired ues of `irqbalance`
|
||||||
|
|
||||||
|
|
||||||
# Similar projects
|
# Similar projects
|
||||||
|
|
||||||
* [Github ansemjo/openwrtbuilder](https://gist.github.com/ansemjo/cb41677a76f1c063527744438b03b932)
|
* [Github ansemjo/openwrtbuilder](https://gist.github.com/ansemjo/cb41677a76f1c063527744438b03b932)
|
||||||
|
|||||||
@@ -10,6 +10,13 @@ PROFILE="rpi-4"
|
|||||||
|
|
||||||
RELEASE=${RELEASE_21_02}
|
RELEASE=${RELEASE_21_02}
|
||||||
|
|
||||||
|
# Define this if you want a larger file writable system
|
||||||
|
# The default for RPi4 is 104 (MB)
|
||||||
|
# Here we set it to 4096 (MB) which is almost 4GB.
|
||||||
|
# You must lower the value if your SD-card is smaller than that.
|
||||||
|
CONFIG_TARGET_ROOTFS_PARTSIZE=4096
|
||||||
|
|
||||||
|
|
||||||
# See https://openwrt.org/packages/start
|
# See https://openwrt.org/packages/start
|
||||||
#
|
#
|
||||||
# - irqbalance package distributes hardware interrupts across
|
# - irqbalance package distributes hardware interrupts across
|
||||||
|
|||||||
17
oi-build
17
oi-build
@@ -138,6 +138,14 @@ image_build() {
|
|||||||
|
|
||||||
locate_files_dir
|
locate_files_dir
|
||||||
|
|
||||||
|
if [ -n "${CONFIG_TARGET_ROOTFS_PARTSIZE}" ]; then
|
||||||
|
local configfile="${imagebuilder_dir}/.config"
|
||||||
|
echo_note "Configuring CONFIG_TARGET_ROOTFS_PARTSIZE=${CONFIG_TARGET_ROOTFS_PARTSIZE}"
|
||||||
|
echo_note "by appending to ${configfile}"
|
||||||
|
echo "CONFIG_TARGET_ROOTFS_PARTSIZE=${CONFIG_TARGET_ROOTFS_PARTSIZE}" \
|
||||||
|
>> .config
|
||||||
|
fi
|
||||||
|
|
||||||
PACKAGES=$(echo "${PACKAGES}" | tr '\n' ' ')
|
PACKAGES=$(echo "${PACKAGES}" | tr '\n' ' ')
|
||||||
echo_run "make image PROFILE='${PROFILE}' FILES='${FILES}' PACKAGES='${PACKAGES}' DISABLED_SERVICES='${DISABLED_SERVICES}'" ||
|
echo_run "make image PROFILE='${PROFILE}' FILES='${FILES}' PACKAGES='${PACKAGES}' DISABLED_SERVICES='${DISABLED_SERVICES}'" ||
|
||||||
die "image build FAILED"
|
die "image build FAILED"
|
||||||
@@ -299,4 +307,13 @@ fi
|
|||||||
if [ -d bin/targets/${TARGET} ]; then
|
if [ -d bin/targets/${TARGET} ]; then
|
||||||
echo_run "ls -lh bin/targets/${TARGET}/"
|
echo_run "ls -lh bin/targets/${TARGET}/"
|
||||||
echo_note "Final images are in ${imagebuilder_dir}/bin/targets/${TARGET}"
|
echo_note "Final images are in ${imagebuilder_dir}/bin/targets/${TARGET}"
|
||||||
|
cat << EOF
|
||||||
|
Run following commands to perform a system upgrade:
|
||||||
|
scp FILE.img.gz HOST:/tmp
|
||||||
|
ssh HOST '/sbin/sysupgrade -v /tmp/*.img.gz'
|
||||||
|
|
||||||
|
For example:
|
||||||
|
scp openwrt-imagebuilder-21.02.0-rc3-bcm27xx-bcm2711.Linux-x86_64/bin/targets/bcm27xx/bcm2711/openwrt-21.02.0-rc3-bcm27xx-bcm2711-rpi-4-ext4-sysupgrade.img.gz 192.168.1.1:/tmp
|
||||||
|
ssh 192.168.1.1 '/sbin/sysupgrade -v /tmp/*.img.gz'
|
||||||
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user