aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/gemini
Commit message (Collapse)AuthorAgeFilesLines
* kernel: bump 5.10 to 5.10.94Rui Salvaterra2022-02-011-52/+0
| | | | | | | | | | | | | | | | | | | | Deleted (upstreamed): bcm27xx/patches-5.10/950-0669-drm-vc4-hdmi-Make-sure-the-device-is-powered-with-CE.patch [1] bcm27xx/patches-5.10/950-0672-drm-vc4-hdmi-Move-initial-register-read-after-pm_run.patch [1] gemini/patches-5.10/0003-ARM-dts-gemini-NAS4220-B-fis-index-block-with-128-Ki.patch [2] Manually rebased: bcm27xx/patches-5.10/950-0675-drm-vc4-hdmi-Drop-devm-interrupt-handler-for-CEC-int.patch Manually reverted: generic/pending-5.10/860-Revert-ASoC-mediatek-Check-for-error-clk-pointer.patch [3] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=55b10b88ac8654fc2f31518aa349a2e643b37f18 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v5.10.94&id=958a8819d41420d7a74ed922a09cacc0ba3a4218 [3] https://lore.kernel.org/all/trinity-2a727d96-0335-4d03-8f30-e22a0e10112d-1643363480085@3c-app-gmx-bap33/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com> Signed-off-by: Daniel Golle <daniel@makrotopia.org>
* kernel: 5.10: consolidate mac80211 crypto optionsSergey Ryazanov2021-12-171-9/+0
| | | | | | | | | | | | | | | | | | | | | | Each of - CRYPTO_AEAD2 - CRYPTO_AEAD - CRYPTO_GF128MUL - CRYPTO_GHASH - CRYPTO_HASH2 - CRYPTO_HASH - CRYPTO_MANAGER2 - CRYPTO_MANAGER - CRYPTO_NULL2 either directly required for mac80211 crypto support, or directly selected by such options. Support for the mac80211 crypto was enabled in the generic config since c7182123b9 ("kernel: make cryptoapi support needed by mac80211 built-in"). So move the above options from the target configs to the generic config to make it clear why do we need them. CC: Felix Fietkau <nbd@nbd.name> Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* kernel: filter out both Clang and LLD versionsSergey Ryazanov2021-12-171-1/+0
| | | | | | | | Both CLANG_VERSION and LLD_VERISON are autogenerated runtime configuration options, so add them to the kernel configuration filter and remove from generic and per-target configs to keep configs clean. Signed-off-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
* gemini: only provide squashfs image for storlink-derivatesChristian Lamparter2021-12-041-0/+1
| | | | | | | | | The itian sq201, raidsonic ib-4220-b and storlink sl93512r can't boot from ext4. This is because the rootfstype in the device-tree bootargs is set to "squashfs,jffs2". (And ext4 was not designed for raw NOR flash chips). Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* gemini: try fis-index-block with 128 KiB sectorsChristian Lamparter2021-11-281-0/+52
| | | | | | | | | | | | | Steven Maddox reported in the OpenWrt bugzilla, that his RaidSonic IB-NAS4220-B was no longer booting with the new OpenWrt 21.02 (uses linux 5.10's device-tree). However, it was working with the previous OpenWrt 19.07 series (uses 4.14). (This is still under investigation.) Bugzilla: https://bugs.openwrt.org/index.php?do=details&task_id=4137 Reported-by: Steven Maddox <s.maddox@lantizia.me.uk> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* gemini: splash banner on framebuffer consoleLinus Walleij2021-10-101-0/+9
| | | | | | | | | The D-Link DIR-685 has a small screen with a framebuffer console, so if we have this, when we start, display the banner on this framebuffer console so the user know they are running OpenWRT as root filesystem. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: remove obsolete Kernel 5.4Paul Spooren2021-10-025-847/+0
| | | | | | | With the upgrade to Kernel 5.10 per default the old version is no longer required to be in tree. Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: bump 5.4 to 5.4.150Hauke Mehrtens2021-10-021-2/+2
| | | | | | | | | | | | | | | | Manually rebased: generic/pending-5.4/800-bcma-get-SoC-device-struct-copy-its-DMA-params-to-th.patch mvebu/patches-5.4/021-arm64-dts-marvell-armada-37xx-Move-PCIe-comphy-handl.patch Removed upstreamed: layerscape/patches-5.4/819-uart-0004-MLK-18137-fsl_lpuart-Fix-loopback-mode.patch All others updated automatically. Compile-tested on: lantiq/xrx200, armvirt/64 Runtime-tested on: lantiq/xrx200, armvirt/64 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 5.10 to 5.10.67Rui Salvaterra2021-09-301-2/+2
| | | | | | | Deleted (upstreamed): bcm27xx/patches-5.10/950-0312-vc4_hdmi-Set-HD_CTL_WHOLSMP-and-HD_CTL_CHALIGN_SET.patch Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: Set CONFIG_RCU_CPU_STALL_TIMEOUT=21Hauke Mehrtens2021-09-092-2/+0
| | | | | | | | | | | | The default value for CONFIG_RCU_CPU_STALL_TIMEOUT was changed from 60 seconds to 21 seconds in 2012 in the upstream kernel. Some targets already use 21 seconds. This patch changes the default value in the generic configuration to 21 seconds and removes the target specific configuration options. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: move two symbols to the generic kconfigsRui Salvaterra2021-08-292-4/+0
| | | | | | | CONFIG_RCU_{NEED_SEGCBLIST,STALL_COMMON} are set basically everywhere. Move them to the generic kconfigs. And resort the generic kconfigs while at it. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* kernel: disable CONFIG_RCU_EXPERT and friendsRui Salvaterra2021-08-292-2/+0
| | | | | | | | | | | | | | Based on the existing documentation [1][2], I dare anyone to demonstrate that we need to fine-tune these RCU parameters. The (performance) breakage potential for doing so is immense, so let's just please put down this loaded footgun. Disable CONFIG_RCU_EXPERT and its dependent symbols. Additionally, remove the CONFIG_RCU_EXPERT symbol from the target kconfigs which contain it. [1] https://www.kernel.org/doc/Documentation/RCU/Design/Data-Structures/Data-Structures.html [2] https://lwn.net/Articles/777214/ Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* treewide: add various missing config symbolsDavid Bauer2021-08-102-0/+2
| | | | | | Fixes commit 91a52f22a13d ("treewide: backport support for nvmem on non platform devices") Signed-off-by: David Bauer <mail@david-bauer.net>
* gemini: Add hdparm settingLinus Walleij2021-08-081-0/+14
| | | | | | | | This uses "hdparm" (if present) to get the harddisk into low power mode on NAS set-ups. Cc: Adrian Schmutzler <mail@adrianschmutzler.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* kernel: bump 5.4 to 5.4.135John Audia2021-07-311-3/+3
| | | | | | | | | | | | All patches automatically rebased. Build system: x86_64 Build-tested: ipq806x/R7800 Run-tested: ipq806x/R7800 No dmesg regressions, everything functional Signed-off-by: John Audia <graysky@archlinux.us>
* base-files: generate network config with "device" optionsRafał Miłecki2021-05-271-3/+3
| | | | | | | Replace "ifname" with "device" as netifd has been recently patches to used the later one. It's more clear and accurate. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* treewide: switch the timer frequency to 100 HzRui Salvaterra2021-04-211-2/+0
| | | | | | | | Some targets select HZ=100, others HZ=250. There's no reason to select a higher timer frequency (and 100 Hz are available in every architecture), so change all targets to 100 Hz. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* gemini: Bump to kernel v5.10Linus Walleij2021-04-184-1/+600
| | | | | | | | | Only two patches against mainline remains. Switch to v5.10 which works very nicely with all Gemini devices. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [backported don't disable option CONFIG_BPF_SYSCAL] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* gemini,layerscape,oxnas: don't disable option CONFIG_BPF_SYSCALLTony Ambardar2021-04-161-1/+0
| | | | | | | | Respect the generic kernel config setting, which is "enabled" tree-wide, as previously done for sunxi. Ref: 247ef4d98bab ("sunxi: enable CONFIG_BPF_SYSCALL and CONFIG_EMBEDDED") Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
* kernel: Move CONFIG_USERIO to generic configHauke Mehrtens2021-03-271-1/+0
| | | | | | | | The CONFIG_USERIO option is unset in multiple target configurations. On the sunxi target it is activated. Move the kernel configuration option to the generic kernel configuration. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* treewide: remove execute bit and shebang from board.d filesAdrian Schmutzler2021-03-061-1/+0
| | | | | | | | | | | | | | | | So far, board.d files were having execute bit set and contained a shebang. However, they are just sourced in board_detect, with an apparantly unnecessary check for execute permission beforehand. Replace this check by one for existance and make the board.d files "normal" files, as would be expected in /etc anyway. Note: This removes an apparantly unused '#!/bin/sh /etc/rc.common' in target/linux/bcm47xx/base-files/etc/board.d/01_network Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* target: use SPDX license identifiers on MakefilesAdrian Schmutzler2021-02-102-8/+4
| | | | | | Use SPDX license tags to allow machines to check licenses. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: provide global default for SUPPORTED_DEVICESAdrian Schmutzler2021-01-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The majority of our targets provide a default value for the variable SUPPORTED_DEVICES, which is used in images to check against the compatible on a running device: SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) At the moment, this is implemented in the Device/Default block of the individual targets or even subtargets. However, since we standardized device names and compatible in the recent past, almost all targets are following the same scheme now: device/image name: vendor_model compatible: vendor,model The equal redundant definitions are a symptom of this process. Consequently, this patch moves the definition to image.mk making it a global default. For the few targets not using the scheme above, SUPPORTED_DEVICES will be defined to a different value in Device/Default anyway, overwriting the default. In other words: This change is supposed to be cosmetic. This can be used as a global measure to get the current compatible with: $(firstword $(SUPPORTED_DEVICES)) (Though this is not precisely an achievement of this commit.) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: drop empty kmod-ledtrig-* packagesSungbo Eo2021-01-151-1/+1
| | | | | | | | | | | | | | The following four led triggers are enabled in generic config. * kmod-ledtrig-default-on * kmod-ledtrig-heartbeat * kmod-ledtrig-netdev * kmod-ledtrig-timer Drop the packages and remove them from DEVICE_PACKAGES. There's no other package depending on them in this repo. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* kernel: remove support for kernel 4.19Adrian Schmutzler2020-10-3019-1995/+0
| | | | | | | We use 5.4 on all targets by default, and 4.19 has never been released in a stable version. There is no reason to keep it. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* gemini: Bring up DSA switchesLinus Walleij2020-09-251-0/+27
| | | | | | | | | | | | | | | | | | First group the interfaces on the DSA switch into the right LAN/WAN groups. Tested successfully on the D-Link DIR-685 with the RTL8366RB DSA switch. The RTL8366RB is DSA custom tagged and now handled by the kernel tag parser. (Backported.) The Vitesse switches are not capable of supporting DSA per-port tagging. We suspect they must be handled using some custom VLAN set-up. Cc: Pawel Dembicki <paweldembicki@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [sorted devices alphabetically] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* gemini: Add swap partition to DNS-313Linus Walleij2020-07-311-7/+13
| | | | | | | | | Sometimes when using the DNS-313 memory usage can peak and with a simple swap partition we can avoid running into the roof and invoking the OOM killer. Set this partition to 128MB (twice the size of the memory of the DNS-313). Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* treewide: drop shebang from non-executable target filesAdrian Schmutzler2020-06-162-3/+0
| | | | | | | | | | | | | | This drops the shebang from all target files for /lib and /etc/uci-defaults folders, as these are sourced and the shebang is useless. While at it, fix the executable flag on a few of these files. This does not touch ar71xx, as this target is just used for backporting now and applying cosmetic changes would just complicate things. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* treewide: drop DEVICE_TYPE when used as device variableAdrian Schmutzler2020-06-031-2/+0
| | | | | | | | | | | | | | | | | | | | | | | DEVICE_TYPE is a target/subtarget variable, and it does not have any effect when set in a device definition. It can only be set in a target's or subtarget's Makefile. Consequently, having it set anyway is misleading, so this drops all cases. This effectively reverts the following commits: 7a1497fd601d ("apm821xx: MBL: set DEVICE_TYPE to NAS") 5b4765c93a1b ("gemini: Classify Raidsonic NAS IB-4220-B as a NAS") cdc6de460bb4 ("gemini: D-Link DNS-313 is a NAS") For the following commit, the variable was set when adding device support: 27b2f0fc0fc5 ("kirkwood: add support for Iomega Storcenter ix2-200") Cc: Christian Lamparter <chunkeey@gmail.com> Cc: Sungbo Eo <mans0n@gorani.run> Cc: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* samba36: RemoveRosen Penev2020-05-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Samba 3.6 is completely unsupported, in addition to having tons of patches It also causes kernel panics on some platforms when sendfile is enabled. Example: https://github.com/gnubee-git/GnuBee_Docs/issues/45 I have reproduced on ramips as well as mvebu in the past. Samba 4 is an alternative available in the packages repo. cifsd is a lightweight alternative available in the packages repo. It is also a faster alternative to both Samba versions (lower CPU usage). It was renamed to ksmbd. To summarize, here are the alternatives: - ksmbd + luci-app-cifsd - samba4 + luci-app-samba4 Signed-off-by: Rosen Penev <rosenp@gmail.com> [drop samba36-server from GEMINI_NAS_PACKAGES, ksmbd rename + summary] Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* gemini: Refine package listLinus Walleij2020-04-091-3/+4
| | | | | | | | | The NAS packages for Gemini doesn't even include the block-mount package. Augment the list to be based off the DEFAULT_PACKAGES.nas to make sure we extend on the essentials. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: Bump kernel to v5.4Linus Walleij2020-03-211-1/+1
| | | | | | | | The v5.4 kernel already works much better than v4.19 as so many things got upstreamed so let's just bump it to kernel v5.4. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: Add kernel config for kernel v5.4Linus Walleij2020-03-211-0/+466
| | | | | | | | | | | | | | This adds a kernel config file for the v5.4 gemini kernel. No major changes compared to v4.19, mainly CONFIG_MTD_PHYSMAP_OF_GEMINI was renamed to CONFIG_MTD_PHYSMAP_GEMINI. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [select UNWINDER_ARM, set CONFIG_DRM_FBDEV_OVERALLOC, drop dropped 4.19 symbols, kernel config refreshed] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* gemini: Add v5.4 kernel patchesLinus Walleij2020-03-214-0/+386
| | | | | | | | | | | | | | This adds the kernel patches needed for the Gemini. Just 7 patches, 5 of them are already upstream. Notably we incorperate the temperature sensor on the hard drive to drive temperature control of the NAS chassis. This is required for the DIR-685 which has no external temperature sensor. Signed-off-by: Linus Walleij <linus.walleij@linaro.org> [use the drivetemp package over the backport] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* treewide: remove maintainer variable from targetsPetr Štetiar2020-03-161-1/+0
| | | | | | | | | | | | | There is no such role as target maintainer anymore, one should always send corresponding changes for the review and anyone from the commiters is allowed to merge them or eventually use the hand break and NACK them. Lets make it clear, that it is solely a community doing the maintenance tasks. Signed-off-by: Petr Štetiar <ynezz@true.cz> Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Piotr Dymacz <pepe2k@gmail.com>
* gemini: Remove kernel 4.14 supportHauke Mehrtens2020-03-1240-7766/+0
| | | | | | | | | This target was switched to kernel 4.19 more than 6 months ago in commit f342ffd300da ("treewide: kernel: bump some targets to 4.19") and now with kernel 5.4 support being added it gets harder to support kernel 4.14 in addition to kernel 4.19 and 5.4. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* gemini: dns313_gen_hdd_img.sh: switch to /bin/shRosen Penev2019-12-311-1/+1
| | | | | | | | Nothing here needs bash. Signed-off-by: Rosen Penev <rosenp@gmail.com> [add prefix to commit title] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* kernel: Deactivate CONFIG_SFP in generic configHauke Mehrtens2019-12-231-1/+0
| | | | | | | | Deactivate CONFIG_SFP for kernel 4.19 in the generic configuration. The CONFIG_SFP configuration option was not set to anything in the ath79 build for me, set it to deactivated by default. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* kernel: bump 4.19 to 4.19.88Koen Vandeputte2019-12-103-65/+3
| | | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 0004-boot-sq201-from-sda1.patch - 500-v4.20-ubifs-Fix-default-compression-selection-in-ubifs.patch - 0003-usb-dwc2-use-a-longer-core-rest-timeout-in-dwc2_core.patch Altered patches: - 0011-ARM-dts-Fix-up-SQ201-flash-access.patch - 400-mtd-add-rootfs-split-support.patch - 0101-pci-mediatek-backport-fix-pcie.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.86Koen Vandeputte2019-11-293-194/+12
| | | | | | | | | | | | | | | | | Refreshed all patches. Altered patches: - 950-0064-mfd-Add-Raspberry-Pi-Sense-HAT-core-driver.patch - 0005-mtd-physmap_of-Move-custom-initialization.patch Remove upstreamed: - 0001-pinctrl-gemini-Mask-and-set-properly.patch - 0002-pinctrl-gemini-Fix-up-TVC-clock-group.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.156Koen Vandeputte2019-11-297-24/+24
| | | | | | | | | Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* treewide: remove kmod-usb-core from DEVICE_PACKAGESAdrian Schmutzler2019-10-061-1/+1
| | | | | | | | | | | | | | | | | | | This removes _all_ occurrences of kmod-usb-core from DEVICE_PACKAGES and similar variables. This package is pulled as dependency by one of the following packages in any case: - kmod-usb-chipidea - kmod-usb-dwc2 - kmod-usb-ledtrig-usbport - kmod-usb-ohci - kmod-usb2 - kmod-usb2-pci - kmod-usb3 Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [remove kmod-usb-core from EnGenius ESR600] Signed-off-by: David Bauer <mail@david-bauer.net>
* treewide: replace backticks by $(...) in gen_*_img.sh scriptsAdrian Schmutzler2019-09-291-1/+1
| | | | | | | | This replaces deprecated backticks by more versatile $(...) syntax. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> [decapitalized patch subject at submitter's request] Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* gemini: dir685: Restore graphicsLinus Walleij2019-09-252-14/+6
| | | | | | | | | | | | | | | One of the v4.19 patches had a bug, this is fixed upstream, but in OpenWrt we can fix it by just fixing the bug in the patch. We also need to augment the config file to select the CONFIG_DRM_FBDEV_EMULATION symbol. This restores the display controller on the DIR-685 to working state: penguin and graphics on the little screen with default OpenWrt install. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* kernel: bump 4.19 to 4.19.73Koen Vandeputte2019-09-201-1/+1
| | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 840-media-i2c-tda1997x-select-V4L2_FWNODE.patch - 079-v4.20-ARM-dts-qcom-ipq4019-fix-PCI-range.patch - 083-ARM-dts-qcom-ipq4019-enlarge-PCIe-BAR-range.patch - 084-ARM-dts-qcom-ipq4019-Fix-MSI-IRQ-type.patch Fixes: - CVE-2019-15030 Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.71Koen Vandeputte2019-09-114-33/+6
| | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 950-0774-watchdog-bcm2835_wdt-Fix-module-autoload.patch - 0017-usb-host-fotg2-restart-hcd-after-port-reset.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.142Koen Vandeputte2019-09-114-33/+7
| | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 0032-usb-host-fotg2-restart-hcd-after-port-reset.patch Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* gemini: image: fix race condition when building copy-kernel.binYousong Zhou2019-09-112-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | Make treat copy-kernel.o as intermediate and delete it when it's no longer needed. This can fail when the same submake was triggered multiple times for different devices. arm-openwrt-linux-muslgnueabi-as -k -o copy-kernel.o copy-kernel.S export MAKEFLAGS= ;make -w -C copy-kernel CROSS_COMPILE=arm-openwrt-linux-muslgnueabi- arm-openwrt-linux-muslgnueabi-objcopy -O binary -S copy-kernel.o copy-kernel.bin make[5]: Entering directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel' arm-openwrt-linux-muslgnueabi-objcopy -O binary -S copy-kernel.o copy-kernel.bin rm copy-kernel.o make[5]: Leaving directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel' # "App" partition is the rootfs arm-openwrt-linux-muslgnueabi-objcopy: 'copy-kernel.o': No such file Makefile:27: recipe for target 'copy-kernel.bin' failed make[5]: Leaving directory '/builder/shared-workdir/build/target/linux/gemini/image/copy-kernel' make[5]: *** [copy-kernel.bin] Error 1 Makefile:244: recipe for target '/builder/shared-workdir/build/build_dir/target-arm_fa526_musl_eabi/linux-gemini/tmp/openwrt-gemini-storlink_sl93512r-ext4-factory.bin' failed make[4]: *** [/builder/shared-workdir/build/build_dir/target-arm_fa526_musl_eabi/linux-gemini/tmp/openwrt-gemini-storlink_sl93512r-ext4-factory.bin] Error 2 With this change, output files are directed to $(KDIR) Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: Enable flash boot on reference design typeLinus Walleij2019-08-172-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flash layout on the Storlink reference design for Gemini is using 2 MB flash for the kernel, and it also insists on overwriting the partition table with default values on every boot. The same is true for the SQ201. This poses a problem on recent OpenWrt firmware as the base zImage is bigger than 2 MB. At the same time there is a ramdisk partition of 6 MB that we don't really need. The partition table looks like this: Creating 7 MTD partitions on "30000000.flash": 0x000000000000-0x000000016000 : "BOOT" 0x000000120000-0x000000320000 : "Kern" 0x000000320000-0x000000920000 : "Ramdisk" 0x000000920000-0x000000f20000 : "Application" 0x000000f20000-0x000000f40000 : "VCTL" 0x000000f40000-0x000000fe0000 : "CurConf" 0x000000fe0000-0x000001000000 : "FIS directory" On boot the "Kern" partition is copied to RAM @0x01600000 and the "Ramdisk" partition is copied to RAM @0x00800000. Then the kernel is executed. The idea with this patch is to extend the "Kern" partition with the "Ramdisk" partition to get a full 8 MB to use for the kernel. Then we put the OpenWrt JFFS2 rootfs inside the "Application" partition. We create a small assembly loop that we prepend to the "Kern" image that will copy the "Kern" from 0x0160000 and the "Ramdisk" from 0x00800000 and put them in consecutive space at 0x00400000 and execute it from there, using "Application" as rootfs. We generate 3 main files: - zImage - contains the assembly bootstrap loop and the first part of the generated kernel image - rd.gz - contains the second part of the generated kernel image - hddapp.tgz - contains the root filesystem On the SQ201 I flash these manually using the native boot loader PLATO, "Y" alternative for the zImage, "R" for the rd.gz image and "A" for hddapp.tgz. This works fine and I can now boot to prompt on the SQ201 with nothing but flash. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
* gemini: Add copy-kernel utility packageLinus Walleij2019-08-173-0/+78
| | | | | | | | | | | This package just contains a small Gemini-only assembler bootstrap loop to copy the kernel from the two fragments (previously zImage at 0x01600000 and initramdisk at 0x00800000) into one big zImage of up to 8 MB at 0x00400000. It will be built on demand from the Gemini image Makefile. Signed-off-by: Linus Walleij <linus.walleij@linaro.org>