Compare commits

..

59 Commits

Author SHA1 Message Date
Fabio Belavenuto
da93438455 Merge branch 'eudev' 2022-07-16 18:27:10 -03:00
Fabio Belavenuto
b35496d053 Using pocopico's mpt3sas 2022-07-16 18:15:51 -03:00
Fabio Belavenuto
4ee4c14090 Adding modules update menu option 2022-07-15 21:59:56 -03:00
Fabio Belavenuto
2269b4b209 Adding maxdisks manually 2022-07-15 20:33:27 -03:00
Fabio Belavenuto
4a1d78056c Testing eudev
Addons misc and acpid is optional now
2022-07-15 19:34:21 -03:00
Fabio Belavenuto
0b7c7fd816 Merge pull request #31 from fbelavenuto/dev
Fixing maxdisks/dtbpatch early bug
2022-07-15 15:59:55 -03:00
Fabio Belavenuto
84c405cdf7 Fixing maxdisks/dtbpatch early bug 2022-07-15 15:30:45 -03:00
Fabio Belavenuto
9560f40603 Update main.yml 2022-07-15 11:59:23 -03:00
Fabio Belavenuto
8718027acb Fixing bootable flag into image 2022-07-15 11:55:36 -03:00
Fabio Belavenuto
69151c65b2 Merge branch 'eudev' of github.com:fbelavenuto/arpl into eudev 2022-07-14 13:14:23 -03:00
Fabio Belavenuto
7f464a94e1 Merge branch 'dev' 2022-07-14 13:08:19 -03:00
Fabio Belavenuto
6df00babb3 change main.yml 2022-07-14 13:07:47 -03:00
Fabio Belavenuto
a21392c97e Merge pull request #30 from fbelavenuto/dev
merge dev
2022-07-14 13:04:54 -03:00
Fabio Belavenuto
d1070d37c3 Merge branch 'main' into dev 2022-07-14 13:04:12 -03:00
Fabio Belavenuto
db464ec087 Removed download addon
Little bug fixed
New version
2022-07-14 12:56:27 -03:00
Fabio Belavenuto
8093df3040 Eudev tests 2022-07-14 12:48:02 -03:00
Fabio Belavenuto
45f36ca380 Testing eudev 2022-07-13 23:21:29 -03:00
Fabio Belavenuto
9c372a2320 Adding more functions to docker image 2022-07-13 16:24:27 -03:00
Fabio Belavenuto
b44fe819d0 Reformuling modules/addons 2022-07-13 14:01:56 -03:00
Fabio Belavenuto
3512ca422a wip 2022-07-12 16:31:01 -03:00
Fabio Belavenuto
bbc44d9ba7 testes 2022-07-12 16:30:30 -03:00
Fabio Belavenuto
df1905b17d Adding linux vanilla source to docker image 2022-07-11 22:10:54 -03:00
Fabio Belavenuto
14e8ac2a5c Fix addons 2022-07-11 17:04:58 -03:00
Fabio Belavenuto
2225b6afd7 Adding buildroot package smartmontools 2022-07-11 14:22:24 -03:00
Fabio Belavenuto
fd6c9db110 Fix show menu "Show SATA(s) # ports and drives" to devicetree models.
Added alx addon
2022-07-11 12:15:49 -03:00
Fabio Belavenuto
466722e7ad Actions 2022-07-10 15:20:08 -03:00
Fabio Belavenuto
dfec0accde Merge pull request #25 from fbelavenuto/dev
Fixing addons
2022-07-10 15:10:37 -03:00
Fabio Belavenuto
1185a9144d Fixing addons 2022-07-10 14:59:54 -03:00
Fabio Belavenuto
4abaef8885 wip 2022-07-10 14:11:27 -03:00
Fabio Belavenuto
a990957148 Merge branch 'main' of github.com:fbelavenuto/arpl into dev 2022-07-10 13:31:27 -03:00
Fabio Belavenuto
c79acb8a8b Fix dtbpatch addon 2022-07-10 13:30:04 -03:00
Fabio Belavenuto
47b49ac259 Merge pull request #24 from fbelavenuto/dev
Changing version number
2022-07-10 12:48:37 -03:00
Fabio Belavenuto
6fac568cfc Merge branch 'main' of github.com:fbelavenuto/arpl into dev 2022-07-10 12:45:12 -03:00
Fabio Belavenuto
97ed86cf20 Version 0.2-alpha2 2022-07-10 12:43:31 -03:00
Fabio Belavenuto
f560f402b2 Merge pull request #23 from fbelavenuto/dev
Replacing addon 'qjs-dts' to addon 'dtbpatch'
2022-07-10 12:33:31 -03:00
Fabio Belavenuto
d0b839af26 Replacing addon 'qjs-dts' to addon 'dtbpatch' 2022-07-10 12:15:07 -03:00
Fabio Belavenuto
a8fef13c64 Merge pull request #21 from fbelavenuto/dev
Added a new step to call addons scripts.
2022-07-08 22:11:15 -03:00
Fabio Belavenuto
4a85944651 Added a new step to call addons scripts. 2022-07-08 21:51:20 -03:00
Fabio Belavenuto
1458074276 Addind missing dom_szmax for DoM 2022-07-08 15:00:24 -03:00
Fabio Belavenuto
fd1f06a7f3 Merge pull request #20 from fbelavenuto/dev
More addons
2022-07-08 14:37:33 -03:00
Fabio Belavenuto
2e4d14c25d More addons 2022-07-08 14:27:05 -03:00
Fabio Belavenuto
43338b435a Merge pull request #19 from fbelavenuto/dev
merge dev
2022-07-08 13:32:28 -03:00
Fabio Belavenuto
6ea54af667 Docker changes 2022-07-08 13:31:09 -03:00
Fabio Belavenuto
012b2d72ec Little adjust 2022-07-08 12:44:48 -03:00
Fabio Belavenuto
3dc56d40fe Merge pull request #18 from fbelavenuto/dev
testing actions
2022-07-08 10:07:18 -03:00
Fabio Belavenuto
58fbdd7b7b Merge branch 'main' into dev 2022-07-08 09:24:29 -03:00
Fabio Belavenuto
e6f5a9d415 testing actions 2022-07-08 09:22:46 -03:00
Fabio Belavenuto
cf1ac2a026 testing actions 2022-07-08 09:18:23 -03:00
Fabio Belavenuto
02ab29ace7 Merge pull request #17 from fbelavenuto/dev
Fixing synoinfo DS2422+
2022-07-08 09:06:46 -03:00
Fabio Belavenuto
d48e9f9fb6 Fixing synoinfo DS2422+
Adding maxdisks addon
2022-07-07 20:49:21 -03:00
Fabio Belavenuto
958369c5cc Merge pull request #16 from fbelavenuto/dev
merge dev
2022-07-07 16:00:19 -03:00
Fabio Belavenuto
863d949ae2 Removing workaroud, do not works with satadom 2022-07-07 15:54:07 -03:00
Fabio Belavenuto
b9c84664cd little fix 2022-07-07 15:07:44 -03:00
Fabio Belavenuto
d0ead7d18a Testing SATA DoM 2022-07-07 13:02:18 -03:00
Fabio Belavenuto
825f31287a More adjusts in actions 2022-07-07 08:28:12 -03:00
Fabio Belavenuto
73902b0609 Merge pull request #14 from green1052/patch-1
action cache update
2022-07-07 08:20:39 -03:00
green1052
c83e28613f Update main.yml 2022-07-07 17:07:49 +09:00
Fabio Belavenuto
378b10b7e3 Merge branch 'dev' 2022-07-06 21:46:31 -03:00
Fabio Belavenuto
66d8abb2f9 Adding vmdk image 2022-07-06 21:45:55 -03:00
238 changed files with 458 additions and 1011 deletions

