Compare commits

...

4 Commits

Author SHA1 Message Date
Fabio Belavenuto
3af65ffe91 Merge pull request #66 from fbelavenuto/dev
Addons misc and acpid installed by default
2022-08-01 14:20:09 -03:00
Fabio Belavenuto
12984cec6a Addons misc and acpid installed by default
Add remove flags restriction
2022-08-01 14:15:25 -03:00
Fabio Belavenuto
486ec72229 Merge pull request #65 from fbelavenuto/dev
Added samba
2022-07-29 16:26:44 -03:00
Fabio Belavenuto
b3fb638d69 Added samba
Validating netif_num
Gzip lkms
2022-07-29 16:21:02 -03:00
37 changed files with 88 additions and 45 deletions

2
TODO
View File

@@ -1,5 +1,4 @@
A fazer A fazer
- Validar netif_num e macX
- Descobrir como é o serial do DS2422+ - Descobrir como é o serial do DS2422+
- Estudar acrescentar modo simples e avançado do menu - Estudar acrescentar modo simples e avançado do menu
@@ -28,3 +27,4 @@ Concluidos:
- Acertar flag DIRTY ao atualizar módulos, etc - Acertar flag DIRTY ao atualizar módulos, etc
- Consertar MAC custom - Consertar MAC custom
- Mudar synoinfo para ler do modelo e preencher no user_config, para usuário poder deletar entradas do modelo - Mudar synoinfo para ler do modelo e preencher no user_config, para usuário poder deletar entradas do modelo
- Validar netif_num e macX

View File

@@ -1 +1 @@
0.3-alpha6 0.3-alpha7

View File

@@ -0,0 +1,18 @@
[global]
workgroup = WORKGROUP
server role = standalone server
obey pam restrictions = yes
map to guest = Bad User
usershare allow guests = yes
[arpl]
browseable = yes
public = yes
path = /mnt
guest ok = yes
printable = no
read only = no
writable = yes
create mask = 0600
directory mask = 0700
force user = root
force group = root

View File

@@ -48,6 +48,9 @@ MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`"
BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`" BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`"
SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`" SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`"
echo -e "Model: \033[1;36m${MODEL}\033[0m"
echo -e "Build: \033[1;36m${BUILD}\033[0m"
declare -A CMDLINE declare -A CMDLINE
# Fixed values # Fixed values
@@ -82,6 +85,17 @@ if [ "${BUS}" = "ata" ]; then
DOM="`readModelKey "${MODEL}" "dom"`" DOM="`readModelKey "${MODEL}" "dom"`"
fi fi
# Validate netif_num
NETIF_NUM=${CMDLINE["netif_num"]}
MACS=0
for N in `seq 1 4`; do
[ -n "${CMDLINE["mac${N}"]}" ] && MACS=$((${MACS}+1))
done
if [ ${NETIF_NUM} -ne ${MACS} ]; then
echo -e "\033[1;33m*** netif_num is not equal to macX amount, set netif_num to ${MACS} ***\033[0m"
CMDLINE["netif_num"]=${MACS}
fi
# Prepare command line # Prepare command line
CMDLINE_LINE="" CMDLINE_LINE=""
grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior " grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior "
@@ -96,9 +110,6 @@ done
# Escape special chars # Escape special chars
CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'` CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
# Inform user
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" echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m"
# Wait for an IP # Wait for an IP
@@ -121,7 +132,7 @@ done
echo -e "\033[1;37mLoading DSM kernel...\033[0m" echo -e "\033[1;37mLoading DSM kernel...\033[0m"
# Executes DSM kernel via KEXEC # Executes DSM kernel via KEXEC
history -a history -w
sync sync
if [ "${EFI_BUG}" = "yes" -a ${EFI} -eq 1 ]; then if [ "${EFI_BUG}" = "yes" -a ${EFI} -eq 1 ]; then
echo -e "\033[1;33mWarning, running kexec with --noefi param, strange things will happen!!\033[0m" echo -e "\033[1;33mWarning, running kexec with --noefi param, strange things will happen!!\033[0m"

View File

@@ -1,5 +1,5 @@
ARPL_VERSION="0.3-alpha6" ARPL_VERSION="0.3-alpha7"
# Define paths # Define paths
TMP_PATH="/tmp" TMP_PATH="/tmp"

View File

@@ -56,6 +56,8 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then
writeConfigKey "cmdline" "{}" "${USER_CONFIG_FILE}" writeConfigKey "cmdline" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}" writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}" writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "addons.misc" "" "${USER_CONFIG_FILE}"
writeConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}"
fi fi
# Set custom MAC if defined # Set custom MAC if defined

View File

