diff --git a/VERSION b/VERSION index e771dd0f..775a090a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.2-alpha3 +0.3-alpha1 diff --git a/files/board/arpl/make-img.sh b/files/board/arpl/make-img.sh index 3be2fc0f..d50fa664 100755 --- a/files/board/arpl/make-img.sh +++ b/files/board/arpl/make-img.sh @@ -19,7 +19,7 @@ dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=300 conv=sync 2>/dev/null # Copy grub stage1 to image dd if="${BOARD_PATH}/grub.bin" of="${IMAGE_FILE}" conv=notrunc,sync 2>/dev/null # Create partitions on image -echo -e "n\np\n\n\n+100M\nt\n\n0b\nn\np\n\n\n+100M\nn\np\n\n\n\nw" | fdisk "${IMAGE_FILE}" >/dev/null +echo -e "n\np\n\n\n+150M\nt\n\n0b\nn\np\n\n\n+50M\nn\np\n\n\n\nw" | fdisk "${IMAGE_FILE}" >/dev/null # Force umount, ignore errors sudo umount "${BINARIES_DIR}/p1" 2>/dev/null || true diff --git a/files/board/arpl/overlayfs/opt/arpl/include/consts.sh b/files/board/arpl/overlayfs/opt/arpl/include/consts.sh index 7e3410a1..4aaeafdd 100644 --- a/files/board/arpl/overlayfs/opt/arpl/include/consts.sh +++ b/files/board/arpl/overlayfs/opt/arpl/include/consts.sh @@ -1,8 +1,9 @@ -ARPL_VERSION="0.2-alpha3" +ARPL_VERSION="0.3-alpha1" # Define paths TMP_PATH="/tmp" +UNTAR_PAT_PATH="${TMP_PATH}/pat" RAMDISK_PATH="${TMP_PATH}/ramdisk" LOG_FILE="${TMP_PATH}/log.txt" diff --git a/files/board/arpl/overlayfs/opt/arpl/menu.sh b/files/board/arpl/overlayfs/opt/arpl/menu.sh index 60170908..7066235d 100755 --- a/files/board/arpl/overlayfs/opt/arpl/menu.sh +++ b/files/board/arpl/overlayfs/opt/arpl/menu.sh @@ -14,17 +14,6 @@ fi # Get actual IP IP=`ip route get 1.1.1.1 2>/dev/null | awk '{print$7}'` -# Define classes for hw detection -declare -A CLASSES -CLASSES["0100"]="SCSI" -CLASSES["0106"]="SATA" -CLASSES["0101"]="IDE" -CLASSES["0107"]="SAS" -CLASSES["0200"]="Ethernet" -CLASSES["0300"]="VGA" -CLASSES["0c03"]="USB Controller" -CLASSES["0c04"]="Fiber Channel" - # Dirty flag DIRTY=0 @@ -100,8 +89,7 @@ function modelMenu() { SN="" writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" # Delete old files - rm -f "${MOD_ZIMAGE_FILE}" - rm -f "${MOD_RDGZ_FILE}" + rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" DIRTY=1 # Remove addons writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}" @@ -122,8 +110,7 @@ function buildMenu() { writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}" DIRTY=1 # Remove old files - rm -f "${MOD_ZIMAGE_FILE}" - rm -f "${MOD_RDGZ_FILE}" + rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" fi } @@ -164,63 +151,6 @@ function serialMenu() { writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" } -############################################################################### -# Detect hardware -function detectHw() { - PLATFORM="`readModelKey "${MODEL}" "platform"`" - KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" - # Get modules not needed - unset NOTNEEDED - declare -A NOTNEEDED - while read M; do - NOTNEEDED[${M}]="1" - done < <(readModelArray "${MODEL}" "builds.${BUILD}.modules-notneeded") - unset DEVC DEVN - declare -A DEVC - declare -A DEVN - while read L; do - F=` sed -E 's/^([0-9a-z]{2}:[0-9a-z]{2}.[0-9a-z]{1})[^\[]*\[([0-9a-z]{4})\]: (.*)/\1|\2|\3/' <<<"${L}"` - PCI="`cut -d'|' -f1 <<<"${F}"`" - CLASS="`cut -d'|' -f2 <<<"${F}"`" - NAME="`cut -d'|' -f3 <<<"${F}"`" - MODULE="`lspci -ks "${PCI}" | awk '/Kernel driver in use/{print$5}'`" - [ -z "${MODULE}" ] && continue - # If is a virtio module, change id - if grep -q "virtio" <<<"$MODULE"; then - MODULE="virtio" - fi - CLASS=${CLASSES[${CLASS}]} # Get class name of module - [ -z "${CLASS}" ] && continue # If no class, skip - arrayExistItem "${MODULE}" "${!ADDONS[@]}" && continue # Check if module already added - [ -n "${NOTNEEDED[${MODULE}]}" ] && continue # Check if module is not necessary - # Add module to list - DEVC[${MODULE}]="${CLASS}" - DEVN[${MODULE}]="${NAME}" - done < <(lspci -nn) - if [ ${#DEVC[@]} -eq 0 ]; then - dialog --backtitle "`backtitle`" --aspect 18 \ - --msgbox "No device detected or already added!" 0 0 - return - fi - for MODULE in ${!DEVC[@]}; do - CLASS="${DEVC[${MODULE}]}" - NAME="${DEVN[${MODULE}]}" - TEXT="Found a ${NAME}\nClass ${CLASS}\nModule ${MODULE}\nAccept?" - checkAddonExist "${MODULE}" "${PLATFORM}" "${KVER}" || TEXT+="\n\n\Z1PS: Addon for this module not found\Zn" - dialog --backtitle "`backtitle`" --title "Found Hardware" \ - --colors --yesno "${TEXT}" 12 70 - [ $? -ne 0 ] && continue - dialog --backtitle "`backtitle`" --title "params" \ - --inputbox "Type a opcional params to module" 0 0 \ - 2>${TMP_PATH}/resp - [ $? -ne 0 ] && continue - VALUE="`<${TMP_PATH}/resp`" - ADDONS["${MODULE}"]="${VALUE}" - writeConfigKey "addons.${MODULE}" "${VALUE}" "${USER_CONFIG_FILE}" - DIRTY=1 - done -} - ############################################################################### # Manage addons/drivers function addonMenu() { @@ -233,25 +163,19 @@ function addonMenu() { while IFS="=" read KEY VALUE; do [ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}" done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") - NEXT="h" + NEXT="a" # Loop menu while true; do dialog --backtitle "`backtitle`" --default-item ${NEXT} \ --menu "Choose a option" 0 0 0 \ - h "Detect hardware" \ a "Add an addon" \ d "Delete addon(s)" \ s "Show user addons" \ m "Show all available addons" \ - o "Download an addon" \ e "Exit" \ 2>${TMP_PATH}/resp [ $? -ne 0 ] && return case "`<${TMP_PATH}/resp`" in - h) - detectHw - NEXT='e' - ;; a) NEXT='a' rm "${TMP_PATH}/menu" while read ADDON DESC; do @@ -317,32 +241,6 @@ function addonMenu() { dialog --backtitle "`backtitle`" --title "Available addons" \ --colors --msgbox "${MSG}" 0 0 ;; - o) - TEXT="please enter the complete URL to download.\n" - TEXT+="\Zb(Official addons location: https://github.com/fbelavenuto/arpl-addons/releases)\Zn\n" - TEXT+="Ex: https://github.com/fbelavenuto/arpl-addons/releases/download/v0.2/9p.addon" - dialog --backtitle "`backtitle`" --aspect 18 --colors --inputbox "${TEXT}" 0 0 \ - 2>${TMP_PATH}/resp - [ $? -ne 0 ] && continue - URL="`<"${TMP_PATH}/resp"`" - [ -z "${URL}" ] && continue - clear - echo "Downloading ${URL}" - curl --insecure -L "${URL}" -o "${TMP_PATH}/addon.tgz" --progress-bar - if [ $? -ne 0 ]; then - dialog --backtitle "`backtitle`" --title "Error downloading" --aspect 18 \ - --msgbox "Check internet or cache disk space" 0 0 - return 1 - fi - ADDON="`untarAddon "${TMP_PATH}/addon.tgz"`" - if [ -n "${ADDON}" ]; then - dialog --backtitle "`backtitle`" --title "Success" --aspect 18 \ - --msgbox "Addon '${ADDON}' added to loader" 0 0 - else - dialog --backtitle "`backtitle`" --title "Invalid addon" --aspect 18 \ - --msgbox "File format not recognized!" 0 0 - fi - ;; e) return ;; esac done @@ -530,26 +428,13 @@ function synoinfoMenu() { } ############################################################################### -# Where the magic happens :D -function make() { - clear - PLATFORM="`readModelKey "${MODEL}" "platform"`" - KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" +# Extract linux and ramdisk files from the DSM .pat +function extractDsmFiles() { PAT_URL="`readModelKey "${MODEL}" "builds.${BUILD}.pat.url"`" PAT_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.hash"`" RAMDISK_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.ramdisk-hash"`" ZIMAGE_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.zimage-hash"`" - # Check if all addon exists - while IFS="=" read ADDON PARAM; do - [ -z "${ADDON}" ] && continue - if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then - dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \ - --msgbox "Addon ${ADDON} not found!" 0 0 - return 1 - fi - done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") - if [ ${RAMCACHE} -eq 0 ]; then OUT_PATH="${CACHE_PATH}/dl" echo "Cache in disk" @@ -559,7 +444,6 @@ function make() { fi mkdir -p "${OUT_PATH}" - UNTAR_PAT_PATH="${TMP_PATH}/pat" PAT_FILE="${MODEL}-${BUILD}.pat" PAT_PATH="${OUT_PATH}/${PAT_FILE}" EXTRACTOR_PATH="${CACHE_PATH}/extractor" @@ -690,6 +574,24 @@ function make() { cp "${UNTAR_PAT_PATH}/zImage" "${ORI_ZIMAGE_FILE}" cp "${UNTAR_PAT_PATH}/rd.gz" "${ORI_RDGZ_FILE}" echo "OK" +} + +function make() { + clear + PLATFORM="`readModelKey "${MODEL}" "platform"`" + KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" + + # Check if all addon exists + while IFS="=" read ADDON PARAM; do + [ -z "${ADDON}" ] && continue + if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then + dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \ + --msgbox "Addon ${ADDON} not found!" 0 0 + return 1 + fi + done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") + + [ ! -f "${ORI_ZIMAGE_FILE}" -o ! -f "${ORI_RDGZ_FILE}" ] && extractDsmFiles /opt/arpl/zimage-patch.sh if [ $? -ne 0 ]; then diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS1621+.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS1621+.yml index 9faf1b6a..5df2c586 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS1621+.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS1621+.yml @@ -1,18 +1,4 @@ id: "DS1621+" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - amd_xgbe - - marvell10g - - i40e - - r8168 - - r8169 - - ixgbe - - etxhci_hcd - - xhci_hcd - - ehci-pci - - uhci_hcd - - mv14xx synoinfo: &synoinfo support_disk_compatibility: "no" support_memory_compatibility: "no" @@ -50,7 +36,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: @@ -70,7 +55,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS2422+.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS2422+.yml index 30f9cb1f..5aeae3eb 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS2422+.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS2422+.yml @@ -1,17 +1,4 @@ id: "DS2422+" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - amd_xgbe - - marvell10g - - i40e - - r8168 - - ixgbe - - etxhci_hcd - - xhci_hcd - - ehci-pci - - uhci_hcd - - mv14xx synoinfo: &synoinfo support_disk_compatibility: "no" support_memory_compatibility: "no" @@ -47,7 +34,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3615xs.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3615xs.yml index b1faa8ca..ee4dec71 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3615xs.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3615xs.yml @@ -1,16 +1,4 @@ id: "DS3615xs" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - i40e - - ixgbe - - igb - - e1000e - - dca - - etxhci_hcd - - xhci_hcd - - ehci-pci - - uhci_hcd synoinfo: &synoinfo esataportcfg: "0x0" usbportcfg: "0x8700" @@ -42,7 +30,6 @@ builds: kver: "3.10.108" rd-compressed: false efi-bug: yes - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: @@ -63,7 +50,6 @@ builds: kver: "3.10.108" rd-compressed: false efi-bug: yes - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3617xs.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3617xs.yml index e9f5a7db..f74beddb 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3617xs.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3617xs.yml @@ -1,16 +1,4 @@ id: "DS3617xs" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - i40e - - ixgbe - - igb - - e1000e - - dca - - xhci_pci - - xhci_hcd - - uhci_hcd - - mv14xx synoinfo: &synoinfo esataportcfg: "0x00" usbportcfg: "0x8700" @@ -46,7 +34,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: @@ -67,7 +54,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3622xs+.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3622xs+.yml index e8032294..4b643671 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3622xs+.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS3622xs+.yml @@ -1,19 +1,4 @@ id: "DS3622xs+" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - i40e - - r8168 - - r8169 - - ixgbe - - igb - - e1000e - - dca - - etxhci_hcd - - xhci_hcd - - ehci-pci - - uhci_hcd - - mv14xx synoinfo: &synoinfo esataportcfg: "0x00" support_bde_internal_10g: "no" @@ -53,7 +38,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: @@ -74,7 +58,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS918+.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS918+.yml index 1fd64882..37498933 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS918+.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS918+.yml @@ -1,14 +1,4 @@ id: "DS918+" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - r8168 - - r8169 - - igb - - e1000e - - etxhci_hcd - - xhci_hcd - - uhci_hcd synoinfo: &synoinfo esataportcfg: "0x00" support_led_brightness_adjustment: "" @@ -48,7 +38,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: @@ -69,7 +58,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml index 3d81c428..3138ede3 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DS920+.yml @@ -1,12 +1,4 @@ id: "DS920+" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - r8168 - - r8169 - - etxhci_hcd - - xhci_hcd - - uhci_hcd synoinfo: &synoinfo rss_server: "http://example.com/null.xml" rss_server_ssl: "https://example.com/null.xml" @@ -42,7 +34,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: @@ -62,7 +53,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml index d15236fa..aa7bf530 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA1622.yml @@ -1,19 +1,4 @@ id: "DVA1622" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - r8168 - - r8169 - - etxhci_hcd - - xhci_hcd - - uhci_hcd - - i915 - - drm - - fb - - fbdev - - video - - backlight - - button synoinfo: &synoinfo buzzeroffen: "0xffff" rss_server: "http://example.com/null.xml" @@ -51,7 +36,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA3221.yml b/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA3221.yml index dac67696..6d15c0df 100644 --- a/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA3221.yml +++ b/files/board/arpl/overlayfs/opt/arpl/model-configs/DVA3221.yml @@ -1,15 +1,4 @@ id: "DVA3221" -modules-notneeded: &modules-notneeded - - ahci - - ata_piix - - i40e - - ixgbe - - igb - - e1000e - - etxhci_hcd - - xhci_hcd - - ehci-pci - - uhci_hcd synoinfo: &synoinfo esataportcfg: "0x00" support_bde_internal_10g: "no" @@ -48,7 +37,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: @@ -69,7 +57,6 @@ builds: kver: "4.4.180" rd-compressed: false efi-bug: no - modules-notneeded: *modules-notneeded cmdline: <<: *cmdline synoinfo: diff --git a/files/board/arpl/overlayfs/opt/arpl/patch/iosched-trampoline.sh b/files/board/arpl/overlayfs/opt/arpl/patch/iosched-trampoline.sh new file mode 100755 index 00000000..03136971 --- /dev/null +++ b/files/board/arpl/overlayfs/opt/arpl/patch/iosched-trampoline.sh @@ -0,0 +1,17 @@ +#!/usr/bin/sh +# This script is saved to /sbin/modprobe which is a so called UMH (user-mode-helper) for kmod (kernel/kmod.c) +# The kmod subsystem in the kernel is used to load modules from kernel. We exploit it a bit to load RP as soon as +# possible (which turns out to be via init/main.c => load_default_modules => load_default_elevator_module +# When the kernel is booted with "elevator=elevator" it will attempt to load a module "elevator-iosched"... and the rest +# should be obvious from the code below. DO NOT print anything here (kernel doesn't attach STDOUT) +for arg in "$@" +do + if [ "$arg" = "elevator-iosched" ]; then + insmod /usr/lib/modules/rp.ko + rm /usr/lib/modules/rp.ko + rm /usr/sbin/modprobe + ln -s /usr/bin/kmod /usr/sbin/modprobe + exit 0 + fi +done +exit 1 diff --git a/files/board/arpl/overlayfs/opt/arpl/patch/ramdisk-common-init-script.patch b/files/board/arpl/overlayfs/opt/arpl/patch/ramdisk-common-init-script.patch index 093398e9..f550b024 100644 --- a/files/board/arpl/overlayfs/opt/arpl/patch/ramdisk-common-init-script.patch +++ b/files/board/arpl/overlayfs/opt/arpl/patch/ramdisk-common-init-script.patch @@ -1,6 +1,14 @@ ---- a/linuxrc.syno.impl -+++ b/linuxrc.syno.impl -@@ -155,6 +155,8 @@ fi +--- a/linuxrc.syno.impl 2022-07-13 19:11:36.166689682 -0300 ++++ b/linuxrc.syno.impl 2022-07-14 10:50:50.616836807 -0300 +@@ -59,6 +59,7 @@ + fi + + UmountRoot ++ /addons/addons.sh jrExit + + exit $1 + } +@@ -155,6 +156,8 @@ # insert basic USB modules for detect f401/FDT echo "Insert basic USB modules..." SYNOLoadModules $USB_MODULES @@ -9,3 +17,12 @@ # insert Etron USB3.0 drivers +@@ -208,7 +211,7 @@ + rmmod i2c_core + fi + fi +- ++/addons/addons.sh patches + if [ "$SupportDualhead" = "yes" ]; then + # Run HA script + /etc.defaults/AHAtasks check_stage diff --git a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh index 535860a4..d741fd08 100755 --- a/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh +++ b/files/board/arpl/overlayfs/opt/arpl/ramdisk-patch.sh @@ -81,11 +81,7 @@ done sed -e "/@@@CONFIG-GENERATED@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post" rm "${TMP_PATH}/rp.txt" -# Copying modified kmod echo -n "." -cp /opt/arpl/kmod "${RAMDISK_PATH}/usr/sbin" -ln -sf kmod "${RAMDISK_PATH}/usr/sbin/modprobe" - # Extract modules to ramdisk rm -rf "${TMP_PATH}/modules" mkdir -p "${TMP_PATH}/modules" @@ -98,12 +94,15 @@ done # Clean rm -rf "${TMP_PATH}/modules" -echo -n "." -# Copying LKM to /usr/lib/modules -cp "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko" "${RAMDISK_PATH}/usr/lib/modules/elevator-iosched.ko" # Build modules dependencies /opt/arpl/depmod -a -b ${RAMDISK_PATH} 2>/dev/null +echo -n "." +# Copying fake modprobe +cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe" +# Copying LKM to /usr/lib/modules +cp "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko" "${RAMDISK_PATH}/usr/lib/modules/rp.ko" + # Addons # Check if model needs Device-tree dynamic patch DT="`readModelKey "${MODEL}" "dt"`" @@ -111,10 +110,10 @@ DT="`readModelKey "${MODEL}" "dt"`" [ "${DT}" = "true" ] && ADDONS['dtbpatch']="" || ADDONS['maxdisks']="" ADDONS['misc']="" # Add system addon "misc" ADDONS['acpid']="" # Add system addon "acpid" +ADDONS['eudev']="" -mkdir -p "${RAMDISK_PATH}/addons" echo -n "." -#/proc/sys/kernel/syno_install_flag +mkdir -p "${RAMDISK_PATH}/addons" echo "#!/bin/sh" > "${RAMDISK_PATH}/addons/addons.sh" echo 'export INSMOD="/sbin/insmod"' >> "${RAMDISK_PATH}/addons/addons.sh" echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh" diff --git a/files/board/arpl/p3/addons/acpid/all.tgz b/files/board/arpl/p3/addons/acpid/all.tgz new file mode 100644 index 00000000..caa5a47f Binary files /dev/null and b/files/board/arpl/p3/addons/acpid/all.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz index 1f3e53fb..854f32e0 100644 Binary files a/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/apollolake-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz index 6426459a..854f32e0 100644 Binary files a/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/broadwell-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz index aeb79fdf..854f32e0 100644 Binary files a/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/broadwellnk-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz b/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz index 32a733fc..854f32e0 100644 Binary files a/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz and b/files/board/arpl/p3/addons/acpid/bromolow-3.10.108.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz index f533652f..854f32e0 100644 Binary files a/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/denverton-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz index 371d734e..854f32e0 100644 Binary files a/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/geminilake-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/acpid/manifest.yml b/files/board/arpl/p3/addons/acpid/manifest.yml index 0a18e3d6..8dc0e2d1 100644 --- a/files/board/arpl/p3/addons/acpid/manifest.yml +++ b/files/board/arpl/p3/addons/acpid/manifest.yml @@ -1,33 +1,14 @@ version: 1 name: acpid -system: true description: "Flexible and extensible daemon for delivering ACPI events" +all: + install-script: "install.sh" + copy: "all" available-for: bromolow-3.10.108: - install-script: "install.sh" - copy: "all" - modules: true apollolake-4.4.180: - install-script: "install.sh" - copy: "all" - modules: true broadwell-4.4.180: - install-script: "install.sh" - copy: "all" - modules: true broadwellnk-4.4.180: - install-script: "install.sh" - copy: "all" - modules: true denverton-4.4.180: - install-script: "install.sh" - copy: "all" - modules: true geminilake-4.4.180: - install-script: "install.sh" - copy: "all" - modules: true v1000-4.4.180: - install-script: "install.sh" - copy: "all" - modules: true diff --git a/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz b/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz index 68c70a8f..854f32e0 100644 Binary files a/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz and b/files/board/arpl/p3/addons/acpid/v1000-4.4.180.tgz differ diff --git a/files/board/arpl/p3/addons/dtbpatch/all.tgz b/files/board/arpl/p3/addons/dtbpatch/all.tgz index 850992be..8e8ee273 100644 Binary files a/files/board/arpl/p3/addons/dtbpatch/all.tgz and b/files/board/arpl/p3/addons/dtbpatch/all.tgz differ diff --git a/files/board/arpl/p3/addons/dtbpatch/manifest.yml b/files/board/arpl/p3/addons/dtbpatch/manifest.yml index 6c52d606..03316ed4 100644 --- a/files/board/arpl/p3/addons/dtbpatch/manifest.yml +++ b/files/board/arpl/p3/addons/dtbpatch/manifest.yml @@ -6,3 +6,11 @@ compile-script: compile.sh all: install-script: "install.sh" copy: "all" +available-for: + bromolow-3.10.108: + apollolake-4.4.180: + broadwell-4.4.180: + broadwellnk-4.4.180: + denverton-4.4.180: + geminilake-4.4.180: + v1000-4.4.180: diff --git a/files/board/arpl/p3/addons/eudev/all.tgz b/files/board/arpl/p3/addons/eudev/all.tgz new file mode 100644 index 00000000..d8c7dbfd Binary files /dev/null and b/files/board/arpl/p3/addons/eudev/all.tgz differ diff --git a/files/board/arpl/p3/addons/eudev/manifest.yml b/files/board/arpl/p3/addons/eudev/manifest.yml new file mode 100644 index 00000000..99e12e8e --- /dev/null +++ b/files/board/arpl/p3/addons/eudev/manifest.yml @@ -0,0 +1,16 @@ +version: 1 +name: eudev +system: true +description: "eudev project + kmod modified" +compile-script: compile.sh +all: + install-script: "install.sh" + copy: "all" +available-for: + bromolow-3.10.108: + apollolake-4.4.180: + broadwell-4.4.180: + broadwellnk-4.4.180: + denverton-4.4.180: + geminilake-4.4.180: + v1000-4.4.180: diff --git a/files/board/arpl/p3/addons/maxdisks/all.tgz b/files/board/arpl/p3/addons/maxdisks/all.tgz index 7bb9c5c5..5146a718 100644 Binary files a/files/board/arpl/p3/addons/maxdisks/all.tgz and b/files/board/arpl/p3/addons/maxdisks/all.tgz differ diff --git a/files/board/arpl/p3/addons/maxdisks/manifest.yml b/files/board/arpl/p3/addons/maxdisks/manifest.yml index 87d24ba4..61236926 100644 --- a/files/board/arpl/p3/addons/maxdisks/manifest.yml +++ b/files/board/arpl/p3/addons/maxdisks/manifest.yml @@ -5,3 +5,11 @@ description: "Adjust maxdisks and internalportcfg automatically" all: install-script: "install.sh" copy: "all" +available-for: + bromolow-3.10.108: + apollolake-4.4.180: + broadwell-4.4.180: + broadwellnk-4.4.180: + denverton-4.4.180: + geminilake-4.4.180: + v1000-4.4.180: diff --git a/files/board/arpl/p3/addons/misc/all.tgz b/files/board/arpl/p3/addons/misc/all.tgz index fc40b9a1..9d996a6f 100644 Binary files a/files/board/arpl/p3/addons/misc/all.tgz and b/files/board/arpl/p3/addons/misc/all.tgz differ diff --git a/files/board/arpl/p3/addons/misc/manifest.yml b/files/board/arpl/p3/addons/misc/manifest.yml index 6cc0fabf..4f037e4b 100644 --- a/files/board/arpl/p3/addons/misc/manifest.yml +++ b/files/board/arpl/p3/addons/misc/manifest.yml @@ -1,6 +1,13 @@ version: 1 name: misc -system: true description: "Fix missing HW features dependencies" all: install-script: "install.sh" +available-for: + bromolow-3.10.108: + apollolake-4.4.180: + broadwell-4.4.180: + broadwellnk-4.4.180: + denverton-4.4.180: + geminilake-4.4.180: + v1000-4.4.180: diff --git a/files/board/arpl/p3/lkms/rp-apollolake-4.4.180-dev.ko b/files/board/arpl/p3/lkms/rp-apollolake-4.4.180-dev.ko index f8118026..65d1fb37 100644 Binary files a/files/board/arpl/p3/lkms/rp-apollolake-4.4.180-dev.ko and b/files/board/arpl/p3/lkms/rp-apollolake-4.4.180-dev.ko differ diff --git a/files/board/arpl/p3/lkms/rp-broadwell-4.4.180-dev.ko b/files/board/arpl/p3/lkms/rp-broadwell-4.4.180-dev.ko index ae5d338b..701e4f2a 100644 Binary files a/files/board/arpl/p3/lkms/rp-broadwell-4.4.180-dev.ko and b/files/board/arpl/p3/lkms/rp-broadwell-4.4.180-dev.ko differ diff --git a/files/board/arpl/p3/lkms/rp-broadwellnk-4.4.180-dev.ko b/files/board/arpl/p3/lkms/rp-broadwellnk-4.4.180-dev.ko index 44fff4d4..ba4f4a2e 100644 Binary files a/files/board/arpl/p3/lkms/rp-broadwellnk-4.4.180-dev.ko and b/files/board/arpl/p3/lkms/rp-broadwellnk-4.4.180-dev.ko differ diff --git a/files/board/arpl/p3/lkms/rp-bromolow-3.10.108-dev.ko b/files/board/arpl/p3/lkms/rp-bromolow-3.10.108-dev.ko index fc9aabfc..be1b48a1 100644 Binary files a/files/board/arpl/p3/lkms/rp-bromolow-3.10.108-dev.ko and b/files/board/arpl/p3/lkms/rp-bromolow-3.10.108-dev.ko differ diff --git a/files/board/arpl/p3/lkms/rp-denverton-4.4.180-dev.ko b/files/board/arpl/p3/lkms/rp-denverton-4.4.180-dev.ko index eabb564d..75ef6dc9 100644 Binary files a/files/board/arpl/p3/lkms/rp-denverton-4.4.180-dev.ko and b/files/board/arpl/p3/lkms/rp-denverton-4.4.180-dev.ko differ diff --git a/files/board/arpl/p3/lkms/rp-geminilake-4.4.180-dev.ko b/files/board/arpl/p3/lkms/rp-geminilake-4.4.180-dev.ko index c0dd2801..cb07fcbc 100644 Binary files a/files/board/arpl/p3/lkms/rp-geminilake-4.4.180-dev.ko and b/files/board/arpl/p3/lkms/rp-geminilake-4.4.180-dev.ko differ diff --git a/files/board/arpl/p3/lkms/rp-purley-4.4.180-dev.ko b/files/board/arpl/p3/lkms/rp-purley-4.4.180-dev.ko deleted file mode 100644 index b059a5a3..00000000 Binary files a/files/board/arpl/p3/lkms/rp-purley-4.4.180-dev.ko and /dev/null differ diff --git a/files/board/arpl/p3/lkms/rp-purley-4.4.180-prod.ko b/files/board/arpl/p3/lkms/rp-purley-4.4.180-prod.ko deleted file mode 100644 index d331e029..00000000 Binary files a/files/board/arpl/p3/lkms/rp-purley-4.4.180-prod.ko and /dev/null differ diff --git a/files/board/arpl/p3/lkms/rp-v1000-4.4.180-dev.ko b/files/board/arpl/p3/lkms/rp-v1000-4.4.180-dev.ko index 25f4333a..ecfb0243 100644 Binary files a/files/board/arpl/p3/lkms/rp-v1000-4.4.180-dev.ko and b/files/board/arpl/p3/lkms/rp-v1000-4.4.180-dev.ko differ diff --git a/files/board/arpl/p3/modules/apollolake-4.4.180.tgz b/files/board/arpl/p3/modules/apollolake-4.4.180.tgz index 22480f10..a78154e6 100644 Binary files a/files/board/arpl/p3/modules/apollolake-4.4.180.tgz and b/files/board/arpl/p3/modules/apollolake-4.4.180.tgz differ diff --git a/files/board/arpl/p3/modules/broadwell-4.4.180.tgz b/files/board/arpl/p3/modules/broadwell-4.4.180.tgz index 6c621d3f..c29cc3d3 100644 Binary files a/files/board/arpl/p3/modules/broadwell-4.4.180.tgz and b/files/board/arpl/p3/modules/broadwell-4.4.180.tgz differ diff --git a/files/board/arpl/p3/modules/broadwellnk-4.4.180.tgz b/files/board/arpl/p3/modules/broadwellnk-4.4.180.tgz index a969981b..3333cc71 100644 Binary files a/files/board/arpl/p3/modules/broadwellnk-4.4.180.tgz and b/files/board/arpl/p3/modules/broadwellnk-4.4.180.tgz differ diff --git a/files/board/arpl/p3/modules/bromolow-3.10.108.tgz b/files/board/arpl/p3/modules/bromolow-3.10.108.tgz index 5c3be365..ef65994b 100644 Binary files a/files/board/arpl/p3/modules/bromolow-3.10.108.tgz and b/files/board/arpl/p3/modules/bromolow-3.10.108.tgz differ diff --git a/files/board/arpl/p3/modules/denverton-4.4.180.tgz b/files/board/arpl/p3/modules/denverton-4.4.180.tgz index d02fc13f..5065d064 100644 Binary files a/files/board/arpl/p3/modules/denverton-4.4.180.tgz and b/files/board/arpl/p3/modules/denverton-4.4.180.tgz differ diff --git a/files/board/arpl/p3/modules/geminilake-4.4.180.tgz b/files/board/arpl/p3/modules/geminilake-4.4.180.tgz index 9c0fcbc2..eaa79ee0 100644 Binary files a/files/board/arpl/p3/modules/geminilake-4.4.180.tgz and b/files/board/arpl/p3/modules/geminilake-4.4.180.tgz differ diff --git a/files/board/arpl/p3/modules/v1000-4.4.180.tgz b/files/board/arpl/p3/modules/v1000-4.4.180.tgz index 2fedab6c..e4535f28 100644 Binary files a/files/board/arpl/p3/modules/v1000-4.4.180.tgz and b/files/board/arpl/p3/modules/v1000-4.4.180.tgz differ diff --git a/files/configs/arpl_defconfig b/files/configs/arpl_defconfig index fe73e318..d6a68c7e 100644 --- a/files/configs/arpl_defconfig +++ b/files/configs/arpl_defconfig @@ -61,7 +61,5 @@ BR2_TARGET_ROOTFS_CPIO_XZ=y # BR2_TARGET_ROOTFS_TAR is not set BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_E2FSPROGS=y -BR2_PACKAGE_ARPL_KMOD=y -BR2_PACKAGE_ARPL_KMOD_TOOLS=y BR2_PACKAGE_R8168=y BR2_PACKAGE_R8125=y diff --git a/img-gen.sh b/img-gen.sh index b31a9f08..72a7991d 100755 --- a/img-gen.sh +++ b/img-gen.sh @@ -20,24 +20,25 @@ rm -rf files/board/arpl/p3/lkms/* unzip /tmp/rp-lkms.zip -d files/board/arpl/p3/lkms # Get latest addons and install its -# echo "Getting latest Addons" -# mkdir -p /tmp/addons -# if [ -d ../arpl-addons ]; then -# cp ../arpl-addons/*.addon /tmp/addons/ -# else -# TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-addons/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` -# curl -L "https://github.com/fbelavenuto/arpl-addons/releases/download/${TAG}/addons.zip" -o /tmp/addons.zip -# rm -rf /tmp/addons -# unzip /tmp/addons.zip -d /tmp/addons -# fi -# DEST_PATH="files/board/arpl/p3/addons" -# echo "Installing addons to ${DEST_PATH}" -# for PKG in `ls /tmp/addons/*.addon`; do -# ADDON=`basename ${PKG} | sed 's|.addon||'` -# mkdir -p "${DEST_PATH}/${ADDON}" -# echo "Extracting ${PKG} to ${DEST_PATH}/${ADDON}" -# tar xaf "${PKG}" -C "${DEST_PATH}/${ADDON}" -# done +echo "Getting latest Addons" +rm -Rf /tmp/addons +mkdir -p /tmp/addons +if [ -d ../arpl-addons ]; then + cp ../arpl-addons/*.addon /tmp/addons/ +else + TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-addons/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'` + curl -L "https://github.com/fbelavenuto/arpl-addons/releases/download/${TAG}/addons.zip" -o /tmp/addons.zip + rm -rf /tmp/addons + unzip /tmp/addons.zip -d /tmp/addons +fi +DEST_PATH="files/board/arpl/p3/addons" +echo "Installing addons to ${DEST_PATH}" +for PKG in `ls /tmp/addons/*.addon`; do + ADDON=`basename ${PKG} | sed 's|.addon||'` + mkdir -p "${DEST_PATH}/${ADDON}" + echo "Extracting ${PKG} to ${DEST_PATH}/${ADDON}" + tar xaf "${PKG}" -C "${DEST_PATH}/${ADDON}" +done # Copy files echo "Copying files"