jffs2/mtdblock overlays are long time gone, and as we switch to the new
f2fs/ext4 based overlays, we need to add missing support for loop block
device and f2fs to kernel.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Current snapshot images doesn't provide images with usable overlay
filesystems:
mount_root: no usable overlay filesystem found, using tmpfs overlay
So this patch fixes this by updating support to current f2fs/ext4 based
overlays and providing squashfs with proper rootfs
TARGET_ROOTFS_PARTSIZE size.
While at it, I've also added support for optional gzipping of the
images, and renamed the output rootfs image filenames to match the more
common naming pattern $(IMG_PREFIX)-rootfs-$(FS-TYPE).img.
Cc: Yousong Zhou <yszhou4tech@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
jffs2/mtdblock overlays are long time gone, and as we switch to the new
f2fs/ext4 based overlays, we need to add missing support for loop block
device and f2fs to kernel.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Current squashfs snapshot images are improperly padded by just 128k,
which doesn't correspond with TARGET_ROOTFS_PARTSIZE=128 default config
option, leading to following:
Filesystem Size Used Available Use% Mounted on
/dev/root 2.5M 2.5M 0 100% /rom
/dev/loop0 85.0K 9.0K 71.0K 11% /overlay
overlayfs:/overlay 85.0K 9.0K 71.0K 11% /
Signed-off-by: Petr Štetiar <ynezz@true.cz>
In `build: image: Add IMG_ROOTFS and IMG_COMBINED variables` we've added
this new variables so switch to them now.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This common code could be shared by at least 3 targets (malta, armvirt
and x86) so let's factor it out to separate variable.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
As we're now going to pad all images by default to 128MiB let's enable
compression of the images for armvirt and malta in order to save some
space and bandwidth.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
As we're now going to pad all images by default, lets decrease the
default rootfs partition size from 256MiB to 128MiB in order to save
some space.
I'm keeping it above 100MiB in order to keep current behavior, where
overlay filesystem is using F2FS.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Commit "build: Remove TARGET_IMAGES_PAD option" has removed this config
option so remove it from this target as well.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Currently we're producing unusable x86 combined squashfs images
(18.06.1, 18.06.2 and snapshots) as we don't enable TARGET_IMAGES_PAD,
thus providing very small space for the overlay filesystem, leading to
the following with OpenWrt 18.06.1 r7258-5eb055306f images on x86 QEMU:
root@(none):/# mount | egrep 'root|overlay'
/dev/root on /rom type squashfs
/dev/loop0 on /overlay type ext4
overlayfs:/overlay on / type overlay
root@(none):/# df -h | egrep 'root|overlay|Size'
Filesystem Size Used Available Use% Mounted on
/dev/root 2.5M 2.5M 0 100% /rom
/dev/loop0 113.0K 8.0K 97.0K 8% /overlay
overlayfs:/overlay 113.0K 8.0K 97.0K 8% /
We should rather ensure proper image padding in image generation code
and we shouldn't rely on config options in order to generate usable
images.
So this patch removes TARGET_IMAGES_PAD config option and enforces
padding on combined images.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
It's being used only in x86 target to produce combined images, where
it's mandatory to have padded images in order to produce working
squashfs combined images usable in QEMU.
Currently we're producing unusable x86 combined squashfs images
(18.06.1, 18.06.2 and snapshots) as we don't enable TARGET_IMAGES_PAD,
thus providing very small space for the overlay filesystem, leading to
the following with OpenWrt 18.06.1 r7258-5eb055306f images on x86 QEMU:
root@(none):/# mount | egrep 'root|overlay'
/dev/root on /rom type squashfs
/dev/loop0 on /overlay type ext4
overlayfs:/overlay on / type overlay
root@(none):/# df -h | egrep 'root|overlay|Size'
Filesystem Size Used Available Use% Mounted on
/dev/root 2.5M 2.5M 0 100% /rom
/dev/loop0 113.0K 8.0K 97.0K 8% /overlay
overlayfs:/overlay 113.0K 8.0K 97.0K 8% /
So we should rather ensure proper image padding in image generation code
and we shouldn't rely on config options in order to generate usable
images.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Hardware specs:
SoC: Mediatek MT7621A
CPU: 4x 880Mhz
Cache: 32 KB I-Cache and 32 KB D-Cach
256 KB L2 Cache (shared by Dual-Core)
RAM: DDR3 512MB 16bits BUS
FLASH: 16MB
Switch: Mediatek Gigabit Switch (1 x LAN, 1 x WAN)
USB: 1x 3.0
PCI: 3x Mini PCIe
GPS: Quectel L70B
BTN: Reset
LED: - Power
- Ethernet
- Wifi
- USB
UART: UART is present as Pads with throughholes on the PCB.
They are located on left side.
3.3V - RX - GND - TX / 57600-8N1
3.3V is the square pad
Installation:
The stock image is a modified openwrt and can be overflashed via
# sysupgrade -F image.bin
Signed-off-by: Daniel Danzberger <daniel@dd-wrt.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[removed unused label, formatting]
This patch fixes the previous commit that rendered the
devices (mostly leds) useless.
Fixes: 1fa24de8c2 ("ath79: spi-gpio: convert deprecated binding")
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Declaring a package without the appropriate install section is an easy
mistake to make, especially when renaming packages. Since this is also
easy to detect, warn about it when it happens.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
No-objections-at-all-by: Jo-Philipp Wich <jo@mein.io>
b3a2965 mt76x02: fix crash on device reset
ffddb68 mt76x02u: check chip version on probe
7fc5f92 mt76x2u: remove duplicated entry in mt76x2u_device_table
61311d9 mt76: introduce mt76_free_device routine
a7dfcf2 mt76: move mac_work in mt76_dev
334b4ce mt76: add mac80211 driver for MT7615 PCIe-based chipsets
edb2a00 mt76: add unlikely() for dma_mapping_error() check
355c079 mt76: use macro for sn and seq_ctrl conversion
133bffb add firmware for MT7615E
49d9c1b mt76: usb: reduce locking in mt76u_tx_tasklet
3e371ca mt76: set txwi_size according to the driver value
5007326 mt76: add skb pointer to mt76_tx_info
c47a568 mt76: dma: introduce skb field in mt76_txwi_cache
9029560 mt76: dma: add skb check for dummy pointer
e9eea39 mt76: mt7615: use sizeof instead of sizeof_field
98c5359 Revert "mt76: fix potential deadlock on cancelling workqueues"
bc9baa7 mt76x02u: remove bogus stop on suspend
6c1cab9 mt76usb: fix tx/rx stop
0e674c5 mt76x02: remove bogus mutex usage
59f7bb6 Revert "mt76: mt76x02: send no-skb tx status without holding the status lock"
b0f2a30 mt76x02: avoid status_list.lock and sta->rate_ctrl_lock dependency
62054de mt76: mt7603: remove query from mt7603_mcu_msg_send signature
e79d96a mt76: mt7603: use standard signature for mt7603_mcu_msg_send
be8f039 mt76: mt7603: initialize mt76_mcu_ops data structure
9a9c656 mt76: introduce mt76_mcu_restart macro
980b91e mt76: mt7603: init mcu_restart function pointer
a97db3f mt76: mt7603: run __mt76_mcu_send_msg in mt7603_mcu_send_firmware
151115f mt76: mt76x02: mt76x02_poll_tx() can be static
7391f98 mt76: fix endianness sparse warnings
6c06f73 mt76: mt7603: report firmware version using ethtool
f06647e mt76: usb: use EP max packet aligned buffer sizes for rx
f43fccf mt76: move beacon_int in mt76_dev
74ab2cf mt76: move beacon_mask in mt76_dev
23c2f94 mt76: add TX/RX antenna pattern capabilities
6e790e1 mt76: move pre_tbtt_tasklet in mt76_dev
7606c08 mt76: mt7603: enable/disable pre_tbtt_tasklet in mt7603_set_channel
ff22eee mt76: do not enable/disable pre_tbtt_tasklet in scan_start/scan_complete
3157385 mt76: mt7603: dynamically alloc mcu req in mt7603_mcu_set_eeprom
cc674e2 mt76: mt76x02: remove useless return in mt76x02_resync_beacon_timer
6b18427 mt76: move tx_napi in mt76_dev
bce63c4 mt76: mt7603: use napi polling for tx cleanup
4afd89e mt76: mt7615: use napi polling for tx cleanup
2cb4683 mt76: move netif_napi_del in mt76_dma_cleanup
b4ceb9f mt76: Fix a signedness bug in mt7615_add_interface()
d00dc95 mt76: mt7615: Use after free in mt7615_mcu_set_bcn()
4e0ccc6 mt76: mt7615: Make mt7615_irq_handler static
0fd552a mt7615: mcu: simplify __mt7615_mcu_set_wtbl
50f7094 mt7615: mcu: simplify __mt7615_mcu_set_sta_rec
4434d04 mt7615: mcu: remove bss_info_convert_vif_type routine
083fbb9 mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl_bmc
f61ca80 mt7615: mcu: use proper msg size in mt7615_mcu_add_wtbl
35bd12d mt7615: mcu: unify mt7615_mcu_add_wtbl_bmc and mt7615_mcu_del_wtbl_bmc
f8f990b mt7615: mcu: remove unused parameter in mt7615_mcu_del_wtbl
965bca1 mt7615: remove query from mt7615_mcu_msg_send signature
9b9ca18 mt7615: remove dest from mt7615_mcu_msg_send signature
935b7e5 mt7615: mcu: remove skb_ret from mt7615_mcu_msg_send
2442db4 mt7615: mcu: unify __mt7615_mcu_set_dev_info and mt7615_mcu_set_dev_info
645bc45 mt7615: mcu: do not use function pointers whenever possible
40c4201 mt7615: mcu: remove unused structure in mcu.h
a8834a2 mt7615: mcu: use standard signature for mt7615_mcu_msg_send
824d25c mt7615: initialize mt76_mcu_ops data structure
d943427 mt7615: mcu: init mcu_restart function pointer
c2211e4 mt7615: mcu: run __mt76_mcu_send_msg in mt7615_mcu_send_firmware
cb63a06 mt76: mt7603: stop mac80211 queues before setting the channel
c6aaa3a mt76: mt7615: rearrange cleanup operations in mt7615_unregister_device
97609f3 mt76: mt7615: add static qualifier to mt7615_rx_poll_complete
f9dadd2 mt76: mt7603: add debugfs knob to enable/disable edcca
89cda5d mt7603: fix reading target tx power from eeprom
77d0e33 mt76: fix setting chan->max_power
f575da2 mt76: mt76x02: fix tx status reporting issues
a5d18dc mt76: mt76x02: fix tx reordering on rate control probing without a-mpdu
bd32a93 mt76: mt76x02: remove enable from mt76x02_edcca_init signature
18386ee mt76: mt76x2u: remove mt76x02_edcca_init in mt76x2u_set_channel
da3514f mt76: mt76x2: move mutex_lock inside mt76x2_set_channel
0d4719c mt76: mt76x02: run mt76x02_edcca_init atomically in mt76_edcca_set
fd5af73 mt76: mt76x02: fix edcca file permission
a0f51f2 mt76: mt7615: do not process rx packets if the device is not initialized
753cdee mt76: mt7615: stop mcu first in mt7615_unregister_device
899efe7 mt76: move mt76_insert_ccmp_hdr in mt76-module
6960b6e mt76: mt7615: add support for mtd eeprom parsing
4bcb057 mt76: mt7615: select wifi band according to eeprom
866f2c6 mt76: generalize mt76_get_txpower for 4x4:4 devices
514fb04 mt76: mt7615: add the capability to configure tx power
ced9d43 mt76: mt7615: init get_txpower mac80211 callback
8abd502 mt76: mt7615: rearrange locking in mt7615_config
5b9b62e mt76: move mt76_get_rate in mt76-module
661c7c8 mt76: Remove set but not used variables 'pid' and 'final_mpdu'
f072c7b mt76: mt7615: enable support for mesh
28d9496 mt76: mt7615: fix slow performance when enable encryption
827b9ad mt76: mt7615: remove unused variable in mt7615_mcu_set_bcn
34eea14 mt76: mt7615: remove key check in mt7615_mcu_set_wtbl_key
2bfae5a mt76: usb: fix rx A-MSDU support
b033532 mt76: usb: do not always copy the first part of received frames
3e7fc15 mt76x02: fix reporting of non-probing frames with tx status requested
0d5caea Revert "mt76: usb: do not always copy the first part of received frames"
335e8c6 Revert "mt76: usb: fix rx A-MSDU support"
47ddf4b mt76: revert support for TX_NEEDS_ALIGNED4_SKBS
0b6520b mt7603: rework and fix tx status reporting
539b679 mt7603: improve hardware rate switching configuration
d86d6ef mt76x0: fix RF frontend initialization for external PA
f476a14 mt76x02: fix endian issue in tx status reporting patch
f8d0517 mt76: mt7615: simplify mt7615_mcu_set_sta_rec routine
73ff45f mt76: mt7615: add support for per-chain signal strength reporting
9b67ae6 mt76: mt7615: init per-channel target power
160fdc0 mt76: mt7615: take into account extPA when configuring tx power
2211d93 mt76: mt76x02u: fix sparse warnings: should it be static?
3750533 mt76: mt7615: fix incorrect settings in mesh mode
c37c1ca mt76: mt7615: update peer's bssid when state transition occurs
9dd1089 mt76: mt76u: reduce rx memory footprint
0789f45 mt76: mt7615: remove cfg80211_chan_def from mt7615_set_channel signature
2dca431 mt76: move nl80211_dfs_regions in mt76_dev data structure
3386ccf mt76: mt76u: get rid of {out,in}_max_packet
d680ab0 mt76: usb: fix rx A-MSDU support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
It seems that newer builds of OpenWRT have a gzip kernel
larger than 2MB~, which for some reason fails to boot on this board.
However, we have 8MB of kernel space and currently the uncompressed
kernel is 6.5MB~, so we have some space to grow until a better
solution is worked out.
Before:
## Booting kernel from Legacy Image at ee840000 ...
Image Name: Linux-4.19.53
Created: 2019-06-22 11:17:48 UTC
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 2315724 Bytes = 2.2 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
Image Name: OpenWrt fake ramdisk
Created: 2019-06-22 11:17:48 UTC
Image Type: PowerPC Linux RAMDisk Image (uncompressed)
Data Size: 0 Bytes = 0 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at ec000000
Booting using the fdt blob at 0xec000000
Uncompressing Kernel Image ... Error: Bad gzipped data
GUNZIP: uncompress, out-of-mem or overwrite error -
must RESET board to recover
Loading Ramdisk to 10000000, end 10000000 ... OK
Loading Device Tree to 00ffa000, end 00fffc78 ... OK
ft_fixup_l2cache: FDT_ERR_NOTFOUND
After:
## Booting kernel from Legacy Image at ee840000 ...
Image Name: POWERPC OpenWrt Linux-4.19.53
Created: 2019-06-22 11:17:48 UTC
Image Type: PowerPC Linux Kernel Image (uncompressed)
Data Size: 6724584 Bytes = 6.4 MB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
Image Name: OpenWrt fake ramdisk
Created: 2019-06-22 11:17:48 UTC
Image Type: PowerPC Linux RAMDisk Image (uncompressed)
Data Size: 0 Bytes = 0 kB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at ec000000
Booting using the fdt blob at 0xec000000
Loading Kernel Image ... OK
OK
Loading Ramdisk to 10000000, end 10000000 ... OK
Loading Device Tree to 00ffa000, end 00fffc78 ... OK
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [75 cpl limit]
The 4.19 code has been available for some time now.
Since the f2fs / loop issue has been under control
I think it's time the target gets to move to it.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch replaces the OpenWrt' favoured
CRC32 Sarwate algorithm with the kernel
recommended SLICE8 CRC32 version.
This change alone lifted btrfs writes from 40 MiB/s
to 54 MiB/s on my My Book Live (SLICE4 managed 48 MiB/s).
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
TP-Link CPE610-v1 is an outdoor wireless CPE for 5 GHz with
one Ethernet port based on Atheros AR9344
Specifications:
- Based on the same underlying hardware as the TP-Link CPE510
- Power, LAN, WLAN5G green LEDs
- 23dBi high-gain directional 2×2 MIMO antenna and a dedicated metal reflector
Flashing instructions:
Flash factory image through stock firmware WEB UI
or through TFTP
To get to TFTP recovery just hold reset button while powering on for
around 4-5 seconds and release.
Rename factory image to recovery.bin
Stock TFTP server IP:192.168.0.100
Stock device TFTP adress:192.168.0.254
Signed-off-by: Andrew Cameron <apcameron@softhome.net>
This patch is in a series to allow additional STOP indexes after
umount, so that other block devices may stop cleanly.
rssileds.init is now STOP=89
Signed-off-by: Joseph Tingiris <joseph.tingiris@gmail.com>
This patch is in a series to allow additional STOP indexes after umount,
so that other block devices may stop cleanly.
kdumpinit is now STOP=90
Signed-off-by: Joseph Tingiris <joseph.tingiris@gmail.com>
This patch is in a series to allow additional STOP indexes after umount,
so that other block devices may stop cleanly.
boot is now STOP=90
umount is now STOP=90
After this patch series, the resulting STOP indexes in the 80s & 90s
will be:
STOP=85 odhcpd.init
STOP=89 conntrackd.init
STOP=89 log.init
STOP=89 rssileds.init
STOP=90 boot
STOP=90 kdump.init
STOP=90 network
STOP=90 sysfixtime
STOP=90 umount
STOP=98 mdadm.init (note: will be addressed in a separate patch)
Signed-off-by: Joseph Tingiris <joseph.tingiris@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
[PKG_RELEASE is now 200]
Commit fcb41decf6 ("config: enable some useful features on
!SMALL_FLASH devices") enabled netns, which in turn lead to the crash in
the flow offload target.
When the flow offloading framework intends to delete a flow from the
hardware table, it is necessary to retrieve the namespace from
nf_flowtable->ft_net. However, no one ever wrote the namespace into
nf_flowtable->ft_net in advance. So the framework will mistakenly use a
NULL namespace to execute dev_get_by_index_rcu(net, ifindex), leading to
the kernel panic.
Ref: FS#2321
Fixes: fcb41decf6 ("config: enable some useful features on !SMALL_FLASH devices")
Tested-by: Simon Tretter <simon@mediaarchitectu.re>
Signed-off-by: HsiuWen Yen <y.hsiuwen@gmail.com>
[merged patch into offload patch, fix for 4.19, SOB fix, commit subj/msg touches]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This patch adds a promising upstream patch that claims
to help for the treated I/O errors happening on f2fs
or ext4 on real block devices.
|print_req_error: I/O error, dev loop1, sector 1334
Link: <https://patchwork.kernel.org/cover/10931787/>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Daniel Engberg requested switching over to https transport
since he seems to be stuck behind a corporate firewall that
does all the wrong things.
Rick Felker noted that this is "experimental and might break".
<https://www.openwall.com/lists/musl/2019/03/27/1>.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch fixes the ath79-nand build error:
|Package kmod-tpm is missing dependencies for the following libraries:
|rng-core.ko
by making it depend on rng-core from 4.19 onwards.
This should work as 4.9 is gone so only 4.14 and 4.19
are there.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
'38b22b1e: deduplicate files in libnghttp2' missed duplicates in
staging_dir by Build/InstallDev.
Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
The OpenWrt buildroot ABI version rebuild tracker does not handle
transient dependencies, therefor add all libraries linked by rpcd
as direct dependencies to the corresponding binary package definition.
This ensures that rpcd is automatically rebuilt and relinked if any
of these libraries has its ABI_VERSION updated in the future.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Recent kernel versions need toolchain in order to properly configure
kernel, for example to set CC_HAS_ASM_GOTO config symbol, so missing
toolchain leads to the following error while running `make
kernel_oldconfig` on ath79 target with 4.19 kernel in the clean tree:
init/Kconfig:17: syntax error
init/Kconfig:16: invalid option
./scripts/clang-version.sh: line 15: mips-openwrt-linux-musl-gcc: command not found
./scripts/gcc-plugin.sh: line 11: mips-openwrt-linux-musl-gcc: command not found
net/sched/Kconfig:44: warning: menuconfig statement without prompt
make[4]: *** [scripts/kconfig/Makefile:69: oldconfig] Error 1
So in order to support this new kernel versions, this patch adds
toolchain as a hard dependency to the kernel_*config targets.
Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Restarting service causes file-systems to be unmounted without being
mounted back. When this service was obsoleted it should have been
implemented in a way that all actions are ignored. Up to this commit
default handler was called when restart was requested. This default
handler just simply calls stop and start. That means that stop called
unmount but start just printed that this service is obsoleted.
This instead implements restart that just prints same message like start
does. It just calls start in reality. This makes restart unavailable for
call.
Signed-off-by: Karel Kočí <karel.koci@nic.cz>
Extend the packageauxvars database to keep a list of possible package
dependencies for each provider, then utilize this information in buildroot
to resolve the ABI version dependencies of dependent packages up to five
levels deep.
This should properly trigger rebuilds for packages indirectly depending
on other packages whose ABI_VERSION changed.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This is mainly for kmod-br-netfilter. To turn off
bridge-netfilter-call-xxx immediately after installation
While at it
- Define filelist="/usr/lib/opkg/info/${pkgname}.list"
- Reuse "[ -z "$root" ]"
- Grep with "-m1"
Fixes FS#2300
Reported-by: Marco Sartorius <tidbits@ormoorgmen.info>
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>