View File

@@ -2,10 +2,13 @@ name: Build image
# Controls when the workflow will run
on:
# When a release is published
release:
types: [published]
# Push
push:
branches:
- main
tags:
- v*
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@@ -25,16 +28,16 @@ jobs:
# Check cache
- name: Cache buildroot
id: cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: .buildroot
key: ${{ runner.os }}-${{ hashFiles('files/configs/arpl_defconfig') }}
# Install missing buildroot dependency
- name: Install dependency
# Install dependencies
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libelf-dev
sudo apt-get install -y libelf-dev qemu-utils
# Prepare buildroot for first make (for cache)
- name: Prepare buildroot
@@ -92,18 +95,23 @@ jobs:
echo "Building..."
make BR2_EXTERNAL=../external
cd -
qemu-img convert -O vmdk arpl.img arpl.vmdk
# Zip image
- name: Pack
shell: bash
run: zip -9 "arpl-${{ steps.build.outputs.VERSION }}.img.zip" arpl.img
run: |
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.img.zip" arpl.img
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip" arpl.vmdk
# Upload artifact
- name: Upload
uses: actions/upload-artifact@v3
with:
name: Image to burn
path: arpl.img
name: Images
path: |
arpl.img
arpl.vmdk
retention-days: 1
# Publish a release if is a tag
@@ -113,5 +121,6 @@ jobs:
with:
files: |
arpl-${{ steps.build.outputs.VERSION }}.img.zip
arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip
.buildroot/output/images/bzImage
.buildroot/output/images/rootfs.cpio.xz

3
.gitignore vendored
View File

@@ -1,6 +1,7 @@
!.gitkeep
.vscode
arpl.img*
arpl.img
arpl.vmdk
*.zip
.buildroot
test.sh

View File

