summaryrefslogtreecommitdiff
path: root/target
diff options
context:
space:
mode:
Diffstat (limited to 'target')
-rw-r--r--target/arm/Makefile12
-rw-r--r--target/arm/kernel/linksys-nslu2110
-rw-r--r--target/arm/systems/linksys-nslu26
-rw-r--r--target/config/Config.in.kernelfmt1
-rw-r--r--target/config/Config.in.libc6
-rw-r--r--target/config/Config.in.qemuopts2
-rw-r--r--target/config/Config.in.rootfs7
-rw-r--r--target/config/Config.in.runtime20
-rw-r--r--target/config/Config.in.tools10
-rw-r--r--target/cris/systems/foxboard-lx8321
-rw-r--r--target/frv/uclibc-ng-nommu.config (renamed from target/frv/uclibc-ng.config)0
-rw-r--r--target/linux/Config.in.kernelversion2
-rw-r--r--target/linux/config/Config.in.bus6
-rw-r--r--target/linux/config/Config.in.flash17
-rw-r--r--target/linux/config/Config.in.fs4
-rw-r--r--target/linux/config/Config.in.usb5
-rw-r--r--target/linux/config/Config.in.watchdog9
-rw-r--r--target/linux/patches/2.6.32.70/proc-xscale.patch12
-rw-r--r--target/linux/patches/2.6.32.70/uaccess.patch14
-rw-r--r--target/linux/patches/3.16.85/bsd-compatibility.patch2538
-rw-r--r--target/linux/patches/3.4.112/bsd-compatibility.patch2512
-rw-r--r--target/linux/patches/4.19.320/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/5.10.234/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/5.15.178/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/5.4.289/darwin-file2alias.patch14
-rw-r--r--target/linux/patches/6.6.82/linksys-nslu2.patch12
-rw-r--r--target/lm32/uclibc-ng-nommu.config34
-rw-r--r--target/riscv32/Makefile2
-rw-r--r--target/riscv64/Makefile3
29 files changed, 256 insertions, 5145 deletions
diff --git a/target/arm/Makefile b/target/arm/Makefile
index 9ca6969a1..227cc97ca 100644
--- a/target/arm/Makefile
+++ b/target/arm/Makefile
@@ -129,10 +129,6 @@ ifeq ($(ADK_TARGET_FS),nfsroot)
targethelp:
@echo 'The kernel file is: $(FW_DIR)/${TARGET_KERNEL}'
@echo "The RootFS tarball is: $(FW_DIR)/$(ROOTFSUSERTARBALL)"
-ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_NSLU2),y)
- @echo "Use following in RedBoot bootloader:"
- @echo "RedBoot> ip_address -l <localip> -h <serverip>; load -r -v -b 0x01d00000 ${TARGET_KERNEL}; exec 0x01d00000"
-endif
endif
ifeq ($(ADK_TARGET_FS),squashfs)
targethelp:
@@ -205,6 +201,9 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_PCDUINO_3B),y)
VENDOR:=allwinner/
endif
+ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_NSLU2),y)
+VENDOR:=intel/ixp/
+endif
endif
dtb-install:
@@ -272,6 +271,9 @@ endif
ifeq ($(ADK_TARGET_SYSTEM_ST_STM32F746G),y)
${KERNEL_MAKE} $(VENDOR)stm32f746-disco.dtb $(MAKE_TRACE)
endif
+ifeq ($(ADK_TARGET_SYSTEM_LINKSYS_NSLU2),y)
+ ${KERNEL_MAKE} $(VENDOR)intel-ixp42x-linksys-nslu2.dtb $(MAKE_TRACE)
+endif
for x in $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb; do \
[[ -e "$$x" ]] && cp $(LINUX_DIR)/arch/arm/boot/dts/$(VENDOR)*.dtb $(FW_DIR); \
break; \
@@ -294,7 +296,7 @@ ifeq (${ADK_TARGET_FS},genimage)
imageinstall: dtb-install $(FW_DIR)/$(GENIMAGE) targethelp
endif
ifeq ($(ADK_TARGET_FS),nfsroot)
-imageinstall: kernel-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
+imageinstall: kernel-install dtb-install $(FW_DIR)/$(ROOTFSUSERTARBALL) targethelp
endif
ifeq ($(ADK_TARGET_FS),squashfs)
imageinstall: $(BUILD_DIR)/root.squashfs kernel-install dtb-install targethelp
diff --git a/target/arm/kernel/linksys-nslu2 b/target/arm/kernel/linksys-nslu2
index a0a941721..39eb3e89f 100644
--- a/target/arm/kernel/linksys-nslu2
+++ b/target/arm/kernel/linksys-nslu2
@@ -1,4 +1,7 @@
CONFIG_ARM=y
+CONFIG_ARCH_MULTIPLATFORM=y
+CONFIG_ARCH_MULTI_V5=y
+CONFIG_ARCH_MULTI_V4_V5=y
CONFIG_ARCH_IXDP425=y
CONFIG_ARCH_IXDP4XX=y
CONFIG_ARCH_IXP4XX=y
@@ -7,6 +10,111 @@ CONFIG_ATAGS=y
CONFIG_CPU_XSCALE=y
CONFIG_IXP4XX_NPE=y
CONFIG_IXP4XX_QMGR=y
-CONFIG_IXP4XX_WATCHDOG=y
CONFIG_MACH_NSLU2=y
CONFIG_FPE_NWFPE=y
+CONFIG_ARM_APPENDED_DTB=y
+CONFIG_ARM_THUMB=y
+CONFIG_KUSER_HELPERS=y
+
+CONFIG_FW_LOADER=y
+CONFIG_FW_LOADER_USER_HELPER=y
+CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_INTEL_IXP4XX_EB=y
+CONFIG_MTD=y
+CONFIG_MTD_OF_PARTS=y
+CONFIG_MTD_REDBOOT_PARTS=y
+CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+CONFIG_MTD_CFI=y
+CONFIG_MTD_GEN_PROBE=y
+CONFIG_MTD_CFI_ADV_OPTIONS=y
+CONFIG_MTD_CFI_NOSWAP=y
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_OTP=y
+CONFIG_MTD_CFI_INTELEXT=y
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=y
+CONFIG_MTD_PHYSMAP_OF=y
+CONFIG_MTD_PHYSMAP_IXP4XX=y
+CONFIG_NET_VENDOR_XSCALE=y
+CONFIG_IXP4XX_ETH=y
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+CONFIG_PHYLIB_LEDS=y
+CONFIG_FIXED_PHY=y
+CONFIG_AMD_PHY=y
+CONFIG_REALTEK_PHY=y
+CONFIG_REALTEK_PHY_HWMON=y
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_IXP4XX_HSS=y
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_NR_UARTS=2
+CONFIG_SERIAL_8250_RUNTIME_UARTS=2
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_OF_PLATFORM=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_IXP4XX=y
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_GPIO=y
+CONFIG_I2C_IOP3XX=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_SYSFS=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_GENERIC=y
+CONFIG_GPIO_IXP4XX=y
+CONFIG_GPIO_GW_PLD=y
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_HWMON=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_MC146818_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+CONFIG_RTC_DRV_X1205=m
+CONFIG_RTC_I2C_AND_SPI=y
+CONFIG_RTC_DRV_CMOS=y
+CONFIG_STAGING=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_IXP4XX_TIMER=y
+CONFIG_IXP4XX_QMGR=y
+CONFIG_IXP4XX_NPE=y
+CONFIG_IRQCHIP=y
+CONFIG_IXP4XX_IRQ=y
diff --git a/target/arm/systems/linksys-nslu2 b/target/arm/systems/linksys-nslu2
index 72f55eadd..18333a17c 100644
--- a/target/arm/systems/linksys-nslu2
+++ b/target/arm/systems/linksys-nslu2
@@ -4,15 +4,17 @@ config ADK_TARGET_SYSTEM_LINKSYS_NSLU2
select ADK_TARGET_BIG_ENDIAN
select ADK_TARGET_CPU_ARM_XSCALE
select ADK_TARGET_WITH_USB
- select ADK_TARGET_WITH_PCI
select ADK_TARGET_WITH_SERIAL
select ADK_TARGET_WITH_NET
select ADK_TARGET_WITH_NETDEVICE
- select ADK_TARGET_WITH_BLOCK
select ADK_TARGET_WITH_I2C
+ select ADK_TARGET_WITH_MTD
+ select ADK_TARGET_WITH_PCI
select ADK_TARGET_KERNEL_ZIMAGE
select ADK_TARGET_KERNEL_WITH_COMPRESSION
select ADK_PACKAGE_IXP4XX_MICROCODE
+ select ADK_PACKAGE_APEX
+ select ADK_HOST_BUILD_UPSLUG2
help
Linksys NSLU2
diff --git a/target/config/Config.in.kernelfmt b/target/config/Config.in.kernelfmt
index 2704b08ae..d4ea880ca 100644
--- a/target/config/Config.in.kernelfmt
+++ b/target/config/Config.in.kernelfmt
@@ -113,3 +113,4 @@ config ADK_TARGET_KERNEL_APPEND_DTB
string
default "armada-xp-synology-ds414" if ADK_TARGET_SYSTEM_SYNOLOGY_DS414 && !ADK_TARGET_KERNEL_VENDORED_DTB
default "marvell/armada-xp-synology-ds414" if ADK_TARGET_SYSTEM_SYNOLOGY_DS414 && ADK_TARGET_KERNEL_VENDORED_DTB
+ default "intel/ixp/intel-ixp42x-linksys-nslu2" if ADK_TARGET_SYSTEM_LINKSYS_NSLU2 && ADK_TARGET_KERNEL_VENDORED_DTB
diff --git a/target/config/Config.in.libc b/target/config/Config.in.libc
index 2cb1fccec..7f3157976 100644
--- a/target/config/Config.in.libc
+++ b/target/config/Config.in.libc
@@ -148,8 +148,8 @@ choice
prompt "Target C library version"
depends on !ADK_TARGET_CHOOSE_ARCH
-config ADK_TARGET_LIB_UCLIBC_NG_1_0_51
- bool "1.0.51"
+config ADK_TARGET_LIB_UCLIBC_NG_1_0_52
+ bool "1.0.52"
depends on ADK_TARGET_LIB_UCLIBC_NG
config ADK_TARGET_LIB_UCLIBC_NG_GIT
@@ -198,7 +198,7 @@ config ADK_TARGET_LIBC
config ADK_LIBC_VERSION
string
- default "1.0.51" if ADK_TARGET_LIB_UCLIBC_NG_1_0_51
+ default "1.0.52" if ADK_TARGET_LIB_UCLIBC_NG_1_0_52
default "1.2.5" if ADK_TARGET_LIB_MUSL_1_2_5
default "2.41" if ADK_TARGET_LIB_GLIBC_2_40
default "4.4.0" if ADK_TARGET_LIB_NEWLIB_4_4_0
diff --git a/target/config/Config.in.qemuopts b/target/config/Config.in.qemuopts
index 1e38fa7d7..8de8df429 100644
--- a/target/config/Config.in.qemuopts
+++ b/target/config/Config.in.qemuopts
@@ -28,8 +28,6 @@ config ADK_TARGET_QEMU_WITH_BLOCK
menu "Qemu system configuration"
depends on ADK_TARGET_QEMU && (ADK_TARGET_SYSTEM_QEMU_X86_64 \
- || ADK_TARGET_SYSTEM_QEMU_RISCV32 \
- || ADK_TARGET_SYSTEM_QEMU_RISCV64 \
|| ADK_TARGET_SYSTEM_QEMU_CSKY \
|| ADK_TARGET_SYSTEM_QEMU_X86 \
|| ADK_TARGET_SYSTEM_QEMU_ARC \
diff --git a/target/config/Config.in.rootfs b/target/config/Config.in.rootfs
index 5c658fd02..403a2739f 100644
--- a/target/config/Config.in.rootfs
+++ b/target/config/Config.in.rootfs
@@ -59,8 +59,8 @@ config ADK_TARGET_ROOTFS_INITRAMFS
config ADK_TARGET_ROOTFS_SQUASHFS
bool "Compressed read-only root filesystem (squashfs)"
- select ADK_KERNEL_SQUASHFS
- select ADK_HOST_NEED_SQUASHFS
+ select ADK_LINUX_KERNEL_SQUASHFS
+ select ADK_HOST_NEED_SQUASHFS_TOOLS
select ADK_HOST_NEED_QEMU if ADK_TARGET_QEMU
select ADK_TARGET_QEMU_WITH_BLOCK if ADK_TARGET_QEMU
depends on ADK_TARGET_WITH_MTD \
@@ -101,8 +101,7 @@ config ADK_TARGET_ROOTFS_NFSROOT
select ADK_LINUX_KERNEL_IP_PNP_DHCP if ADK_TARGET_OS_LINUX
depends on !ADK_TARGET_QEMU && \
!ADK_TARGET_SIM && \
- !ADK_TARGET_SYSTEM_ARANYM_M68K && \
- !ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ !ADK_TARGET_SYSTEM_ARANYM_M68K
depends on ADK_TARGET_WITH_NETDEVICE
help
Root filesystem mounted via NFS. (DHCP)
diff --git a/target/config/Config.in.runtime b/target/config/Config.in.runtime
index 438d4791e..e1a5600f6 100644
--- a/target/config/Config.in.runtime
+++ b/target/config/Config.in.runtime
@@ -22,10 +22,18 @@ config ADK_RUNTIME_INIT_SYSV
depends on ADK_PACKAGE_BUSYBOX && \
!ADK_TARGET_SYSTEM_SIPEED_MAIX_BIT
+config ADK_RUNTIME_INIT_TOYBOX
+ bool "Use toybox init"
+ select ADK_PACKAGE_TOYBOX
+
config ADK_RUNTIME_INIT_SIMPLEINIT
bool "Use a very simple init"
select ADK_PACKAGE_SIMPLEINIT
+config ADK_RUNTIME_INIT_MINIINIT
+ bool "Use a minimal init"
+ select ADK_PACKAGE_MINIINIT
+
endchoice
choice
@@ -421,6 +429,12 @@ config ADK_ROOTSH_HUSH
help
hush shell from busybox.
+config ADK_ROOTSH_TOYSH
+ bool "toysh (Shell compatible with non-MMU systems)"
+ select ADK_PACKAGE_TOYBOX if !ADK_APPLIANCE_TOOLCHAIN
+ help
+ ToyBox shell.
+
config ADK_ROOTSH_SASH
bool "sash (Shell compatible with non-MMU systems)"
select ADK_PACKAGE_SASH if !ADK_APPLIANCE_TOOLCHAIN
@@ -480,6 +494,12 @@ config ADK_BINSH_HUSH
help
hush shell.
+config ADK_BINSH_TOYSH
+ bool "toysh (toybox Shell)"
+ select ADK_PACKAGE_TOYBOX if !ADK_APPLIANCE_TOOLCHAIN
+ help
+ sash shell.
+
config ADK_BINSH_SASH
bool "sash (Standalone Shell)"
select ADK_PACKAGE_SASH if !ADK_APPLIANCE_TOOLCHAIN
diff --git a/target/config/Config.in.tools b/target/config/Config.in.tools
index d60b42a08..0a0a0ef81 100644
--- a/target/config/Config.in.tools
+++ b/target/config/Config.in.tools
@@ -133,6 +133,10 @@ config ADK_HOST_BUILD_STLINK
bool
default n
+config ADK_HOST_BUILD_UPSLUG2
+ bool
+ default n
+
config ADK_HOST_BUILD_TAR
bool
default n
@@ -280,13 +284,13 @@ config ADK_HOST_BUILD_OPKG
default y if ADK_HOST_NEED_OPKG
default n
-config ADK_HOST_NEED_SQUASHFS
+config ADK_HOST_NEED_SQUASHFS_TOOLS
bool
default n
-config ADK_HOST_BUILD_SQUASHFS
+config ADK_HOST_BUILD_SQUASHFS_TOOLS
bool
- default y if ADK_HOST_NEED_SQUASHFS
+ default y if ADK_HOST_NEED_SQUASHFS_TOOLS
default n
config ADK_HOST_NEED_SYSLINUX
diff --git a/target/cris/systems/foxboard-lx832 b/target/cris/systems/foxboard-lx832
index 82eaad093..4ef104a95 100644
--- a/target/cris/systems/foxboard-lx832
+++ b/target/cris/systems/foxboard-lx832
@@ -2,6 +2,7 @@ config ADK_TARGET_SYSTEM_FOXBOARD_LX832
bool "Foxboard LX832"
select ADK_TARGET_CPU_CRIS_CRISV10
select ADK_TARGET_WITH_MTD
+ select ADK_TARGET_WITH_NETDEVICE
select ADK_TARGET_KERNEL_ZIMAGE
select ADK_TARGET_KERNEL_WITH_COMPRESSION
help
diff --git a/target/frv/uclibc-ng.config b/target/frv/uclibc-ng-nommu.config
index 489ab8811..489ab8811 100644
--- a/target/frv/uclibc-ng.config
+++ b/target/frv/uclibc-ng-nommu.config
diff --git a/target/linux/Config.in.kernelversion b/target/linux/Config.in.kernelversion
index 2075aaa6b..83677fc69 100644
--- a/target/linux/Config.in.kernelversion
+++ b/target/linux/Config.in.kernelversion
@@ -144,7 +144,6 @@ config ADK_TARGET_LINUX_KERNEL_VERSION_4_9
depends on !ADK_TARGET_ARCH_ARC
depends on !ADK_TARGET_ARCH_CRIS
depends on !ADK_TARGET_ARCH_CSKY
- depends on !ADK_TARGET_ARCH_H8300
depends on !ADK_TARGET_ARCH_METAG
depends on !ADK_TARGET_ARCH_NDS32
depends on !ADK_TARGET_ARCH_OR1K
@@ -266,7 +265,6 @@ config ADK_TARGET_LINUX_KERNEL_GIT_VER
config ADK_TARGET_LINUX_KERNEL_GIT_TYPE
string
depends on ADK_TARGET_LINUX_KERNEL_VERSION_GIT
- default "branch" if ADK_TARGET_LINUX_ARCH_LM32
default "branch" if ADK_TARGET_SYSTEM_PHYTEC_WEGA
default "hash"
diff --git a/target/linux/config/Config.in.bus b/target/linux/config/Config.in.bus
index 45c79e1eb..54eddce4a 100644
--- a/target/linux/config/Config.in.bus
+++ b/target/linux/config/Config.in.bus
@@ -25,3 +25,9 @@ config ADK_LINUX_KERNEL_PCI_IMX6
default y if ADK_TARGET_SYSTEM_SOLIDRUN_IMX6 || \
ADK_TARGET_SYSTEM_PHYTEC_IMX6
default n
+
+config ADK_LINUX_KERNEL_PCI_IXP4XX
+ bool
+ depends on ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default n
diff --git a/target/linux/config/Config.in.flash b/target/linux/config/Config.in.flash
index effa41d58..38c5cf7b2 100644
--- a/target/linux/config/Config.in.flash
+++ b/target/linux/config/Config.in.flash
@@ -91,6 +91,22 @@ config ADK_LINUX_KERNEL_ETRAX_AXISFLASHMAP
depends on ADK_TARGET_SYSTEM_FOXBOARD_LX832
default y if ADK_TARGET_SYSTEM_FOXBOARD_LX832
+config ADK_LINUX_KERNEL_MTD_PHYSMAP_IXP4XX
+ bool "Linksys NSLU2 Flashmap driver"
+ select ADK_LINUX_KERNEL_BLOCK
+ select ADK_LINUX_KERNEL_MTD
+ select ADK_LINUX_KERNEL_MTD_PARTITIONS
+ select ADK_LINUX_KERNEL_MTD_CHAR
+ select ADK_LINUX_KERNEL_MTD_BLKDEVS
+ select ADK_LINUX_KERNEL_MTD_BLOCK
+ select ADK_LINUX_KERNEL_MTD_ROOTFS_ROOT_DEV
+ select ADK_LINUX_KERNEL_MTD_CFI
+ select ADK_LINUX_KERNEL_MTD_CFI_INTELEXT
+ select ADK_LINUX_KERNEL_MTD_PHYSMAP
+ select ADK_LINUX_KERNEL_MTD_PHYSMAP_OF
+ depends on ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+
config ADK_LINUX_KERNEL_MTD_M25P80
bool "MTD M25P80 driver"
select ADK_LINUX_KERNEL_BLOCK
@@ -164,6 +180,7 @@ config ADK_TARGET_MTD_SIZE
depends on ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_S3ADSP1800 \
|| ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605 \
|| ADK_TARGET_SYSTEM_QEMU_ARM_VEXPRESS_A9 \
+ || ADK_TARGET_SYSTEM_LINKSYS_NSLU2 \
|| ADK_TARGET_SYSTEM_MIKROTIK_RB532
default "16777216" if ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_S3ADSP1800
default "33554432" if ADK_TARGET_SYSTEM_QEMU_MICROBLAZE_ML605
diff --git a/target/linux/config/Config.in.fs b/target/linux/config/Config.in.fs
index 1bed25ee6..ee4a0204e 100644
--- a/target/linux/config/Config.in.fs
+++ b/target/linux/config/Config.in.fs
@@ -43,9 +43,6 @@ config ADK_LINUX_KERNEL_FAT_DEFAULT_IOCHARSET
string
default "iso8859-1"
-config ADK_LINUX_KERNEL_SQUASHFS_XZ
- bool
-
config ADK_LINUX_KERNEL_JFFS2_COMPRESSION_OPTIONS
bool
@@ -253,7 +250,6 @@ config ADK_LINUX_KERNEL_JFFS2_FS
config ADK_LINUX_KERNEL_SQUASHFS
tristate "SquashFS filesystem"
select ADK_LINUX_KERNEL_MISC_FILESYSTEMS
- select ADK_LINUX_KERNEL_SQUASHFS_XZ
help
Squashfs compressed read-only filesystem
diff --git a/target/linux/config/Config.in.usb b/target/linux/config/Config.in.usb
index 157c2f222..e6e3351f6 100644
--- a/target/linux/config/Config.in.usb
+++ b/target/linux/config/Config.in.usb
@@ -78,6 +78,7 @@ config ADK_LINUX_KERNEL_USB
select ADK_LINUX_KERNEL_NLS
select ADK_LINUX_KERNEL_USB_SUPPORT
select ADK_LINUX_KERNEL_USB_ANNOUNCE_NEW_DEVICES
+ select ADK_LINUX_KERNEL_USB_PCI if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
@@ -88,6 +89,7 @@ config ADK_LINUX_KERNEL_USB
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default n
help
Universal Serial Bus (USB) is a specification for a serial bus
@@ -159,6 +161,7 @@ config ADK_LINUX_KERNEL_USB_EHCI_HCD
default y if ADK_TARGET_SYSTEM_SOLIDRUN_CLEARFOG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
default y if ADK_TARGET_SYSTEM_RASPBERRY_PI5
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default n
help
The Enhanced Host Controller Interface (EHCI) is standard for USB 2.0
@@ -205,11 +208,13 @@ config ADK_LINUX_KERNEL_USB_OHCI_HCD
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_ALIX
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_PCENGINES_APU
select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ select ADK_LINUX_KERNEL_USB_OHCI_HCD_PCI if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default m if ADK_TARGET_SYSTEM_PCENGINES_APU
default m if ADK_TARGET_SYSTEM_PCENGINES_ALIX
default m if ADK_TARGET_SYSTEM_ACMESYSTEMS_FOXG20
default m if ADK_TARGET_SYSTEM_LEMOTE_YEELONG
default y if ADK_TARGET_SYSTEM_ROCKPI4_PLUS
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
default n
help
The Open Host Controller Interface (OHCI) is a standard for accessing
diff --git a/target/linux/config/Config.in.watchdog b/target/linux/config/Config.in.watchdog
index 59c60d94f..eaa07a65d 100644
--- a/target/linux/config/Config.in.watchdog
+++ b/target/linux/config/Config.in.watchdog
@@ -35,6 +35,15 @@ config ADK_LINUX_KERNEL_IMX2_WDT
help
Watchdog driver for IMX6 boards.
+config ADK_LINUX_KERNEL_IXP4XX_WATCHDOG
+ bool "Hardware Watchdog for Linksys NSLU2"
+ select ADK_LINUX_KERNEL_WATCHDOG
+ depends on ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default y if ADK_TARGET_SYSTEM_LINKSYS_NSLU2
+ default n
+ help
+ Watchdog driver for Linksys NSLU2.
+
config ADK_LINUX_KERNEL_SCx200_WDT
bool "Natsemi Hardware Watchdog"
depends on ADK_TARGET_SYSTEM_PCENGINES_WRAP
diff --git a/target/linux/patches/2.6.32.70/proc-xscale.patch b/target/linux/patches/2.6.32.70/proc-xscale.patch
new file mode 100644
index 000000000..a8546bba9
--- /dev/null
+++ b/target/linux/patches/2.6.32.70/proc-xscale.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-2.6.32.70.orig/arch/arm/mm/proc-xscale.S linux-2.6.32.70/arch/arm/mm/proc-xscale.S
+--- linux-2.6.32.70.orig/arch/arm/mm/proc-xscale.S 2016-01-29 22:13:00.000000000 +0100
++++ linux-2.6.32.70/arch/arm/mm/proc-xscale.S 2025-04-06 10:56:31.793163221 +0200
+@@ -605,7 +605,7 @@
+
+ .align
+
+- .section ".proc.info.init", #alloc, #execinstr
++ .section ".proc.info.init", "ax"
+
+ .type __80200_A0_A1_proc_info,#object
+ __80200_A0_A1_proc_info:
diff --git a/target/linux/patches/2.6.32.70/uaccess.patch b/target/linux/patches/2.6.32.70/uaccess.patch
new file mode 100644
index 000000000..428a06b69
--- /dev/null
+++ b/target/linux/patches/2.6.32.70/uaccess.patch
@@ -0,0 +1,14 @@
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745
+
+diff -Nur linux-2.6.32.70.orig/arch/arm/include/asm/uaccess.h linux-2.6.32.70/arch/arm/include/asm/uaccess.h
+--- linux-2.6.32.70.orig/arch/arm/include/asm/uaccess.h 2016-01-29 22:13:00.000000000 +0100
++++ linux-2.6.32.70/arch/arm/include/asm/uaccess.h 2025-04-06 10:41:37.342042671 +0200
+@@ -145,7 +145,7 @@
+
+ #define put_user(x,p) \
+ ({ \
+- register const typeof(*(p)) __r2 asm("r2") = (x); \
++ register typeof(*(p)) __r2 asm("r2") = (x); \
+ register const typeof(*(p)) __user *__p asm("r0") = (p);\
+ register int __e asm("r0"); \
+ switch (sizeof(*(__p))) { \
diff --git a/target/linux/patches/3.16.85/bsd-compatibility.patch b/target/linux/patches/3.16.85/bsd-compatibility.patch
deleted file mode 100644
index b954b658f..000000000
--- a/target/linux/patches/3.16.85/bsd-compatibility.patch
+++ /dev/null
@@ -1,2538 +0,0 @@
-diff -Nur linux-3.11.5.orig/scripts/Makefile.lib linux-3.11.5/scripts/Makefile.lib
---- linux-3.11.5.orig/scripts/Makefile.lib 2013-10-14 03:14:45.000000000 +0200
-+++ linux-3.11.5/scripts/Makefile.lib 2013-10-16 18:09:31.000000000 +0200
-@@ -281,7 +281,12 @@
- size_append = printf $(shell \
- dec_size=0; \
- for F in $1; do \
-- fsize=$$(stat -c "%s" $$F); \
-+ if stat -qs .>/dev/null 2>&1; then \
-+ statcmd='stat -f %z'; \
-+ else \
-+ statcmd='stat -c %s'; \
-+ fi; \
-+ fsize=$$($$statcmd $$F); \
- dec_size=$$(expr $$dec_size + $$fsize); \
- done; \
- printf "%08x\n" $$dec_size | \
-diff -Nur linux-3.11.5.orig/scripts/mod/mk_elfconfig.c linux-3.11.5/scripts/mod/mk_elfconfig.c
---- linux-3.11.5.orig/scripts/mod/mk_elfconfig.c 2013-10-14 03:14:45.000000000 +0200
-+++ linux-3.11.5/scripts/mod/mk_elfconfig.c 2013-10-16 18:09:31.000000000 +0200
-@@ -1,7 +1,18 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
--#include <elf.h>
-+
-+#define EI_NIDENT (16)
-+#define ELFMAG "\177ELF"
-+
-+#define SELFMAG 4
-+#define EI_CLASS 4
-+#define ELFCLASS32 1 /* 32-bit objects */
-+#define ELFCLASS64 2 /* 64-bit objects */
-+
-+#define EI_DATA 5 /* Data encoding byte index */
-+#define ELFDATA2LSB 1 /* 2's complement, little endian */
-+#define ELFDATA2MSB 2 /* 2's complement, big endian */
-
- int
- main(int argc, char **argv)
-diff -Nur linux-3.11.5.orig/scripts/mod/modpost.h linux-3.11.5/scripts/mod/modpost.h
---- linux-3.11.5.orig/scripts/mod/modpost.h 2013-10-14 03:14:45.000000000 +0200
-+++ linux-3.11.5/scripts/mod/modpost.h 2013-10-16 18:09:31.000000000 +0200
-@@ -7,7 +7,2453 @@
- #include <sys/mman.h>
- #include <fcntl.h>
- #include <unistd.h>
--#include <elf.h>
-+
-+
-+/* This file defines standard ELF types, structures, and macros.
-+ Copyright (C) 1995-1999,2000,2001,2002,2003 Free Software Foundation, Inc.
-+ This file is part of the GNU C Library.
-+
-+ The GNU C Library is free software; you can redistribute it and/or
-+ modify it under the terms of the GNU Lesser General Public
-+ License as published by the Free Software Foundation; either
-+ version 2.1 of the License, or (at your option) any later version.
-+
-+ The GNU C Library is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ Lesser General Public License for more details.
-+
-+ You should have received a copy of the GNU Lesser General Public
-+ License along with the GNU C Library; if not, write to the Free
-+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-+ 02111-1307 USA. */
-+
-+#ifndef _ELF_H
-+#define _ELF_H 1
-+
-+__BEGIN_DECLS
-+
-+/* Standard ELF types. */
-+
-+#include <stdint.h>
-+
-+/* Type for a 16-bit quantity. */
-+typedef uint16_t Elf32_Half;
-+typedef uint16_t Elf64_Half;
-+
-+/* Types for signed and unsigned 32-bit quantities. */
-+typedef uint32_t Elf32_Word;
-+typedef int32_t Elf32_Sword;
-+typedef uint32_t Elf64_Word;
-+typedef int32_t Elf64_Sword;
-+
-+/* Types for signed and unsigned 64-bit quantities. */
-+typedef uint64_t Elf32_Xword;
-+typedef int64_t Elf32_Sxword;
-+typedef uint64_t Elf64_Xword;
-+typedef int64_t Elf64_Sxword;
-+
-+/* Type of addresses. */
-+typedef uint32_t Elf32_Addr;
-+typedef uint64_t Elf64_Addr;
-+
-+/* Type of file offsets. */
-+typedef uint32_t Elf32_Off;
-+typedef uint64_t Elf64_Off;
-+
-+/* Type for section indices, which are 16-bit quantities. */
-+typedef uint16_t Elf32_Section;
-+typedef uint16_t Elf64_Section;
-+
-+/* Type for version symbol information. */
-+typedef Elf32_Half Elf32_Versym;
-+typedef Elf64_Half Elf64_Versym;
-+
-+
-+/* The ELF file header. This appears at the start of every ELF file. */
-+
-+#define EI_NIDENT (16)
-+
-+typedef struct
-+{
-+ unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */
-+ Elf32_Half e_type; /* Object file type */
-+ Elf32_Half e_machine; /* Architecture */
-+ Elf32_Word e_version; /* Object file version */
-+ Elf32_Addr e_entry; /* Entry point virtual address */
-+ Elf32_Off e_phoff; /* Program header table file offset */
-+ Elf32_Off e_shoff; /* Section header table file offset */
-+ Elf32_Word e_flags; /* Processor-specific flags */
-+ Elf32_Half e_ehsize; /* ELF header size in bytes */
-+ Elf32_Half e_phentsize; /* Program header table entry size */
-+ Elf32_Half e_phnum; /* Program header table entry count */
-+ Elf32_Half e_shentsize; /* Section header table entry size */
-+ Elf32_Half e_shnum; /* Section header table entry count */
-+ Elf32_Half e_shstrndx; /* Section header string table index */
-+} Elf32_Ehdr;
-+
-+typedef struct
-+{
-+ unsigned char e_ident[EI_NIDENT]; /* Magic number and other info */
-+ Elf64_Half e_type; /* Object file type */
-+ Elf64_Half e_machine; /* Architecture */
-+ Elf64_Word e_version; /* Object file version */
-+ Elf64_Addr e_entry; /* Entry point virtual address */
-+ Elf64_Off e_phoff; /* Program header table file offset */
-+ Elf64_Off e_shoff; /* Section header table file offset */
-+ Elf64_Word e_flags; /* Processor-specific flags */
-+ Elf64_Half e_ehsize; /* ELF header size in bytes */
-+ Elf64_Half e_phentsize; /* Program header table entry size */
-+ Elf64_Half e_phnum; /* Program header table entry count */
-+ Elf64_Half e_shentsize; /* Section header table entry size */
-+ Elf64_Half e_shnum; /* Section header table entry count */
-+ Elf64_Half e_shstrndx; /* Section header string table index */
-+} Elf64_Ehdr;
-+
-+/* Fields in the e_ident array. The EI_* macros are indices into the
-+ array. The macros under each EI_* macro are the values the byte
-+ may have. */
-+
-+#define EI_MAG0 0 /* File identification byte 0 index */
-+#define ELFMAG0 0x7f /* Magic number byte 0 */
-+
-+#define EI_MAG1 1 /* File identification byte 1 index */
-+#define ELFMAG1 'E' /* Magic number byte 1 */
-+
-+#define EI_MAG2 2 /* File identification byte 2 index */
-+#define ELFMAG2 'L' /* Magic number byte 2 */
-+
-+#define EI_MAG3 3 /* File identification byte 3 index */
-+#define ELFMAG3 'F' /* Magic number byte 3 */
-+
-+/* Conglomeration of the identification bytes, for easy testing as a word. */
-+#define ELFMAG "\177ELF"
-+#define SELFMAG 4
-+
-+#define EI_CLASS 4 /* File class byte index */
-+#define ELFCLASSNONE 0 /* Invalid class */
-+#define ELFCLASS32 1 /* 32-bit objects */
-+#define ELFCLASS64 2 /* 64-bit objects */
-+#define ELFCLASSNUM 3
-+
-+#define EI_DATA 5 /* Data encoding byte index */
-+#define ELFDATANONE 0 /* Invalid data encoding */
-+#define ELFDATA2LSB 1 /* 2's complement, little endian */
-+#define ELFDATA2MSB 2 /* 2's complement, big endian */
-+#define ELFDATANUM 3
-+
-+#define EI_VERSION 6 /* File version byte index */
-+ /* Value must be EV_CURRENT */
-+
-+#define EI_OSABI 7 /* OS ABI identification */
-+#define ELFOSABI_NONE 0 /* UNIX System V ABI */
-+#define ELFOSABI_SYSV 0 /* Alias. */
-+#define ELFOSABI_HPUX 1 /* HP-UX */
-+#define ELFOSABI_NETBSD 2 /* NetBSD. */
-+#define ELFOSABI_LINUX 3 /* Linux. */
-+#define ELFOSABI_SOLARIS 6 /* Sun Solaris. */
-+#define ELFOSABI_AIX 7 /* IBM AIX. */
-+#define ELFOSABI_IRIX 8 /* SGI Irix. */
-+#define ELFOSABI_FREEBSD 9 /* FreeBSD. */
-+#define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */
-+#define ELFOSABI_MODESTO 11 /* Novell Modesto. */
-+#define ELFOSABI_OPENBSD 12 /* OpenBSD. */
-+#define ELFOSABI_ARM 97 /* ARM */
-+#define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
-+
-+#define EI_ABIVERSION 8 /* ABI version */
-+
-+#define EI_PAD 9 /* Byte index of padding bytes */
-+
-+/* Legal values for e_type (object file type). */
-+
-+#define ET_NONE 0 /* No file type */
-+#define ET_REL 1 /* Relocatable file */
-+#define ET_EXEC 2 /* Executable file */
-+#define ET_DYN 3 /* Shared object file */
-+#define ET_CORE 4 /* Core file */
-+#define ET_NUM 5 /* Number of defined types */
-+#define ET_LOOS 0xfe00 /* OS-specific range start */
-+#define ET_HIOS 0xfeff /* OS-specific range end */
-+#define ET_LOPROC 0xff00 /* Processor-specific range start */
-+#define ET_HIPROC 0xffff /* Processor-specific range end */
-+
-+/* Legal values for e_machine (architecture). */
-+
-+#define EM_NONE 0 /* No machine