@@ -58,40 +58,53 @@ function backtitle() {
############################################################################### ###############################################################################
# Shows available models to user choose one # Shows available models to user choose one
function modelMenu() { function modelMenu() {
ITEMS="" RESTRICT=1
while read M; do while true; do
M="`basename ${M}`" echo "" > "${TMP_PATH}/menu"
M="${M::-4}" FLGNEX=0
PLATFORM=`readModelKey "${M}" "platform"` while read M; do
DT="`readModelKey "${M}" "dt"`" M="`basename ${M}`"
# Check id model is compatible with CPU M="${M::-4}"
COMPATIBLE=1 PLATFORM=`readModelKey "${M}" "platform"`
for F in `readModelArray "${M}" "flags"`; do DT="`readModelKey "${M}" "dt"`"
if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then # Check id model is compatible with CPU
COMPATIBLE=0 COMPATIBLE=1
break if [ ${RESTRICT} -eq 1 ]; then
for F in `readModelArray "${M}" "flags"`; do
if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then
COMPATIBLE=0
FLGNEX=1
break
fi
done
fi fi
done [ "${DT}" = "true" ] && DT="-DT" || DT=""
[ "${DT}" = "true" ] && DT="-DT" || DT="" [ ${COMPATIBLE} -eq 1 ] && echo "${M} \"\Zb${PLATFORM}${DT}\Zn\" " >> "${TMP_PATH}/menu"
[ ${COMPATIBLE} -eq 1 ] && ITEMS+="${M} \Zb${PLATFORM}${DT}\Zn " done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort) [ ${FLGNEX} -eq 1 ] && echo "f \"\Z1Disable flags restriction\Zn\"" >> "${TMP_PATH}/menu"
dialog --backtitle "`backtitle`" --colors --menu "Choose the model" 0 0 0 \ dialog --backtitle "`backtitle`" --colors --menu "Choose the model" 0 0 0 \
${ITEMS} 2>${TMP_PATH}/resp --file "${TMP_PATH}/menu" 2>${TMP_PATH}/resp
[ $? -ne 0 ] && return [ $? -ne 0 ] && return
resp=$(<${TMP_PATH}/resp) resp=$(<${TMP_PATH}/resp)
[ -z "${resp}" ] && return [ -z "${resp}" ] && return
# If user change model, clean buildnumber and S/N if [ "${resp}" = "f" ]; then
if [ "${MODEL}" != "${resp}" ]; then RESTRICT=0
MODEL=${resp} continue
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}" fi
BUILD="" # If user change model, clean buildnumber and S/N
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}" if [ "${MODEL}" != "${resp}" ]; then
SN="" MODEL=${resp}
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
# Delete old files BUILD=""
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
DIRTY=1 SN=""
fi writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
# Delete old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}"
DIRTY=1
fi
break
done
} }
############################################################################### ###############################################################################
@@ -326,7 +339,7 @@ function cmdlineMenu() {
fi fi
ITEMS="" ITEMS=""
for I in "${!CMDLINE[@]}"; do for I in "${!CMDLINE[@]}"; do
ITEMS+="${I} ${CMDLINE[${I}]} off " [ -z "${CMDLINE[${I}]}" ] && ITEMS+="${I} \"\" off " || ITEMS+="${I} ${CMDLINE[${I}]} off "
done done
dialog --backtitle "`backtitle`" \ dialog --backtitle "`backtitle`" \
--checklist "Select cmdline to remove" 0 0 0 ${ITEMS} \ --checklist "Select cmdline to remove" 0 0 0 ${ITEMS} \
@@ -459,7 +472,7 @@ function synoinfoMenu() {
fi fi
ITEMS="" ITEMS=""
for I in "${!SYNOINFO[@]}"; do for I in "${!SYNOINFO[@]}"; do
ITEMS+="${I} ${SYNOINFO[${I}]} off " [ -z "${SYNOINFO[${I}]}" ] && ITEMS+="${I} \"\" off " || ITEMS+="${I} ${SYNOINFO[${I}]} off "
done done
dialog --backtitle "`backtitle`" \ dialog --backtitle "`backtitle`" \
--checklist "Select synoinfo entry to remove" 0 0 0 ${ITEMS} \ --checklist "Select synoinfo entry to remove" 0 0 0 ${ITEMS} \

View File

@@ -98,7 +98,7 @@ echo -n "."
# Copying fake modprobe # Copying fake modprobe
cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe" cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
# Copying LKM to /usr/lib/modules # Copying LKM to /usr/lib/modules
cp "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko" "${RAMDISK_PATH}/usr/lib/modules/rp.ko" gzip -dc "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko.gz" > "${RAMDISK_PATH}/usr/lib/modules/rp.ko"
# Addons # Addons
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"` MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`

Binary file not shown.

Binary file not shown.

View File

@@ -26,7 +26,6 @@ BR2_PACKAGE_BINUTILS_TARGET=y
BR2_PACKAGE_CPIO=y BR2_PACKAGE_CPIO=y
BR2_PACKAGE_DOSFSTOOLS=y BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_ACPID=y BR2_PACKAGE_ACPID=y
BR2_PACKAGE_KBD=y BR2_PACKAGE_KBD=y
@@ -45,6 +44,7 @@ BR2_PACKAGE_PCRE2=y
BR2_PACKAGE_DHCPCD=y BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_OPENSSH=y BR2_PACKAGE_OPENSSH=y
# BR2_PACKAGE_OPENSSH_CLIENT is not set # BR2_PACKAGE_OPENSSH_CLIENT is not set
BR2_PACKAGE_SAMBA4=y
BR2_PACKAGE_BASH_COMPLETION=y BR2_PACKAGE_BASH_COMPLETION=y
BR2_PACKAGE_DIALOG=y BR2_PACKAGE_DIALOG=y
BR2_PACKAGE_TTYD=y BR2_PACKAGE_TTYD=y
@@ -62,4 +62,3 @@ BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_R8168=y BR2_PACKAGE_R8168=y
BR2_PACKAGE_R8125=y BR2_PACKAGE_R8125=y