@@ -6,15 +6,15 @@ It is still in alpha stage, with little documentation, but it is functional. I'm
I tried to make the system as user-friendly as possible, to make life easier. The loader automatically detects which device is being used, SATADom or USB, detecting its VID and PID correctly. redpill-lkm has been edited to allow booting the kernel without setting the variables related to network interfaces so the loader (and user) doesn't have to worry about that. The Jun's code that makes the zImage and Ramdisk patch is embedded, if there is a change in "zImage" or "rd.gz" by some update, the loader re-applies the patches. Builds 42218 and 42661 up to update5 are working. Automatic updates should still be disabled as we are not sure if this technique will work forever.
To use this project, download the latest image available and burn it to a USB stick or SATA disk-on-module. Set the PC to boot from the burned media and follow the informations on the screen. When booting, the user can call the "menu.sh" command from the computer itself, access via SSH or use the virtual terminal (ttyd) by typing the address provided on the screen (http://<ip>:7681). The loader will automatically increase the size of the last partition and use this space as cache if it is larger than 2GiB.
To use this project, download the latest image available and burn it to a USB stick or SATA disk-on-module. Set the PC to boot from the burned media and follow the informations on the screen. When booting, the user can call the "menu.sh" command from the computer itself, access via SSH or use the virtual terminal (ttyd) by typing the address provided on the screen (http://(ip):7681). The loader will automatically increase the size of the last partition and use this space as cache if it is larger than 2GiB.
The menu system is dynamic and I hope it is intuitive enough that the user can use it without any problems. Its allows you to choose a model, the existing buildnumber for the chosen model, randomly type or create a serial number, add/remove addons with a hardware detection option, add/remove/view "cmdline" and "synoinfo" entries, choose the LKM version, create the loader, boot, manually edit the configuration file, choose a keymap and exit.
The menu system is dynamic and I hope it is intuitive enough that the user can use it without any problems. Its allows you to choose a model, the existing buildnumber for the chosen model, randomly type or create a serial number, add/remove addons with a hardware detection option, add/remove/view "cmdline" and "synoinfo" entries, choose the LKM version, create the loader, boot, manually edit the configuration file, choose a keymap, update and exit.
Addons and "synoinfo" entries require re-creating the loader, "cmdline" entries do not. You can view the "cmdline" and "synoinfo" entries defined for the chosen model, with user-defined entries having higher priority.
There is no need to configure the VID/PID (if using a USB stick) or define the MAC Addresses of the network interfaces. If the user wants to modify the MAC Address of any interface, he must manually add "cmdline" entries in the corresponding menu (set "netif_num" according to "mac1..4" entries).
If a model is chosen that uses the Device-tree system to define the HDs, there is no need to configure anything. In the case of models that do not use device-tree, the configurations must be done manually and for this there is an option in the "Cmdline" menu to display the SATA controllers, DUMMY ports and ports in use, to assist in the creation of the "SataPortMap", "DiskIdxMap" and "sata_remap". There is also an option to change the maximum amount of HDs supported by the model, adjusting "maxdisks" and "internalportcfg" automatically.
If a model is chosen that uses the Device-tree system to define the HDs, there is no need to configure anything. In the case of models that do not use device-tree, the configurations must be done manually and for this there is an option in the "Cmdline" menu to display the SATA controllers, DUMMY ports and ports in use, to assist in the creation of the "SataPortMap", "DiskIdxMap" and "sata_remap".
Another important point is that the loader detects whether or not the CPU has the FMA3 instruction and does not display the models that require it. So if the DS918+ and DVA3221 models are not displayed it is because of the CPU's lack of support for FMA instructions.
@@ -25,3 +25,4 @@ Addons can be downloaded and added to the loader.
All code was based on the work of TTG, pocopico, jumkey and others involved in continuing TTG's original redpill-load project.
More information will be added in the future.

5
TODO
View File

@@ -1,5 +1,7 @@
A fazer
- Implementar update do bzimage e ramdisk online
- Descobrir como é o serial do DS2422+
- Mudar addons para colocar pacote completo na partição 3 e detectar dinâmicamente durante o boot do júnior
- Estudar acrescentar modo simples e avançado do menu
Concluidos:
- Generalizar código dos addons
@@ -21,5 +23,6 @@ Concluidos:
- Limpar addons quando usuário muda de modelo
- Arrumar detecção de discos/maxdisks. 918 tem só 4 discos e dá problema com proxmox
- Melhorar opções de HD, talvez criar um menu a parte
- Implementar update do bzimage e ramdisk online
https://kb.synology.com/en-me/DSM/tutorial/What_kind_of_CPU_does_my_NAS_have

View File

@@ -1 +1 @@
0.1-alpha6
0.3-alpha2

View File

@@ -10,8 +10,13 @@ RUN for V in ${PLATFORMS}; do \
echo "Extracting ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" && \
mkdir "/opt/${PLATFORM}" && \
tar -xaf "/cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" -C "/opt/${PLATFORM}" --strip-components=10 \
"usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-7.0/build" && \
echo -e "${PLATFORM}\t${KVER}" >> /opt/platforms; \
"usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-${TOOLKIT_VER}/build" && \
echo -e "${PLATFORM}\t${KVER}" >> /opt/platforms && \
if [ ! -d "/opt/linux-${KVER}" ]; then \
mkdir "/opt/linux-${KVER}" && \
echo "Extracting linux-${KVER}.tar.xz" && \
tar -xaf "/cache/linux-${KVER}.tar.xz" -C "/opt/linux-${KVER}" --strip-components=1; \
fi; \
done; \
done
@@ -22,7 +27,8 @@ ENV SHELL=/bin/bash \
RUN apt update --yes && \
apt install --yes --no-install-recommends --no-install-suggests \
build-essential nano make && \
ca-certificates nano curl bc kmod git \
build-essential make ncurses-dev libssl-dev autogen automake pkg-config libtool xsltproc gperf && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*

View File

@@ -20,6 +20,7 @@ done <../PLATFORMS
mkdir -p cache
TOOLKIT_VER="7.0"
for PLATFORM in ${!PLATFORMS[@]}; do
KVER="${PLATFORMS[${PLATFORM}]}"
echo -n "Checking cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz... "
if [ ! -f "cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" ]; then
URL="https://global.download.synology.com/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
@@ -28,6 +29,14 @@ for PLATFORM in ${!PLATFORMS[@]}; do
else
echo "OK"
fi
# echo -n "Checking cache/linux-${KVER}.tar.xz... "
# if [ ! -f "cache/linux-${KVER}.tar.xz" ]; then
# URL="https://cdn.kernel.org/pub/linux/kernel/v${KVER:0:1}.x/linux-${KVER}.tar.xz"
# echo "Downloading ${URL}"
# curl -L "${URL}" -o "cache/linux-${KVER}.tar.xz"
# else
# echo "OK"
# fi
done
# Generate Dockerfile

View File

@@ -19,7 +19,7 @@ function compile-module {
fi
echo "Compiling module for ${PLATFORM}-${KVER}..."
cp -R /input /tmp
make -C "/opt/${PLATFORM}" M="/tmp/input" modules
make -C "/opt/${PLATFORM}" M="/tmp/input" PLATFORM=${PLATFORM^^} modules
while read F; do
strip -g "${F}"
echo "Copying `basename ${F}`"
@@ -43,13 +43,38 @@ function compile-lkm {
mv "/tmp/input/redpill.ko" "/output/redpill-prod.ko"
}
# function compile-drivers {
# while read platform kver; do
# SRC_PATH="/opt/${platform}"
# echo "Compiling for ${platform}-${kver}"
# cd /opt/linux-${kver}/drivers
# while read dir; do
# if [ -f "${dir}/Makefile" ]; then
# echo "Driver `basename ${dir}`"
# grep "CONFIG_.*/.*" "${dir}/Makefile" | sed 's/.*\(CONFIG_[^)]*\).*/\1=n/g' > /tmp/env
# grep "CONFIG_.*\.o.*" "${dir}/Makefile" | sed 's/.*\(CONFIG_[^)]*\).*/\1=m/g' >> /tmp/env
# make -C "${SRC_PATH}" M=$(readlink -f "${dir}") clean
# cat /tmp/env | xargs -d '\n' make -C "${SRC_PATH}" M=$(readlink -f "${dir}") modules $@
# fi
# done < <(find -type d)
# DST_PATH="/output/compiled-mods/${platform}-${kver}"
# mkdir -p "${DST_PATH}"
# while read f; do
# strip -g "${f}"
# mv "${f}" "${DST_PATH}"
# done < <(find -name \*.ko)
# done </opt/platforms
# }
if [ $# -lt 1 ]; then
echo "Use: <command> (<params>)"
exit 1
fi
case $1 in
bash) bash -l ;;
bash) shift; bash -l $@ ;;
compile-module) compile-module $2 ;;
compile-lkm) compile-lkm $2 ;;
# compile-drivers) compile-drivers ;;
*) echo "Command not recognized: $1" ;;
esac

2
external/Config.in vendored
View File

@@ -1,2 +1,2 @@
source "$BR2_EXTERNAL_ARPL_PATH/r8125/Config.in"
source "$BR2_EXTERNAL_ARPL_PATH/r8168/Config.in"
source "$BR2_EXTERNAL_ARPL_PATH/r8125/Config.in"

View File

