Compare commits

...

35 Commits

Author SHA1 Message Date
Fabio Belavenuto
eed06af75f Merge pull request #221 from fbelavenuto/grub-1st-bug
Fix grub first stage (UEFI)
2022-10-05 09:31:53 -03:00
Fabio Belavenuto
e4332d44fa Fix grub first stage (UEFI) 2022-10-05 09:31:36 -03:00
Fabio Belavenuto
2fb04769ba Merge pull request #219 from fbelavenuto/bug-netif_num
Fixing bug checking netif_num
2022-10-04 14:31:07 -03:00
Fabio Belavenuto
1a7f847334 Fixing bug checking netif_num 2022-10-04 14:30:52 -03:00
Fabio Belavenuto
cd44a7eb64 Merge pull request #218 from fbelavenuto/select-modules
Adding option to configure modules to use in DSM
2022-10-04 14:05:30 -03:00
Fabio Belavenuto
2313062eec Adding option to configure modules to use in DSM 2022-10-04 14:04:58 -03:00
Fabio Belavenuto
52eab13d15 Merge pull request #204 from fbelavenuto/columns-bug
Fix $COLUMNS visual bug
2022-09-29 16:33:51 -03:00
Fabio Belavenuto
a19a1dd1a5 Fix $COLUMNS visual bug 2022-09-29 16:33:15 -03:00
Fabio Belavenuto
08fca3caa3 Merge pull request #196 from fbelavenuto/dbgutils
Adding patches for dbgutils save log resource
2022-09-26 13:54:53 -03:00
Fabio Belavenuto
4616fede0b Adding patches for dbgutils save log resource 2022-09-26 13:54:21 -03:00
Fabio Belavenuto
70272bdc98 Merge pull request #194 from the-leaf/main
add lib/firmware
2022-09-26 08:31:27 -03:00
the-leaf
3c5b8d43a2 add lib/firmware 2022-09-24 23:15:55 +07:00
Fabio Belavenuto
0a01291188 Merge pull request #188 from fbelavenuto/firmwares
Adding buildroot firmwares
2022-09-22 13:25:56 -03:00
Fabio Belavenuto
fe8258b8a8 Adding buildroot firmwares 2022-09-22 13:25:41 -03:00
Fabio Belavenuto
ebf1bf2e24 Merge pull request #187 from fbelavenuto/arpl-reboot
Added missing arpl-reboot
2022-09-22 11:39:32 -03:00
Fabio Belavenuto
15194a396c Added missing arpl-reboot 2022-09-22 11:39:17 -03:00
Fabio Belavenuto
a62bba0eff Merge pull request #186 from fbelavenuto/patch-cmos-write
Add patch rtc_cmos_write (issue #174)
2022-09-22 11:37:56 -03:00
Fabio Belavenuto
6253ab9b20 Add patch rtc_cmos_write (issue #174)
Another improvements
2022-09-22 11:26:05 -03:00
Fabio Belavenuto
8fe3c41ce4 Merge pull request #180 from fbelavenuto/checksum-yet
Checksum yet
2022-09-19 16:35:34 -03:00
Fabio Belavenuto
e097941014 Checksum yet 2022-09-19 16:35:21 -03:00
Fabio Belavenuto
67f1ee8066 Merge pull request #179 from fbelavenuto/fixing-checksum
Fixing checksum
2022-09-19 14:01:40 -03:00
Fabio Belavenuto
f74d889ce3 Fixing checksum 2022-09-19 14:01:27 -03:00
Fabio Belavenuto
9ac8279c2b Merge pull request #178 from fbelavenuto/update-fix
Testing actions
2022-09-19 11:31:18 -03:00
Fabio Belavenuto
f5220d1468 Testing actions 2022-09-19 11:30:57 -03:00
Fabio Belavenuto
7898b54980 Merge pull request #177 from fbelavenuto/update-fix
Testing update checksum check
2022-09-19 10:07:58 -03:00
Fabio Belavenuto
2ad2825c46 Testing update checksum check 2022-09-19 10:07:41 -03:00
Fabio Belavenuto
8b9b1439b3 Merge pull request #171 from fbelavenuto/fix-eudev
addon eudev with RAID mount bug fixed
2022-09-15 16:38:32 -03:00
Fabio Belavenuto
da89a97182 addon eudev with RAID mount bug fixed
script to reboot into another mode (junior/config)
Anothers minor changes
2022-09-15 16:38:02 -03:00
Fabio Belavenuto
19ec462570 Merge pull request #170 from fbelavenuto/debug
Adding resources to facilitate debug by author
2022-09-15 14:09:12 -03:00
Fabio Belavenuto
8cc750a527 Adding resources to facilitate debug by author 2022-09-15 14:08:52 -03:00
Fabio Belavenuto
c5ec8f7d24 Merge pull request #169 from fbelavenuto/ram-warning
Adding low memory warning
2022-09-15 14:06:18 -03:00
Fabio Belavenuto
82acaabe26 Adding low memory warning 2022-09-15 14:05:35 -03:00
Fabio Belavenuto
dc7076709c Merge pull request #167 from jimmyGALLAND/main
fix dfree smb error
2022-09-15 08:51:09 -03:00
JimmyGALLAND
eeec01864f fix dfree smb error 2022-09-14 22:26:25 +02:00
Fabio Belavenuto
dc102f5af7 Create FUNDING.yml 2022-09-13 18:38:10 -03:00
185 changed files with 1246 additions and 76 deletions

3
.github/FUNDING.yml vendored Normal file
View File

@@ -0,0 +1,3 @@
# These are supported funding model platforms
github: fbelavenuto

View File

@@ -2,8 +2,8 @@ name: Build image
on:
push:
# branches:
# - main
branches:
- main
tags:
- v*
workflow_dispatch:
@@ -87,12 +87,13 @@ jobs:
#qemu-img convert -O vmdk arpl.img arpl.vmdk
qemu-img convert -O vmdk -o adapter_type=lsilogic arpl.img -o subformat=monolithicFlat arpl.vmdk
# Zip image
# Zip image and generate checksum
- name: Pack
shell: bash
run: |
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.img.zip" arpl.img
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip" arpl*.vmdk
(cd .buildroot/output/images && sha256sum bzImage rootfs.cpio.xz) >> sha256sum
# Upload artifact
- name: Upload
@@ -114,3 +115,4 @@ jobs:
arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip
.buildroot/output/images/bzImage
.buildroot/output/images/rootfs.cpio.xz
sha256sum

2
.gitignore vendored
View File

@@ -4,7 +4,7 @@ arpl*.img
arpl*.vmdk
*.zip
.buildroot
test.sh
test*.sh
docker/Dockerfile
docker/cache
*.bak

8
TODO
View File

@@ -1,6 +1,8 @@
A fazer
- Checar se tem como atualizar microcode via addon/modules/whatever...
- Estudar acrescentar modo simples e avançado do menu
- Checar NVME no modelo DS920+, DS918+
- J4125, HP G7 N40L desligando (#110 #160)
- Checar módulo tg3 no próprio loader (BCM57780 [14e4:1692]) (#31)
- Ver se vale a pena colocar uma opção para configurações extras, como escolher qual módulo realtek usar (R8168 ou R8169)
Concluidos:
- Generalizar código dos addons
@@ -31,3 +33,5 @@ Concluidos:
- Descobrir como é o serial do DS2422+
- Retirar o ttyd da memória quando o root do dsm dar boot
- Adicionar mais binários para o addon dbgutils (nano, strace, etc)
- Checar se tem como atualizar microcode via addon/modules/whatever... (NOP)
- Estudar acrescentar modo simples e avançado do menu (NOP)

View File

@@ -1 +1 @@
0.4-alpha7
0.5-alpha1

View File

@@ -110,6 +110,8 @@ CONFIG_PCIEPORTBUS=y
CONFIG_HOTPLUG_PCI=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_FW_LOADER_USER_HELPER=y
CONFIG_FW_LOADER_COMPRESS=y
CONFIG_DEBUG_DEVRES=y
CONFIG_CONNECTOR=y
CONFIG_EFI_VARS=y
@@ -438,8 +440,6 @@ CONFIG_AUTOFS4_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_PROC_KCORE=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_INODE64=y
CONFIG_HUGETLBFS=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3_ACL=y

View File

@@ -45,8 +45,6 @@ sudo cp "${BINARIES_DIR}/rootfs.cpio.xz" "${BINARIES_DIR}/p3/initrd-arpl"
sudo cp -R "${BOARD_PATH}/p1/"* "${BINARIES_DIR}/p1"
sudo cp -R "${BOARD_PATH}/p3/"* "${BINARIES_DIR}/p3"
sync
cp "${BINARIES_DIR}/bzImage" ~/bzImage-arpl
cp "${BINARIES_DIR}/rootfs.cpio.xz" ~/initrd-arpl
echo "Unmount image file"
sudo umount "${BINARIES_DIR}/p1"

View File

@@ -4,6 +4,8 @@
obey pam restrictions = yes
map to guest = Bad User
usershare allow guests = yes
dfree command = /usr/bin/df
[arpl]
browseable = yes
public = yes

View File

@@ -7,13 +7,14 @@ set -e
# Sanity check
loaderIsConfigured || die "Loader is not configured!"
# Print text centralized, if variable ${COLUMNS} is defined
# Print text centralized
clear
[ -z "${COLUMNS}" ] && COLUMNS=50
TITLE="Welcome to Automated Redpill Loader v${ARPL_VERSION}"
printf "\033[1;44m%*s\n" $COLUMNS ""
printf "\033[1;44m%*s\033[A\n" $COLUMNS ""
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE}+$COLUMNS)/2)) "${TITLE}"
printf "\033[1;44m%*s\033[0m\n" $COLUMNS ""
printf "\033[1;44m%*s\n" ${COLUMNS} ""
printf "\033[1;44m%*s\033[A\n" ${COLUMNS} ""
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE}+${COLUMNS})/2)) "${TITLE}"
printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} ""
TITLE="BOOTING..."
printf "\033[1;33m%*s\033[0m\n" $(((${#TITLE}+${COLUMNS})/2)) "${TITLE}"
@@ -88,7 +89,7 @@ fi
# Validate netif_num
NETIF_NUM=${CMDLINE["netif_num"]}
MACS=0
for N in `seq 1 4`; do
for N in `seq 1 9`; do
[ -n "${CMDLINE["mac${N}"]}" ] && MACS=$((${MACS}+1))
done
if [ ${NETIF_NUM} -ne ${MACS} ]; then

View File

@@ -1,5 +1,5 @@
ARPL_VERSION="0.4-alpha7"
ARPL_VERSION="0.5-alpha1"
# Define paths
TMP_PATH="/tmp"

View File

@@ -0,0 +1,22 @@
###############################################################################
# Return list of all modules available
# 1 - Platform
# 2 - Kernel Version
function getAllModules() {
PLATFORM=${1}
KVER=${2}
# Unzip modules for temporary folder
rm -rf "${TMP_PATH}/modules"
mkdir -p "${TMP_PATH}/modules"
gzip -dc "${MODULES_PATH}/${PLATFORM}-${KVER}.tgz" | tar xf - -C "${TMP_PATH}/modules"
# Get list of all modules
for F in `ls ${TMP_PATH}/modules/*.ko`; do
X=`basename ${F}`
M=${X:0:-3}
DESC=`modinfo ${F} | awk -F':' '/description/{ print $2}' | awk '{sub(/^[ ]+/,""); print}'`
[ -z "${DESC}" ] && DESC="${X}"
echo "${M} \"${DESC}\""
done
rm -rf "${TMP_PATH}/modules"
}

View File

@@ -82,6 +82,7 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "addons.misc" "" "${USER_CONFIG_FILE}"
writeConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}"
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
# Initialize with real MAC
writeConfigKey "cmdline.netif_num" "1" "${USER_CONFIG_FILE}"
writeConfigKey "cmdline.mac1" "${MACF}" "${USER_CONFIG_FILE}"
@@ -180,6 +181,12 @@ echo -e "User config is on \033[1;32m${USER_CONFIG_FILE}\033[0m"
echo -e "Default SSH Root password is \033[1;31mRedp1lL-1s-4weSomE\033[0m"
echo
# Check memory
RAM=`free -m | awk '/Mem:/{print$2}'`
if [ ${RAM} -le 3500 ]; then
echo -e "\033[1;33mYou have less than 4GB of RAM, if errors occur in loader creation, please increase the amount of memory.\033[0m\n"
fi
mkdir -p "${ADDONS_PATH}"
mkdir -p "${LKM_PATH}"
mkdir -p "${MODULES_PATH}"

View File

@@ -2,6 +2,7 @@
. /opt/arpl/include/functions.sh
. /opt/arpl/include/addons.sh
. /opt/arpl/include/modules.sh
# Check partition 3 space, if < 2GiB uses ramdisk
RAMCACHE=0
@@ -61,6 +62,8 @@ function backtitle() {
function modelMenu() {
RESTRICT=1
FLGBETA=0
dialog --backtitle "`backtitle`" --title "Model" --aspect 18 \
--infobox "Reading models" 0 0
while true; do
echo "" > "${TMP_PATH}/menu"
FLGNEX=0
@@ -126,6 +129,8 @@ function buildMenu() {
resp=$(<${TMP_PATH}/resp)
[ -z "${resp}" ] && return
if [ "${BUILD}" != "${resp}" ]; then
dialog --backtitle "`backtitle`" --title "Build Number" \
--infobox "Reconfiguring Synoinfo, Addons and Modules" 0 0
BUILD=${resp}
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
# Delete synoinfo and reload model/build synoinfo
@@ -142,6 +147,11 @@ function buildMenu() {
deleteConfigKey "addons.${ADDON}" "${USER_CONFIG_FILE}"
fi
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Rebuild modules
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}"
done < <(getAllModules "${PLATFORM}" "${KVER}")
# Remove old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}"
DIRTY=1
@@ -314,7 +324,7 @@ function cmdlineMenu() {
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
echo "a \"Add/edit an cmdline item\"" > "${TMP_PATH}/menu"
echo "a \"Add/edit a cmdline item\"" > "${TMP_PATH}/menu"
echo "d \"Delete cmdline item(s)\"" >> "${TMP_PATH}/menu"
echo "c \"Define a custom MAC\"" >> "${TMP_PATH}/menu"
echo "s \"Show user cmdline\"" >> "${TMP_PATH}/menu"
@@ -445,7 +455,7 @@ function synoinfoMenu() {
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
echo "a \"Add/edit an synoinfo item\"" > "${TMP_PATH}/menu"
echo "a \"Add/edit a 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"
@@ -518,6 +528,85 @@ function synoinfoMenu() {
done
}
###############################################################################
# Permit user select the modules to include
function selectModules() {
PLATFORM="`readModelKey "${MODEL}" "platform"`"
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
dialog --backtitle "`backtitle`" --title "Modules" --aspect 18 \
--infobox "Reading modules" 0 0
ALLMODULES=`getAllModules "${PLATFORM}" "${KVER}"`
unset USERMODULES
declare -A USERMODULES
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
# menu loop
while true; do
dialog --backtitle "`backtitle`" --menu "Choose a option" 0 0 0 \
s "Show selected modules" \
a "Select all modules" \
d "Deselect all modules" \
c "Choose modules to include" \
e "Exit" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && break
case "`<${TMP_PATH}/resp`" in
s) ITEMS=""
for KEY in ${!USERMODULES[@]}; do
ITEMS+="${KEY}: ${USERMODULES[$KEY]}\n"
done
dialog --backtitle "`backtitle`" --title "User modules" \
--msgbox "${ITEMS}" 0 0
;;
a) dialog --backtitle "`backtitle`" --title "Modules" \
--infobox "Selecting all modules" 0 0
unset USERMODULES
declare -A USERMODULES
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
while read ID DESC; do
USERMODULES["${ID}"]=""
writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}"
done <<<${ALLMODULES}
;;
d) dialog --backtitle "`backtitle`" --title "Modules" \
--infobox "Deselecting all modules" 0 0
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
unset USERMODULES
declare -A USERMODULES
;;
c)
rm -f "${TMP_PATH}/opts"
while read ID DESC; do
arrayExistItem "${ID}" "${!USERMODULES[@]}" && ACT="on" || ACT="off"
echo "${ID} ${DESC} ${ACT}" >> "${TMP_PATH}/opts"
done <<<${ALLMODULES}
dialog --backtitle "`backtitle`" --title "Modules" --aspect 18 \
--checklist "Select modules to include" 0 0 0 \
--file "${TMP_PATH}/opts" 2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
resp=$(<${TMP_PATH}/resp)
[ -z "${resp}" ] && continue
dialog --backtitle "`backtitle`" --title "Modules" \
--infobox "Writing to user config" 0 0
unset USERMODULES
declare -A USERMODULES
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
for ID in ${resp}; do
USERMODULES["${ID}"]=""
writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}"
done
;;
e)
break
;;
esac
done
}
###############################################################################
# Extract linux and ramdisk files from the DSM .pat
function extractDsmFiles() {
@@ -666,6 +755,8 @@ function extractDsmFiles() {
echo "OK"
}
###############################################################################
# Where the magic happens!
function make() {
clear
PLATFORM="`readModelKey "${MODEL}" "platform"`"
@@ -683,14 +774,14 @@ function make() {
[ ! -f "${ORI_ZIMAGE_FILE}" -o ! -f "${ORI_RDGZ_FILE}" ] && extractDsmFiles
/opt/arpl/zimage-patch.sh | tee -a "${LOG_FILE}"
/opt/arpl/zimage-patch.sh
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
--msgbox "zImage not patched:\n`<"${LOG_FILE}"`" 0 0
return 1
fi
/opt/arpl/ramdisk-patch.sh | tee -a "${LOG_FILE}"
/opt/arpl/ramdisk-patch.sh
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
--msgbox "Ramdisk not patched:\n`<"${LOG_FILE}"`" 0 0
@@ -797,6 +888,13 @@ function updateMenu() {
fi
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
--infobox "Downloading last version ${TAG}" 0 0
# Download checksum
STATUS=`curl --insecure -s -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl/releases/download/${TAG}/sha256sum" -o /tmp/sha256sum`
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
--msgbox "Error downloading checksums" 0 0
continue
fi
STATUS=`curl --insecure -s -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl/releases/download/${TAG}/bzImage" -o /tmp/bzImage`
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
@@ -811,6 +909,12 @@ function updateMenu() {
fi
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
--infobox "Installing new files" 0 0
(cd /tmp && sha256sum --status -c sha256sum)
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
--msgbox "Checksum do not match!" 0 0
continue
fi
mv /tmp/bzImage "${ARPL_BZIMAGE_FILE}"
mv /tmp/rootfs.cpio.xz "${ARPL_RAMDISK_FILE}"
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
@@ -925,6 +1029,10 @@ function updateMenu() {
###############################################################################
###############################################################################
if [ "x$1" = "xb" -a -n "${MODEL}" -a -n "${BUILD}" -a loaderIsConfigured ]; then
make
boot
fi
# Main loop
NEXT="m"
while true; do
@@ -937,6 +1045,7 @@ while true; do
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"
echo "o \"Modules\"" >> "${TMP_PATH}/menu"
echo "d \"Build the loader\"" >> "${TMP_PATH}/menu"
fi
fi
@@ -959,8 +1068,9 @@ while true; do
i) synoinfoMenu; NEXT="l" ;;
l) [ "${LKM}" = "dev" ] && LKM='prod' || LKM='dev'
writeConfigKey "lkm" "${LKM}" "${USER_CONFIG_FILE}"
NEXT="d"
NEXT="o"
;;
o) selectModules; NEXT="d" ;;
d) make; NEXT="b" ;;
b) boot ;;
u) editUserConfig; NEXT="u" ;;

View File

@@ -44,6 +44,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
42661:
@@ -64,6 +65,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
@@ -85,6 +87,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
42962:
@@ -105,4 +108,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -46,6 +46,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
42661:
@@ -66,6 +67,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
@@ -87,6 +89,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
42962:
@@ -107,4 +110,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -47,6 +47,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
42661:
ver: "7.1.0"
@@ -66,6 +67,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
@@ -87,6 +89,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
42962:
@@ -107,4 +110,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -46,6 +46,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
@@ -67,6 +68,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -89,6 +91,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -110,5 +113,6 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -47,6 +47,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
@@ -68,6 +69,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -90,6 +92,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -111,5 +114,6 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -3,7 +3,6 @@ synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
supportraidgroup: "no"
supportssdcache: "no"
esataportcfg: "0x00"
support_bde_internal_10g: "no"
support_oob_ctl: "no"
@@ -49,6 +48,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
@@ -70,6 +70,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -92,6 +93,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -113,5 +115,6 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -50,6 +50,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
@@ -71,6 +72,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -93,6 +95,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -114,5 +117,6 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -46,6 +46,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
42661:
@@ -66,6 +67,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
@@ -87,6 +89,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
42962:
@@ -107,4 +110,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -48,6 +48,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
@@ -69,6 +70,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
42962:
@@ -89,4 +91,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -50,6 +50,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
@@ -71,6 +72,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -93,6 +95,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -114,5 +117,6 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -48,6 +48,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
@@ -69,6 +70,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -91,6 +93,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -112,5 +115,6 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -44,6 +44,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
42661:
@@ -64,6 +65,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
@@ -85,6 +87,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
42962:
@@ -105,4 +108,5 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -45,6 +45,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
@@ -66,6 +67,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42661-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -88,6 +90,7 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
@@ -109,5 +112,6 @@ builds:
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-etc-rc.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -0,0 +1 @@
kmod

View File

@@ -1,5 +1,3 @@
diff --git a/etc/passwd b/etc/passwd
index 6a0344d..cf95fbd 100644
--- a/etc/passwd
+++ b/etc/passwd
@@ -1,4 +1,4 @@

View File

@@ -0,0 +1,9 @@
--- a/etc/rc
+++ b/etc/rc
@@ -469,5 +469,5 @@
echo "============ Date ============"
date
echo "=============================="
-
+/addons/addons.sh rcExit
exit 0

View File

@@ -9,11 +9,11 @@
UmountRoot()
{
grep "^${RootDevice}" /proc/mounts && /bin/umount -f ${Mnt}
@@ -59,6 +61,7 @@
@@ -59,5 +61,6 @@
fi
UmountRoot
+ /addons/addons.sh jrExit
UmountRoot
exit $1
}

View File

@@ -3,8 +3,10 @@
. /opt/arpl/include/functions.sh
. /opt/arpl/include/addons.sh
set -o pipefail # Get exit code from process piped
# Sanity check
[ -f "${ORI_RDGZ_FILE}" ] || die "${ORI_RDGZ_FILE} not found!"
[ -f "${ORI_RDGZ_FILE}" ] || (die "${ORI_RDGZ_FILE} not found!" | tee -a "${LOG_FILE}")
echo -n "Patching Ramdisk"
@@ -39,10 +41,11 @@ KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
RD_COMPRESSED="`readModelKey "${MODEL}" "builds.${BUILD}.rd-compressed"`"
# Sanity check
[ -z "${PLATFORM}" -o -z "${KVER}" ] && die "ERROR: Configuration for model ${MODEL} and buildnumber ${BUILD} not found."
[ -z "${PLATFORM}" -o -z "${KVER}" ] && (die "ERROR: Configuration for model ${MODEL} and buildnumber ${BUILD} not found." | tee -a "${LOG_FILE}")
declare -A SYNOINFO
declare -A ADDONS
declare -A USERMODULES
# Read synoinfo and addons from config
while IFS="=" read KEY VALUE; do
@@ -52,6 +55,11 @@ while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Read modules from user config
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
# Patches
while read f; do
echo -n "."
@@ -82,15 +90,17 @@ 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"
gzip -dc "${MODULES_PATH}/${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}"
cp "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
if arrayExistItem "${M:0:-3}" "${!USERMODULES[@]}"; then
cp -f "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
else
rm -f "${RAMDISK_PATH}/usr/lib/modules/${M}"
fi
done
mkdir -p "${RAMDISK_PATH}/usr/lib/firmware"
gzip -dc "${CACHE_PATH}/modules/firmware.tgz" | tar xf - -C "${RAMDISK_PATH}/usr/lib/firmware"
gzip -dc "${MODULES_PATH}/firmware.tgz" | tar xf - -C "${RAMDISK_PATH}/usr/lib/firmware"
# Clean
rm -rf "${TMP_PATH}/modules"
@@ -109,6 +119,8 @@ echo -n "."
mkdir -p "${RAMDISK_PATH}/addons"
echo "#!/bin/sh" > "${RAMDISK_PATH}/addons/addons.sh"
echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh"
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
# Required eudev and dtbpatch/maxdisks
installAddon eudev
echo "/addons/eudev.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
@@ -123,12 +135,11 @@ fi
for ADDON in ${!ADDONS[@]}; do
PARAMS=${ADDONS[${ADDON}]}
if ! installAddon ${ADDON}; then
echo "ADDON ${ADDON} not found!" | tee "${LOG_FILE}"
echo "ADDON ${ADDON} not found!" | tee -a "${LOG_FILE}"
exit 1
fi
echo "/addons/${ADDON}.sh \${1} ${PARAMS}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
done
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
# Build modules dependencies
/opt/arpl/depmod -a -b ${RAMDISK_PATH} 2>/dev/null

View File

@@ -2,8 +2,10 @@
. /opt/arpl/include/functions.sh
set -o pipefail # Get exit code from process piped
# Sanity check
[ -f "${ORI_ZIMAGE_FILE}" ] || die "${ORI_ZIMAGE_FILE} not found!"
[ -f "${ORI_ZIMAGE_FILE}" ] || (die "${ORI_ZIMAGE_FILE} not found!" | tee -a "${LOG_FILE}")
echo -n "Patching zImage"
@@ -17,7 +19,6 @@ echo -n "."
echo -n "."
# rebuild zImage
/opt/arpl/vmlinux-to-bzImage.sh "${TMP_PATH}/vmlinux-mod" "${MOD_ZIMAGE_FILE}" >"${LOG_FILE}" 2>&1 || dieLog
echo -n "."
# Update HASH of new DSM zImage
HASH="`sha256sum ${ORI_ZIMAGE_FILE} | awk '{print$1}'`"

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