@@ -116,27 +116,63 @@ CONFIG_EFI_VARS=y
CONFIG_BLK_DEV_LOOP=y
CONFIG_VIRTIO_BLK=m
CONFIG_BLK_DEV_NVME=y
CONFIG_VMWARE_VMCI=m
CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
CONFIG_SCSI_3W_SAS=m
CONFIG_SCSI_ACARD=m
CONFIG_SCSI_AACRAID=m
CONFIG_SCSI_AIC7XXX=m
CONFIG_SCSI_AIC79XX=m
# CONFIG_AIC79XX_DEBUG_ENABLE is not set
CONFIG_SCSI_AIC94XX=m
CONFIG_SCSI_MVSAS=m
CONFIG_SCSI_MVUMI=m
CONFIG_SCSI_DPT_I2O=m
CONFIG_SCSI_ADVANSYS=m
CONFIG_SCSI_ARCMSR=m
CONFIG_SCSI_ESAS2R=m
CONFIG_MEGARAID_NEWGEN=y
CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m
CONFIG_SCSI_MPI3MR=m
CONFIG_SCSI_SMARTPQI=m
CONFIG_SCSI_UFSHCD=m
CONFIG_SCSI_UFSHCD_PCI=m
CONFIG_SCSI_UFS_DWC_TC_PCI=m
CONFIG_SCSI_UFSHCD_PLATFORM=m
CONFIG_SCSI_UFS_CDNS_PLATFORM=m
CONFIG_SCSI_UFS_DWC_TC_PLATFORM=m
CONFIG_SCSI_HPTIOP=m
CONFIG_SCSI_BUSLOGIC=m
CONFIG_SCSI_MYRB=m
CONFIG_SCSI_MYRS=m
CONFIG_VMWARE_PVSCSI=m
CONFIG_SCSI_SNIC=m
CONFIG_SCSI_DMX3191D=m
CONFIG_SCSI_ISCI=m
CONFIG_SCSI_IPS=m
CONFIG_SCSI_INITIO=m
CONFIG_SCSI_INIA100=m
CONFIG_SCSI_STEX=m
CONFIG_SCSI_SYM53C8XX_2=m
CONFIG_SCSI_IPR=m
CONFIG_SCSI_QLOGIC_1280=m
CONFIG_SCSI_QLA_ISCSI=m
CONFIG_QEDI=m
CONFIG_SCSI_DC395x=m
CONFIG_SCSI_AM53C974=m
CONFIG_SCSI_WD719X=m
CONFIG_SCSI_PMCRAID=m
CONFIG_SCSI_PM8001=m
CONFIG_SCSI_VIRTIO=m
CONFIG_SCSI_DH=y
CONFIG_ATA=y
@@ -157,33 +193,56 @@ CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_DM=y
CONFIG_DM_MIRROR=y
CONFIG_DM_ZERO=y
CONFIG_FUSION=y
CONFIG_FUSION_SAS=m
CONFIG_FUSION_CTL=m
CONFIG_NETDEVICES=y
CONFIG_MACVLAN=m
CONFIG_IPVLAN=m
CONFIG_VXLAN=m
CONFIG_NETCONSOLE=y
CONFIG_VIRTIO_NET=m
CONFIG_ET131X=m
CONFIG_SLICOSS=m
CONFIG_ACENIC=m
CONFIG_ENA_ETHERNET=m
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
CONFIG_AMD_XGBE=m
CONFIG_AQTION=m
CONFIG_ATL1=m
CONFIG_ATL1E=m
CONFIG_ATL1C=m
CONFIG_ALX=m
CONFIG_B44=m
CONFIG_BCMGENET=m
CONFIG_CNIC=m
CONFIG_TIGON3=y
CONFIG_BNX2X=m
CONFIG_SYSTEMPORT=m
CONFIG_BNXT=m
CONFIG_BNA=m
CONFIG_MACB=m
CONFIG_THUNDER_NIC_PF=m
CONFIG_THUNDER_NIC_VF=m
CONFIG_LIQUIDIO=m
CONFIG_LIQUIDIO_VF=m
CONFIG_CHELSIO_T1=m
CONFIG_CHELSIO_T1_1G=y
CONFIG_CHELSIO_T3=m
CONFIG_CHELSIO_T4=m
CONFIG_CHELSIO_T4VF=m
CONFIG_NET_TULIP=y
CONFIG_ENIC=m
CONFIG_CX_ECAT=m
CONFIG_DNET=m
CONFIG_DL2K=m
CONFIG_SUNDANCE=m
CONFIG_BE2NET=m
# CONFIG_NET_VENDOR_GOOGLE is not set
CONFIG_HINIC=m
CONFIG_E100=y
CONFIG_E1000=y
CONFIG_E1000E=y
CONFIG_E1000=m
CONFIG_E1000E=m
CONFIG_IGB=m
CONFIG_IGBVF=m
CONFIG_IXGB=m
@@ -199,14 +258,22 @@ CONFIG_SKGE=m
CONFIG_SKY2=y
CONFIG_MLX4_EN=m
CONFIG_MYRI10GE=m
CONFIG_NATSEMI=m
CONFIG_NS83820=m
CONFIG_S2IO=m
CONFIG_VXGE=m
CONFIG_NFP=m
CONFIG_NI_XGE_MANAGEMENT_ENET=m
CONFIG_FORCEDETH=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_QLA3XXX=m
CONFIG_QLCNIC=m
CONFIG_NETXEN_NIC=m
CONFIG_QED=m
CONFIG_QEDE=m
CONFIG_QCOM_EMAC=m
CONFIG_R8169=m
CONFIG_RMNET=m
CONFIG_SXGBE_ETH=m
CONFIG_SFC=m
# CONFIG_SFC_MCDI_MON is not set
@@ -223,7 +290,36 @@ CONFIG_VIA_VELOCITY=m
CONFIG_XILINX_AXI_EMAC=m
CONFIG_XILINX_LL_TEMAC=m
CONFIG_REALTEK_PHY=y
# CONFIG_USB_NET_DRIVERS is not set
CONFIG_USB_NET_DRIVERS=m
CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_RTL8150=m
CONFIG_USB_RTL8152=m
CONFIG_USB_LAN78XX=m
CONFIG_USB_USBNET=m
CONFIG_USB_NET_CDC_EEM=m
CONFIG_USB_NET_HUAWEI_CDC_NCM=m
CONFIG_USB_NET_CDC_MBIM=m
CONFIG_USB_NET_DM9601=m
CONFIG_USB_NET_SR9700=m
CONFIG_USB_NET_SR9800=m
CONFIG_USB_NET_SMSC75XX=m
CONFIG_USB_NET_SMSC95XX=m
CONFIG_USB_NET_GL620A=m
CONFIG_USB_NET_PLUSB=m
CONFIG_USB_NET_MCS7830=m
CONFIG_USB_NET_RNDIS_HOST=m
CONFIG_USB_NET_CX82310_ETH=m
CONFIG_USB_NET_KALMIA=m
CONFIG_USB_NET_QMI_WWAN=m
CONFIG_USB_NET_INT51X1=m
CONFIG_USB_IPHETH=m
CONFIG_USB_SIERRA_NET=m
CONFIG_USB_VL600=m
CONFIG_USB_NET_CH9200=m
CONFIG_USB_NET_AQC111=m
CONFIG_USB_RTL8153_ECM=m
# CONFIG_WLAN is not set
CONFIG_VMXNET3=m
CONFIG_INPUT_EVDEV=y

View File

@@ -15,17 +15,17 @@ BOARD_PATH="${CONFIG_DIR}/board/arpl"
echo "Creating image file"
# Create image zeroed
dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=250 conv=sync 2>/dev/null
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\na\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
sudo umount "${BINARIES_DIR}/p3" 2>/dev/null || true
# Force unsetup of loop device
sudSetupo losetup -d "/dev/loop8" 2>/dev/null || true
sudo losetup -d "/dev/loop8" 2>/dev/null || true
# Setup the loop8 loop device
sudo losetup -P "/dev/loop8" "${IMAGE_FILE}"
# Format partitions

View File

@@ -30,7 +30,7 @@ null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
# Login in terminals
::respawn:/sbin/agetty -a root --noclear tty1
ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 vt100
ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 linux
::respawn:/usr/bin/ttyd login -f root
# Stuff to do for the 3-finger salute

View File

@@ -74,11 +74,16 @@ EFI_BUG="`readModelKey "${MODEL}" "builds.${BUILD}.efi-bug"`"
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
BUS=`udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2`
if [ "${BUS}" = "ata" ]; then
SIZE=$((`df -BM | awk '/\/mnt\/p3/{print$2}' | tr 'M' ' '`+300))
# Read SATADoM type
DOM="`readModelKey "${MODEL}" "dom"`"
fi
# Prepare command line
CMDLINE_LINE=""
[ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi "
[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=1 "
[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} "
CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk log_buf_len=32M earlycon=uart8250,io,0x3f8,115200n8 elevator=elevator root=/dev/md0 loglevel=15"
for KEY in ${!CMDLINE[@]}; do
VALUE="${CMDLINE[${KEY}]}"
@@ -92,6 +97,23 @@ CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
echo -e "Model: \033[1;36m${MODEL}\033[0m"
echo -e "Build: \033[1;36m${BUILD}\033[0m"
echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m"
# Wait for an IP
COUNT=0
echo -n "IP: "
while true; do
IP=`ip route get 1.1.1.1 2>/dev/null | awk '{print$7}'`
if [ -n "${IP}" ]; then
echo -e "\033[1;32m${IP}\033[0m"
break
elif [ ${COUNT} -eq 15 ]; then
echo -e "\033[1;31mERROR\033[0m"
break
fi
COUNT=$((${COUNT}+1))
sleep 1
done
echo -e "\033[1;37mLoading DSM kernel...\033[0m"
# Executes DSM kernel via KEXEC

View File

@@ -0,0 +1 @@
kmod

View File

@@ -1,8 +1,9 @@
ARPL_VERSION="0.1-alpha6"
ARPL_VERSION="0.3-alpha2"
# Define paths
TMP_PATH="/tmp"
UNTAR_PAT_PATH="${TMP_PATH}/pat"
RAMDISK_PATH="${TMP_PATH}/ramdisk"
LOG_FILE="${TMP_PATH}/log.txt"
@@ -15,6 +16,7 @@ ORI_RDGZ_FILE="${SLPART_PATH}/rd.gz"
ADDONS_PATH="${CACHE_PATH}/addons"
LKM_PATH="${CACHE_PATH}/lkms"
MODULES_PATH="${CACHE_PATH}/modules"
MODEL_CONFIG_PATH="/opt/arpl/model-configs"
INCLUDE_PATH="/opt/arpl/include"

View File

@@ -50,6 +50,7 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then
writeConfigKey "model" "" "${USER_CONFIG_FILE}"
writeConfigKey "build" "" "${USER_CONFIG_FILE}"
writeConfigKey "sn" "" "${USER_CONFIG_FILE}"
writeConfigKey "maxdisks" "" "${USER_CONFIG_FILE}"
writeConfigKey "keymap" "" "${USER_CONFIG_FILE}"
writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}"
writeConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}"

Binary file not shown.

View File

@@ -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
@@ -73,6 +62,7 @@ function modelMenu() {
while read M; do
M="`basename ${M}`"
M="${M::-4}"
PLATFORM=`readModelKey "${M}" "platform"`
# Check id model is compatible with CPU
COMPATIBLE=1
for F in `readModelArray "${M}" "flags"`; do
@@ -81,13 +71,10 @@ function modelMenu() {
break
fi
done
[ ${COMPATIBLE} -eq 1 ] && ITEMS+="${M} "
[ ${COMPATIBLE} -eq 1 ] && ITEMS+="${M} ${PLATFORM} "
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
dialog --clear --no-items \
--backtitle "`backtitle`" \
--menu "Choose the model" 0 0 0 \
${ITEMS} \
2>${TMP_PATH}/resp
dialog --backtitle "`backtitle`" --menu "Choose the model" 0 0 0 \
${ITEMS} 2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
resp=$(<${TMP_PATH}/resp)
[ -z "${resp}" ] && return
@@ -100,11 +87,8 @@ 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}"
fi
}
@@ -122,8 +106,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
}
@@ -165,64 +148,7 @@ function serialMenu() {
}
###############################################################################
# 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
# Manage addons
function addonMenu() {
# Read 'platform' and kernel version to check if addon exists
PLATFORM="`readModelKey "${MODEL}" "platform"`"
@@ -233,25 +159,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 +237,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
@@ -350,8 +244,6 @@ function addonMenu() {
###############################################################################
function cmdlineMenu() {
# Read device-tree flag
DT="`readModelKey "${MODEL}" "dt"`"
unset CMDLINE
declare -A CMDLINE
while IFS="=" read KEY VALUE; do
@@ -359,11 +251,9 @@ function cmdlineMenu() {
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
echo "a \"Add/edit an cmdline item\"" > "${TMP_PATH}/menu"
echo "d \"Delete cmdline item(s)\"" >> "${TMP_PATH}/menu"
if [ "${DT}" != "true" ]; then
echo "u \"Show SATA(s) # ports and drives\"" >> "${TMP_PATH}/menu"
fi
echo "s \"Show user cmdline\"" >> "${TMP_PATH}/menu"
echo "m \"Show model/build cmdline\"" >> "${TMP_PATH}/menu"
echo "u \"Show SATA(s) # ports and drives\"" >> "${TMP_PATH}/menu"
echo "e \"Exit\"" >> "${TMP_PATH}/menu"
# Loop menu
while true; do
@@ -406,6 +296,22 @@ function cmdlineMenu() {
deleteConfigKey "cmdline.${I}" "${USER_CONFIG_FILE}"
done
;;
s)
ITEMS=""
for KEY in ${!CMDLINE[@]}; do
ITEMS+="${KEY}: ${CMDLINE[$KEY]}\n"
done
dialog --backtitle "`backtitle`" --title "User cmdline" \
--aspect 18 --msgbox "${ITEMS}" 0 0
;;
m)
ITEMS=""
while IFS="=" read KEY VALUE; do
ITEMS+="${KEY}: ${VALUE}\n"
done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline")
dialog --backtitle "`backtitle`" --title "Model/build cmdline" \
--aspect 18 --msgbox "${ITEMS}" 0 0
;;
u) TEXT=""
NUMPORTS=0
for PCI in `lspci -d ::106 | awk '{print$1}'`; do
@@ -434,22 +340,6 @@ function cmdlineMenu() {
dialog --backtitle "`backtitle`" --colors --aspect 18 \
--msgbox "${TEXT}" 0 0
;;
s)
ITEMS=""
for KEY in ${!CMDLINE[@]}; do
ITEMS+="${KEY}: ${CMDLINE[$KEY]}\n"
done
dialog --backtitle "`backtitle`" --title "User cmdline" \
--aspect 18 --msgbox "${ITEMS}" 0 0
;;
m)
ITEMS=""
while IFS="=" read KEY VALUE; do
ITEMS+="${KEY}: ${VALUE}\n"
done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline")
dialog --backtitle "`backtitle`" --title "Model/build cmdline" \
--aspect 18 --msgbox "${ITEMS}" 0 0
;;
e) return ;;
esac
done
@@ -457,6 +347,8 @@ function cmdlineMenu() {
###############################################################################
function synoinfoMenu() {
# Get dt flag from model
DT="`readModelKey "${MODEL}" "dt"`"
# Read synoinfo from user config
unset SYNOINFO
declare -A SYNOINFO
@@ -466,6 +358,9 @@ function synoinfoMenu() {
echo "a \"Add/edit an synoinfo item\"" > "${TMP_PATH}/menu"
echo "d \"Delete synoinfo item(s)\"" >> "${TMP_PATH}/menu"
if [ "${DT}" != "true" ]; then
echo "x \"Set maxdisks manually\"" >> "${TMP_PATH}/menu"
fi
echo "s \"Show user synoinfo\"" >> "${TMP_PATH}/menu"
echo "m \"Show model/build synoinfo\"" >> "${TMP_PATH}/menu"
echo "e \"Exit\"" >> "${TMP_PATH}/menu"
@@ -512,6 +407,15 @@ function synoinfoMenu() {
done
DIRTY=1
;;
x)
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
dialog --backtitle "`backtitle`" --title "Maxdisks" \
--inputbox "Type a value for maxdisks" 0 0 "${MAXDISKS}" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
VALUE="`<"${TMP_PATH}/resp"`"
[ "${VALUE}" != "${MAXDISKS}" ] && writeConfigKey "maxdisks" "${VALUE}" "${USER_CONFIG_FILE}"
;;
s)
ITEMS=""
for KEY in ${!SYNOINFO[@]}; do
@@ -534,26 +438,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"
@@ -563,7 +454,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"
@@ -694,6 +584,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
@@ -780,6 +688,7 @@ function updateMenu() {
a "Update arpl" \
d "Update addons" \
l "Update LKMs" \
m "Update modules" \
e "Exit" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
@@ -873,17 +782,52 @@ function updateMenu() {
curl --insecure -s -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o /tmp/rp-lkms.zip
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--msgbox "Error downloading new version" 0 0
--msgbox "Error downloading last version" 0 0
continue
fi
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--infobox "Extracting last version" 0 0
rm -rf /mnt/p3/lkms/*
unzip /tmp/rp-lkms.zip -d /mnt/p3/lkms >/dev/null 2>&1
rm -rf "${LKM_PATH}/"*
unzip /tmp/rp-lkms.zip -d "${LKM_PATH}" >/dev/null 2>&1
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--msgbox "LKMs updated with success!" 0 0
;;
m)
unset PLATFORMS
declare -A PLATFORMS
while read M; do
M="`basename ${M}`"
M="${M::-4}"
P=`readModelKey "${M}" "platform"`
ITEMS="`readConfigEntriesArray "builds" "${MODEL_CONFIG_PATH}/${M}.yml"`"
for B in ${ITEMS}; do
KVER=`readModelKey "${M}" "builds.${B}.kver"`
PLATFORMS["${P}-${KVER}"]=""
done
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--infobox "Checking last version" 0 0
TAG=`curl --insecure -s https://api.github.com/repos/fbelavenuto/arpl-modules/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
if [ $? -ne 0 -o -z "${TAG}" ]; then
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--msgbox "Error checking new version" 0 0
continue
fi
for P in ${!PLATFORMS[@]}; do
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--infobox "Downloading ${P} modules" 0 0
curl --insecure -s -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/${P}.tgz" -o "/tmp/${P}.tgz"
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--msgbox "Error downloading ${P}.tgz" 0 0
continue
fi
rm "${MODULES_PATH}/${P}.tgz"
mv "/tmp/${P}.tgz" "${MODULES_PATH}/${P}.tgz"
done
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--msgbox "Modules updated with success!" 0 0
;;
e) return ;;
esac
done
@@ -900,7 +844,7 @@ while true; do
echo "n \"Choose a Build Number\"" >> "${TMP_PATH}/menu"
echo "s \"Choose a serial number\"" >> "${TMP_PATH}/menu"
if [ -n "${BUILD}" ]; then
echo "a \"Addons/drivers\"" >> "${TMP_PATH}/menu"
echo "a \"Addons\"" >> "${TMP_PATH}/menu"
echo "x \"Cmdline menu\"" >> "${TMP_PATH}/menu"
echo "i \"Synoinfo menu\"" >> "${TMP_PATH}/menu"
echo "l \"Switch LKM version: \Z4${LKM}\Zn\"" >> "${TMP_PATH}/menu"

View File

@@ -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"
@@ -36,6 +22,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "v1000"
dom: 2
serial:
prefix:
- "2080"
@@ -49,7 +36,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -63,14 +49,12 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
42661:
ver: "7.1.0"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -84,4 +68,3 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"

View File

@@ -1,18 +1,7 @@
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"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
@@ -31,6 +20,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "v1000"
dom: 2
serial:
prefix:
- "0000"
@@ -44,7 +34,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -58,5 +47,3 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"

View File

@@ -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"
@@ -25,10 +13,9 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "bromolow"
serial:
prefix:
prefix:
- "1130"
- "1230"
- "1330"
@@ -36,13 +23,13 @@ serial:
middle: "LWN"
suffix: "numeric"
disks: 12
dom: 1
builds:
42218:
ver: "7.0.1"
kver: "3.10.108"
rd-compressed: false
efi-bug: yes
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -56,7 +43,6 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -64,7 +50,6 @@ builds:
kver: "3.10.108"
rd-compressed: false
efi-bug: yes
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -78,5 +63,4 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -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"
@@ -29,8 +17,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwell"
dom: 1
serial:
prefix:
- "1130"
@@ -46,7 +34,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -60,7 +47,6 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -68,7 +54,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -82,5 +67,4 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -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"
@@ -36,8 +21,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwellnk"
dom: 1
serial:
prefix:
- "2030"
@@ -53,7 +38,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -67,7 +51,6 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -75,7 +58,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -89,5 +71,4 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -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: ""
@@ -29,8 +19,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "apollolake"
dom: 2
serial:
prefix:
- "1780"
@@ -48,7 +38,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -62,7 +51,6 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -70,7 +58,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -84,5 +71,4 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -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"
@@ -25,6 +17,7 @@ cmdline: &cmdline
syno_ttyS1: "serial,0x2f8"
vender_format_version: 2
platform: "geminilake"
dom: 2
dt: true
serial:
prefix:
@@ -41,7 +34,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -55,14 +47,12 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
42661:
ver: "7.1.0"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -76,4 +66,3 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"

View File

@@ -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"
@@ -34,6 +19,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "geminilake"
dom: 2
serial:
prefix:
- "2030"
@@ -50,7 +36,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -64,4 +49,3 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"

View File

@@ -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"
@@ -29,8 +18,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "denverton"
dom: 2
serial:
prefix:
- "2030"
@@ -48,7 +37,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -62,7 +50,6 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
@@ -70,7 +57,6 @@ builds:
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
@@ -84,5 +70,4 @@ builds:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,84 +0,0 @@
id: "RS4021xs+"
modules-notneeded: &modules-notneeded
- ahci
- i40e
- ixgbe
- igb
- e1000e
- dca
- etxhci_hcd
- xhci_hcd
- ehci-pci
- uhci_hcd
synoinfo: &synoinfo
support_bde_internal_10g: "no"
support_disk_compatibility: "no"
supportraidgroup: "no"
esataportcfg: "0x00"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
HddHotplug: 0
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwellnk"
serial:
prefix:
- "0000"
middle: "XXX"
suffix: "numeric"
disks: 16
builds:
42218:
ver: "7.0.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_RS4021xs%2B_42218.pat"
hash: "7afca3970ac7324d7431c1484d4249939bedd4c18ac34187f894c43119edf3a1"
ramdisk-hash: "3510afe5b3dfe3662bfe054c1728c8794911da431718b533cd03d2a2c061ffd5"
zimage-hash: "b4cc62e9953f226960de98b65887e17dd6df5fa0ad28f665e0b4660dbd5f2fa8"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
ver: "7.1.0"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
modules-notneeded: *modules-notneeded
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_RS4021xs%2B_42661.pat"
hash: "496b64e431dafa34cdebb92da8ac736bf1610fe157f03df7e6d11152d60991f5"
ramdisk-hash: "143e475fe73c0adb3377361402b4baad21448476e844e55e16d1ed51ffc4c971"
zimage-hash: "e073dd84054f652811e0ae1932af2c7cdbd5fb6e5f18f265097072b8af4605e8"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-common-network-hosts.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -9,7 +9,8 @@ do
if [ "$arg" = "elevator-iosched" ]; then
insmod /usr/lib/modules/rp.ko
rm /usr/lib/modules/rp.ko
rm /sbin/modprobe
rm /usr/sbin/modprobe
ln -s /usr/bin/kmod /usr/sbin/modprobe
exit 0
fi
done

View File

@@ -24,8 +24,8 @@
+ _replace_in_file '^#start on' 'start on' $UPSTART/tty.conf
+fi
+
+/addons/addons.sh sys
+/addons/addons.sh late
+############################################################################################
Mkdir -p /tmpRoot/initrd
Umount /proc >/dev/null 2>&1
Umount /proc >/dev/null 2>&1

View File

@@ -1,11 +1,28 @@
--- 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
+SYNOLoadModules "usb-storage"
+/addons/addons.sh rd
+/addons/addons.sh early; /addons/addons.sh patches
# 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

View File

@@ -24,7 +24,7 @@
+ _replace_in_file '^#start on' 'start on' $UPSTART/tty.conf
+fi
+
+/addons/addons.sh sys
+/addons/addons.sh late
+############################################################################################
+
Mkdir -p /tmpRoot/initrd

View File

@@ -62,15 +62,6 @@ while read f; do
(cd "${RAMDISK_PATH}" && patch -p1 < "${PATCH_PATH}/${f}") >>"${LOG_FILE}" 2>&1 || dieLog
done < <(readModelArray "${MODEL}" "builds.${BUILD}.patch")
# Temporary workaround
DT="`readModelKey "${MODEL}" "dt"`"
if [ "${DT}" != "true" ]; then
NUMPORTS=$((`ls /sys/class/scsi_host | wc -w`-1))
SYNOINFO["maxdisks"]=${NUMPORTS}
INTPORTCFG="0x`printf "%x" "$((2**${NUMPORTS}-1))"`"
SYNOINFO["internalportcfg"]="${INTPORTCFG}"
fi
# Patch /etc/synoinfo.conf
echo -n "."
for KEY in ${!SYNOINFO[@]}; do
@@ -90,25 +81,42 @@ 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 LKM to /usr/lib/modules/rp.ko
echo -n "."
# Extract modules to ramdisk
rm -rf "${TMP_PATH}/modules"
mkdir -p "${TMP_PATH}/modules"
gzip -dc "${CACHE_PATH}/modules/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules"
for F in `ls "${TMP_PATH}/modules/"*.ko`; do
M=`basename ${F}`
# Skip existent modules
[ -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] || mv "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
done
# Clean
rm -rf "${TMP_PATH}/modules"
# 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"
# Copying fake modprobe
echo -n "."
cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
# Addons
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
# Check if model needs Device-tree dynamic patch
DT="`readModelKey "${MODEL}" "dt"`"
[ "${DT}" = "true" ] && ADDONS['qjs-dtb']="" # Add system addon "qjs-dtb"
ADDONS['misc']="" # Add system addon "misc"
mkdir -p "${RAMDISK_PATH}/addons"
# Add system addon "dtbpatch" or "maxdisks"
[ "${DT}" = "true" ] && ADDONS['dtbpatch']="" || ADDONS['maxdisks']="${MAXDISKS}"
# Indispensable eudev system addon
ADDONS['eudev']=""
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 >> "${RAMDISK_PATH}/addons/addons.sh"
echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh"
for ADDON in ${!ADDONS[@]}; do
PARAMS=${ADDONS[${ADDON}]}
if ! installAddon ${ADDON}; then

View File

@@ -55,7 +55,7 @@ search --set=root --label "ARPL1"
if [ -s /zImage -a -s /rd.gz ]; then
menuentry 'Boot DSM' --id boot {
echo "Loading kernel..."
linux /bzImage-arpl console=ttyS0,115200n8
linux /bzImage-arpl console=ttyS0,115200n8 quiet
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."
@@ -66,7 +66,7 @@ fi
menuentry 'Configure loader' --id config {
echo "Loading kernel..."
linux /bzImage-arpl console=ttyS0,115200n8 IWANTTOCHANGETHECONFIG
linux /bzImage-arpl console=ttyS0,115200n8 quiet IWANTTOCHANGETHECONFIG
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."

View File

@@ -1,25 +0,0 @@
version: 1
name: 9p
description: "Driver for Plan 9 Resource Sharing Support (9P2000)"
available-for:
bromolow-3.10.108:
install-script: &script "install.sh"
modules: true
apollolake-4.4.180:
install-script: *script
modules: true
broadwell-4.4.180:
install-script: *script
modules: true
broadwellnk-4.4.180:
install-script: *script
modules: true
denverton-4.4.180:
install-script: *script
modules: true
geminilake-4.4.180:
install-script: *script
modules: true
v1000-4.4.180:
install-script: *script
modules: true

Binary file not shown.

View File

@@ -1,32 +1,14 @@
version: 1
name: acpid
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

View File

@@ -1,25 +0,0 @@
version: 1
name: arcmsr
description: "Driver for Areca ARC11xx/12xx/16xx/188x SAS/SATA RAID Controller"
available-for:
bromolow-3.10.108:
install-script: &script "install.sh"
modules: true
apollolake-4.4.180:
install-script: *script
modules: true
broadwell-4.4.180:
install-script: *script
modules: true
broadwellnk-4.4.180:
install-script: *script
modules: true
denverton-4.4.180:
install-script: *script
modules: true
geminilake-4.4.180:
install-script: *script
modules: true
v1000-4.4.180:
install-script: *script
modules: true

View File

@@ -1,25 +0,0 @@
version: 1
name: atl1c
description: "Driver for Atheros L1C Gigabit Ethernet adapters"
available-for:
bromolow-3.10.108:
install-script: &script "install.sh"
modules: true
apollolake-4.4.180:
install-script: *script
modules: true
broadwell-4.4.180:
install-script: *script
modules: true
broadwellnk-4.4.180:
install-script: *script
modules: true
denverton-4.4.180:
install-script: *script
modules: true
geminilake-4.4.180:
install-script: *script
modules: true
v1000-4.4.180:
install-script: *script
modules: true

View File

@@ -1,25 +0,0 @@
version: 1
name: atl1e
description: "Driver for Atheros L1E Gigabit Ethernet adapters"
available-for:
bromolow-3.10.108:
install-script: &script "install.sh"
modules: true
apollolake-4.4.180:
install-script: *script
modules: true
broadwell-4.4.180:
install-script: *script
modules: true
broadwellnk-4.4.180:
install-script: *script
modules: true
denverton-4.4.180:
install-script: *script
modules: true
geminilake-4.4.180:
install-script: *script
modules: true
v1000-4.4.180:
install-script: *script
modules: true

View File

@@ -1,25 +0,0 @@
version: 1
name: ax88179_178a
description: "Driver for ASIX AX88179/178A based USB 3.0/2.0 Gigabit Ethernet"
available-for:
bromolow-3.10.108:
install-script: &script "install.sh"
modules: true
apollolake-4.4.180:
install-script: *script
modules: true
broadwell-4.4.180:
install-script: *script
modules: true
broadwellnk-4.4.180:
install-script: *script
modules: true
denverton-4.4.180:
install-script: *script
modules: true
geminilake-4.4.180:
install-script: *script
modules: true
v1000-4.4.180:
install-script: *script
modules: true

Binary file not shown.

View File

@@ -0,0 +1,16 @@
version: 1
name: dtbpatch
system: true
description: "Patch model.dtb"
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:

View File

@@ -1,25 +0,0 @@
version: 1
name: e1000
description: "Driver for Intel(R) PRO/1000 Gigabit Ethernet adapters"
available-for:
bromolow-3.10.108:
install-script: &script "install.sh"
modules: true
apollolake-4.4.180:
install-script: *script
modules: true
broadwell-4.4.180:
install-script: *script
modules: true
broadwellnk-4.4.180:
install-script: *script
modules: true
denverton-4.4.180:
install-script: *script
modules: true
geminilake-4.4.180:
install-script: *script
modules: true
v1000-4.4.180:
install-script: *script
modules: true

View File

@@ -1,10 +0,0 @@
version: 1
name: e1000e
description: "Driver for Intel(R) PRO/1000 Gigabit Ethernet PCI-e adapters"
available-for:
geminilake-4.4.180:
install-script: &script "install.sh"
modules: true
v1000-4.4.180:
install-script: *script
modules: true

View File

@@ -1,13 +0,0 @@
version: 1
name: ehci-pci
description: "Driver for USB 2.0 Host Controller"
available-for:
broadwell-4.4.180:
install-script: &script "install.sh"
modules: true
geminilake-4.4.180:
install-script: *script
modules: true
apollolake-4.4.180:
install-script: *script
modules: true

Some files were not shown because too many files have changed in this diff Show More