mirror of
https://github.com/RROrg/rr.git
synced 2025-08-21 20:17:11 +08:00
Compare commits
12 Commits
b315109838
...
6b1801f467
Author | SHA1 | Date | |
---|---|---|---|
|
6b1801f467 | ||
|
3ca821fc5b | ||
|
a30843853e | ||
|
2f238a6e79 | ||
|
961bdd8ce0 | ||
|
47b887989b | ||
|
8146948263 | ||
|
6a9bf08298 | ||
|
d49e27cf72 | ||
|
9d54bcf0bb | ||
|
0a681563eb | ||
|
bcd2d9f7b4 |
60
.github/workflows/issues.yml
vendored
60
.github/workflows/issues.yml
vendored
@ -130,7 +130,7 @@ jobs:
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
body: |
|
||||
Hi @${{ github.event.issue.user.login }}.
|
||||
RR-${{ env.model }} is being build and package and will be sent to your email later..
|
||||
RR-${{ env.model }} building ...
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
emoji: heart
|
||||
@ -233,25 +233,22 @@ jobs:
|
||||
if [ "${{ env.format }}" = "ova" ]; then
|
||||
. scripts/func.sh "${{ secrets.RRORG }}"
|
||||
convertova "rr/rr.img" "rr/rr.ova"
|
||||
ARTIFACTS="rr-${MODEL}-${TAG}-${{ github.run_id }}.ova.zip"
|
||||
(cd rr; sha256sum rr.ova >../sha256sum)
|
||||
zip -9 "${ARTIFACTS}" -j rr/rr.ova sha256sum
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.ova.zip" -j rr/rr.ova sha256sum
|
||||
elif [ "${{ env.format }}" = "vmdk" ]; then
|
||||
qemu-img convert rr/rr.img -O vmdk -o 'adapter_type=lsilogic,subformat=streamOptimized,compat6' rr/rr.vmdk
|
||||
(cd rr; sha256sum rr.vmdk >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vmdk.zip" -j rr/rr.vmdk sha256sum
|
||||
elif [ "${{ env.format }}" = "vhdx" ]; then
|
||||
qemu-img convert rr/rr.img -O vhdx -o subformat=dynamic rr/rr.vhdx
|
||||
(cd rr; sha256sum rr.vhdx >../sha256sum)
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.vhdx.zip" -j rr/rr.vhdx sha256sum
|
||||
else
|
||||
ARTIFACTS="rr-${MODEL}-${TAG}-${{ github.run_id }}.img.zip"
|
||||
(cd rr; sha256sum rr.img >../sha256sum)
|
||||
zip -9 "${ARTIFACTS}" -j rr/rr.img sha256sum
|
||||
zip -9 "rr-${MODEL}-${TAG}-${{ github.run_id }}.img.zip" -j rr/rr.img sha256sum
|
||||
fi
|
||||
# UPLOAD="$(curl -k -F "file=@${ARTIFACTS}" -F "token=${{ secrets.TT_TOKEN }}" -F "model=0" -X POST "https://tmp-cli.vx-cdn.com/app/upload_cli")"
|
||||
if echo "${UPLOAD}" | grep -q "Download Page"; then
|
||||
DLURL="$(echo "${UPLOAD}" | grep "Download Page" | head -1)"
|
||||
else
|
||||
DLURL="${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} - Actions artifacts."
|
||||
fi
|
||||
EMAIL=$(curl -s -H "Authorization: token ${{ secrets.ACTION }}" "https://api.github.com/users/${{ github.event.issue.user.login }}" | jq -r '.email')
|
||||
|
||||
echo "TAG=${TAG}" >> $GITHUB_ENV
|
||||
echo "EMAIL=${EMAIL}" >> $GITHUB_ENV
|
||||
echo "DLURL=${DLURL}" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload to Artifacts
|
||||
if: env.iscustom == 'true' && success()
|
||||
@ -262,22 +259,8 @@ jobs:
|
||||
rr-${{ env.model }}-${{ env.TAG }}*.zip
|
||||
retention-days: 5
|
||||
|
||||
- name: Send mail
|
||||
if: env.iscustom == 'true' && success() && env.EMAIL != 'null'
|
||||
uses: dawidd6/action-send-mail@v3
|
||||
with:
|
||||
server_address: smtp-mail.outlook.com
|
||||
server_port: 587
|
||||
username: ${{ secrets.MAIL_USERNAME }}
|
||||
password: ${{ secrets.MAIL_PASSWORD }}
|
||||
subject: rr-${{ env.model }}-${{ env.TAG }}
|
||||
to: ${{ env.EMAIL }}
|
||||
from: ${{ secrets.MAIL_USERNAME }}
|
||||
body: |
|
||||
${{ env.DLURL }}
|
||||
|
||||
- name: Update Comment Success
|
||||
if: env.iscustom == 'true' && success() && env.EMAIL != 'null'
|
||||
if: env.iscustom == 'true' && success()
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'update-comment'
|
||||
@ -286,22 +269,7 @@ jobs:
|
||||
update-mode: replace
|
||||
body: |
|
||||
Hi @${{ github.event.issue.user.login }}.
|
||||
RR-${{ env.model }} has been sent to your email.
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
emoji: hooray
|
||||
|
||||
- name: Update Comment Success
|
||||
if: env.iscustom == 'true' && success() && env.EMAIL == 'null'
|
||||
uses: actions-cool/issues-helper@v3
|
||||
with:
|
||||
actions: 'update-comment'
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
comment-id: ${{ steps.comment.outputs.comment-id }}
|
||||
update-mode: replace
|
||||
body: |
|
||||
Hi @${{ github.event.issue.user.login }}.
|
||||
${{ env.DLURL }}
|
||||
RR-${{ env.model }} build success, please download the attachment from the below link.
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
emoji: hooray
|
||||
@ -324,7 +292,7 @@ jobs:
|
||||
update-mode: replace
|
||||
body: |
|
||||
Hi @${{ github.event.issue.user.login }}.
|
||||
RR-${{ env.model }} failed to build and package, please try again.
|
||||
RR-${{ env.model }} build failed, please try again.
|
||||
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
----
|
||||
emoji: confused
|
BIN
docs/addons.xlsx
BIN
docs/addons.xlsx
Binary file not shown.
@ -208,6 +208,7 @@
|
||||
</script>
|
||||
|
||||
<title>RR-CUSTOM</title>
|
||||
<link rel="icon" href="https://avatars.githubusercontent.com/u/151816514?s=200&v=4">
|
||||
</head>
|
||||
|
||||
<body class="logged-in env-production page-responsive" style="word-wrap: break-word">
|
||||
@ -235,8 +236,10 @@
|
||||
<div class="flex-auto min-width-0 width-fit mr-3">
|
||||
<div class="d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
|
||||
<a id="titleA" href="https://github.com/RROrg/rr">
|
||||
<img alt="GitHub Release" src="https://img.shields.io/github/v/release/rrorg/rr?include_prereleases&style=flat-square&label=current">
|
||||
<img alt="GitHub Issues" src="https://img.shields.io/github/issues-closed-raw/rrorg/rr/custom?style=flat-square&label=custom">
|
||||
<img alt="GitHub Release"
|
||||
src="https://img.shields.io/github/v/release/rrorg/rr?include_prereleases&style=flat-square&label=current">
|
||||
<img alt="GitHub Issues"
|
||||
src="https://img.shields.io/github/issues-closed-raw/rrorg/rr/custom?style=flat-square&label=custom">
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-link tabnav-tab preview-tab js-preview-tab flex-1 flex-md-auto width-full">
|
||||
@ -263,6 +266,8 @@
|
||||
value="">
|
||||
<option selected="selected" value="img">img</option>
|
||||
<option value="ova">ova</option>
|
||||
<option value="vmdk">vmdk</option>
|
||||
<option value="vhdx">vhdx</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
@ -316,6 +321,7 @@
|
||||
<div class="form-group mt-1 mb-2 ">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Addons:</label>
|
||||
<a href="https://github.com/RROrg/rr/raw/main/docs/addons.xlsx"> Details</a>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<textarea class="textarea-style input-contrast input-sm" type="text" id="addons" name="inputs[addons]"
|
||||
@ -327,6 +333,7 @@
|
||||
<div class="form-group mt-1 mb-2 ">
|
||||
<div class="form-group-header">
|
||||
<label class="color-fg-default text-mono f6">Modules:</label>
|
||||
<a href="https://github.com/RROrg/rr/raw/main/docs/modules.xlsx"> Details</a>
|
||||
</div>
|
||||
<div class="form-group-body">
|
||||
<textarea class="textarea-style input-contrast input-sm" type="text" id="modules" name="inputs[modules]"
|
||||
|
BIN
docs/models.xlsx
BIN
docs/models.xlsx
Binary file not shown.
@ -974,6 +974,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -3030,6 +3034,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -5030,6 +5038,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -7030,6 +7042,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -9034,6 +9050,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -11038,6 +11058,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -12136,6 +12160,10 @@
|
||||
"description": "Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI driver (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -13310,6 +13338,10 @@
|
||||
"description": "Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI driver (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -15435,6 +15467,10 @@
|
||||
"description": "Dell PERC2, 2/Si, 3/Si, 3/Di, Adaptec Advanced Raid Products, HP NetRAID-4M, IBM ServeRAID & ICP SCSI driver (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -17475,6 +17511,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -19483,6 +19523,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
@ -21503,6 +21547,10 @@
|
||||
"description": "ACPI Processor P-States Driver",
|
||||
"depends": "processor"
|
||||
},
|
||||
"acpi_call": {
|
||||
"description": "ACPI method caller (Compiled by RR for DSM)",
|
||||
"depends": ""
|
||||
},
|
||||
"adm1021": {
|
||||
"description": "adm1021 driver",
|
||||
"depends": ""
|
||||
|
Binary file not shown.
@ -119,8 +119,8 @@ else
|
||||
CMDLINE['noefi']=""
|
||||
fi
|
||||
DT="$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 5 ]; then
|
||||
if [ ! "${BUS}" = "usb" ]; then
|
||||
SZ=$(blockdev --getsz ${LOADER_DISK} 2>/dev/null) # SZ=$(cat /sys/block/${LOADER_DISK/\/dev\//}/size)
|
||||
@ -162,6 +162,10 @@ if [ "${DT}" = "true" ] && ! echo "epyc7002 purley broadwellnkv2" | grep -wq "${
|
||||
[ ! "${CMDLINE['modprobe.blacklist']}" = "" ] && CMDLINE['modprobe.blacklist']+=","
|
||||
CMDLINE['modprobe.blacklist']+="mpt3sas"
|
||||
fi
|
||||
if true; then
|
||||
[ ! "${CMDLINE['modprobe.blacklist']}" = "" ] && CMDLINE['modprobe.blacklist']+=","
|
||||
CMDLINE['modprobe.blacklist']+="evbug"
|
||||
fi
|
||||
if echo "apollolake geminilake" | grep -wq "${PLATFORM}"; then
|
||||
CMDLINE["intel_iommu"]="igfx_off"
|
||||
fi
|
||||
@ -169,6 +173,16 @@ if echo "purley broadwellnkv2" | grep -wq "${PLATFORM}"; then
|
||||
CMDLINE["SASmodel"]="1"
|
||||
fi
|
||||
|
||||
if echo "apollolake geminilake purley" | grep -wq "${PLATFORM}"; then
|
||||
if grep -q "^flags.*x2apic.*" /proc/cpuinfo; then
|
||||
eval $(grep -o "RR_CMDLINE=.*$" "${USER_GRUB_CONFIG}")
|
||||
[ -z "${RR_CMDLINE}" ] && RR_CMDLINE="bzImage-rr"
|
||||
echo "${RR_CMDLINE}" | grep -q 'nox2apic' || sed -i "s|${RR_CMDLINE}|${RR_CMDLINE} nox2apic|" "${USER_GRUB_CONFIG}"
|
||||
fi
|
||||
else
|
||||
grep -q ' nox2apic' "${USER_GRUB_CONFIG}" && sed -i "s| nox2apic||" "${USER_GRUB_CONFIG}"
|
||||
fi
|
||||
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["network.${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "network" "${USER_CONFIG_FILE}")
|
||||
@ -217,6 +231,9 @@ else
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
[ ! -f /var/run/dhcpcd/pid ] && /etc/init.d/S41dhcpcd restart >/dev/null 2>&1 || true
|
||||
|
||||
echo "$(TEXT "Waiting IP.")"
|
||||
for N in ${ETHX}; do
|
||||
COUNT=0
|
||||
|
@ -1,4 +1,4 @@
|
||||
RR_VERSION="24.6.7"
|
||||
RR_VERSION="24.6.9"
|
||||
RR_RELEASE=""
|
||||
RR_TITLE="RR v${RR_VERSION}"
|
||||
|
||||
|
@ -218,60 +218,35 @@ function _sort_netif() {
|
||||
BUS="$(ethtool -i ${ETH} 2>/dev/null | grep bus-info | cut -d' ' -f2)"
|
||||
ETHLIST="${ETHLIST}${BUS} ${MAC} ${ETH}\n"
|
||||
done
|
||||
|
||||
ETHLISTTMPM=""
|
||||
ETHLISTTMPB="$(echo -e "${ETHLIST}" | sort)"
|
||||
if [ -n "${1}" ]; then
|
||||
MACS="$(echo "${1}" | sed 's/://g' | tr '[:upper:]' '[:lower:]' | tr ',' ' ')"
|
||||
ETHLISTTMPC=""
|
||||
ETHLISTTMPF=""
|
||||
|
||||
for MACX in ${MACS}; do
|
||||
ETHLISTTMPC="${ETHLISTTMPC}$(echo -e "${ETHLIST}" | grep "${MACX}")\n"
|
||||
ETHLISTTMPM="${ETHLISTTMPM}$(echo -e "${ETHLISTTMPB}" | grep "${MACX}")\n"
|
||||
ETHLISTTMPB="$(echo -e "${ETHLISTTMPB}" | grep -v "${MACX}")\n"
|
||||
done
|
||||
|
||||
while read -r BUS MAC ETH; do
|
||||
[ -z "${MAC}" ] && continue
|
||||
if echo "${MACS}" | grep -q "${MAC}"; then continue; fi
|
||||
ETHLISTTMPF="${ETHLISTTMPF}${BUS} ${MAC} ${ETH}\n"
|
||||
done <<EOF
|
||||
$(echo -e ${ETHLIST} | sort)
|
||||
EOF
|
||||
ETHLIST="${ETHLISTTMPC}${ETHLISTTMPF}"
|
||||
else
|
||||
ETHLIST="$(echo -e "${ETHLIST}" | sort)"
|
||||
fi
|
||||
ETHLIST="$(echo -e "${ETHLIST}" | grep -v '^$')"
|
||||
|
||||
echo -e "${ETHLIST}" >${TMP_PATH}/ethlist
|
||||
# cat ${TMP_PATH}/ethlist
|
||||
ETHLIST="$(echo -e "${ETHLISTTMPM}${ETHLISTTMPB}" | grep -v '^$')"
|
||||
ETHSEQ="$(echo -e "${ETHLIST}" | awk '{print $3}' | sed 's/eth//g')"
|
||||
ETHNUM="$(echo -e "${ETHLIST}" | wc -l)"
|
||||
|
||||
# echo "${ETHSEQ}"
|
||||
# sort
|
||||
IDX=0
|
||||
while true; do
|
||||
# cat ${TMP_PATH}/ethlist
|
||||
[ ${IDX} -ge $(wc -l <${TMP_PATH}/ethlist) ] && break
|
||||
ETH="$(cat ${TMP_PATH}/ethlist | sed -n "$((${IDX} + 1))p" | cut -d' ' -f3)"
|
||||
# echo "ETH: ${ETH}"
|
||||
if [ -n "${ETH}" ] && [ ! "${ETH}" = "eth${IDX}" ]; then
|
||||
# echo "change ${ETH} <=> eth${IDX}"
|
||||
ip link set dev eth${IDX} down
|
||||
ip link set dev ${ETH} down
|
||||
sleep 1
|
||||
ip link set dev eth${IDX} name ethN
|
||||
ip link set dev ${ETH} name eth${IDX}
|
||||
ip link set dev ethN name ${ETH}
|
||||
sleep 1
|
||||
ip link set dev eth${IDX} up
|
||||
ip link set dev ${ETH} up
|
||||
sleep 1
|
||||
sed -i "s/eth${IDX}/ethN/" ${TMP_PATH}/ethlist
|
||||
sed -i "s/${ETH}/eth${IDX}/" ${TMP_PATH}/ethlist
|
||||
sed -i "s/ethN/${ETH}/" ${TMP_PATH}/ethlist
|
||||
sleep 1
|
||||
fi
|
||||
IDX=$((${IDX} + 1))
|
||||
done
|
||||
|
||||
rm -f ${TMP_PATH}/ethlist
|
||||
if [ ! "${ETHSEQ}" = "$(seq 0 $((${ETHNUM:0} - 1)))" ]; then
|
||||
/etc/init.d/S41dhcpcd stop >/dev/null 2>&1
|
||||
/etc/init.d/S40network stop >/dev/null 2>&1
|
||||
for i in $(seq 0 $((${ETHNUM:0} - 1))); do
|
||||
ip link set dev eth${i} name tmp${i}
|
||||
done
|
||||
I=0
|
||||
for i in ${ETHSEQ}; do
|
||||
ip link set dev tmp${i} name eth${I}
|
||||
I=$((${I} + 1))
|
||||
done
|
||||
/etc/init.d/S40network start >/dev/null 2>&1
|
||||
/etc/init.d/S41dhcpcd start >/dev/null 2>&1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
@ -280,12 +255,14 @@ EOF
|
||||
# 1 - device path
|
||||
function getBus() {
|
||||
BUS=""
|
||||
# xvd
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | grep -q "xen" && echo "xen")
|
||||
# usb/ata(sata/ide)/scsi
|
||||
[ -z "${BUS}" ] && BUS=$(udevadm info --query property --name "${1}" 2>/dev/null | grep ID_BUS | cut -d= -f2 | sed 's/ata/sata/')
|
||||
# usb/sata(sata/ide)/nvme
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,TRAN 2>/dev/null | grep "${1} " | awk '{print $2}') #Spaces are intentional
|
||||
# usb/scsi(sata/ide)/virtio(scsi/virtio)/mmc/nvme
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | awk -F':' '{print $(NF-1)}' | sed 's/_host//') #Spaces are intentional
|
||||
[ -z "${BUS}" ] && BUS=$(lsblk -dpno KNAME,SUBSYSTEMS 2>/dev/null | grep "${1} " | awk '{print $2}' | awk -F':' '{print $(NF-1)}' | sed 's/_host//') # Spaces are intentional
|
||||
echo "${BUS}"
|
||||
return 0
|
||||
}
|
||||
@ -312,7 +289,7 @@ function getIP() {
|
||||
function getLogo() {
|
||||
MODEL="${1}"
|
||||
rm -f "${PART3_PATH}/logo.png"
|
||||
fastest=$(_get_fastest "www.synology.com" "www.synology.cn")
|
||||
fastest="www.synology.com" # $(_get_fastest "www.synology.com" "www.synology.cn")
|
||||
if [ $? -ne 0 ]; then
|
||||
return 1
|
||||
fi
|
||||
|
@ -79,7 +79,6 @@ fi
|
||||
if [ ! "LOCALBUILD" = "${LOADER_DISK}" ]; then
|
||||
if arrayExistItem "sortnetif:" $(readConfigMap "addons" "${USER_CONFIG_FILE}"); then
|
||||
_sort_netif "$(readConfigKey "addons.sortnetif" "${USER_CONFIG_FILE}")"
|
||||
/etc/init.d/S41dhcpcd restart
|
||||
fi
|
||||
for ETH in ${ETHX}; do
|
||||
[ "${ETH::4}" = "wlan" ] && connectwlanif "${ETH}" && sleep 1
|
||||
@ -108,7 +107,7 @@ PID="0x0001"
|
||||
TYPE="DoM"
|
||||
BUS=$(getBus "${LOADER_DISK}")
|
||||
|
||||
BUSLIST="usb sata scsi nvme mmc"
|
||||
BUSLIST="usb sata scsi nvme mmc xen"
|
||||
if [ "${BUS}" = "usb" ]; then
|
||||
VID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_VENDOR_ID | cut -d= -f2)"
|
||||
PID="0x$(udevadm info --query property --name ${LOADER_DISK} 2>/dev/null | grep ID_MODEL_ID | cut -d= -f2)"
|
||||
@ -118,7 +117,7 @@ elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
|
||||
echo "LOCALBUILD MODE"
|
||||
TYPE="PC"
|
||||
else
|
||||
die "$(TEXT "Loader disk neither USB or SATA/SCSI/NVME/MMC DoM")"
|
||||
die "$(TEXT "Loader disk neither USB or SATA/SCSI/NVME/MMC/XEN DoM")"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -173,6 +172,9 @@ while [ ${COUNT} -lt 30 ]; do
|
||||
echo -n "."
|
||||
sleep 1
|
||||
done
|
||||
|
||||
[ ! -f /var/run/dhcpcd/pid ] && /etc/init.d/S41dhcpcd restart >/dev/null 2>&1 || true
|
||||
|
||||
echo "$(TEXT "Waiting IP.")"
|
||||
for N in ${ETHX}; do
|
||||
COUNT=0
|
||||
|
@ -167,7 +167,7 @@ function modelMenu() {
|
||||
# If user change model, clean build* and pat* and SN
|
||||
if [ "${MODEL}" != "${resp}" ]; then
|
||||
PLATFORM="$(grep -w "${resp}" "${TMP_PATH}/modellist" | awk '{print $2}' | head -n 1)"
|
||||
MODEL=${resp}
|
||||
MODEL="${resp}"
|
||||
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
MODELID=""
|
||||
@ -180,7 +180,7 @@ function modelMenu() {
|
||||
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "paturl" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "patsum" "" "${USER_CONFIG_FILE}"
|
||||
SN=$(generateSerial "${MODEL}")
|
||||
SN="$(generateSerial "${MODEL}")"
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
NETIF_NUM=2
|
||||
MACS=($(generateMacAddress "${MODEL}" ${NETIF_NUM}))
|
||||
@ -329,8 +329,8 @@ function productversMenu() {
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
||||
# Check addons
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||
@ -369,12 +369,12 @@ function setConfigFromDSM() {
|
||||
PS="$(readConfigEntriesArray "platforms" "${WORK_PATH}/platforms.yml" | sort)"
|
||||
VS="$(readConfigEntriesArray "platforms.${PLATFORMTMP,,}.productvers" "${WORK_PATH}/platforms.yml" | sort -r)"
|
||||
if arrayExistItem "${PLATFORMTMP,,}" ${PS} && arrayExistItem "${majorversion}.${minorversion}" ${VS}; then
|
||||
PLATFORM=${PLATFORMTMP,,}
|
||||
MODEL=$(echo ${MODELTMP} | sed 's/d$/D/; s/rp$/RP/; s/rp+/RP+/')
|
||||
MODELID=${MODELTMP}
|
||||
PRODUCTVER=${majorversion}.${minorversion}
|
||||
BUILDNUM=${buildnumber}
|
||||
SMALLNUM=${smallfixnumber}
|
||||
PLATFORM="${PLATFORMTMP,,}"
|
||||
MODEL="$(echo ${MODELTMP} | sed 's/d$/D/; s/rp$/RP/; s/rp+/RP+/')"
|
||||
MODELID="${MODELTMP}"
|
||||
PRODUCTVER="${majorversion}.${minorversion}"
|
||||
BUILDNUM="${buildnumber}"
|
||||
SMALLNUM="${smallfixnumber}"
|
||||
else
|
||||
echo "$(printf "$(TEXT "Currently, %s is not supported.")" "${MODELTMP}-${majorversion}.${minorversion}")" >"${LOG_FILE}"
|
||||
return 1
|
||||
@ -385,7 +385,7 @@ function setConfigFromDSM() {
|
||||
writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "modelid" "${MODELID}" "${USER_CONFIG_FILE}"
|
||||
SN=$(generateSerial "${MODEL}")
|
||||
SN="$(generateSerial "${MODEL}")"
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
NETIF_NUM=2
|
||||
MACS=($(generateMacAddress "${MODEL}" ${NETIF_NUM}))
|
||||
@ -407,8 +407,8 @@ function setConfigFromDSM() {
|
||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
|
||||
|
||||
# Check addons
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
|
||||
@ -516,8 +516,8 @@ function ParsePat() {
|
||||
# Manage addons
|
||||
function addonMenu() {
|
||||
# Read 'platform' and kernel version to check if addon exists
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
|
||||
NEXT="a"
|
||||
# Loop menu
|
||||
@ -654,8 +654,8 @@ function addonMenu() {
|
||||
|
||||
###############################################################################
|
||||
function moduleMenu() {
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
NEXT="c"
|
||||
# loop menu
|
||||
while true; do
|
||||
@ -1686,13 +1686,13 @@ function showDisksInfo() {
|
||||
# Format disk
|
||||
function formatDisks() {
|
||||
rm -f "${TMP_PATH}/opts"
|
||||
while read KNAME ID PKNAME; do
|
||||
while read KNAME ID SIZE TYPE PKNAME; do
|
||||
[ -z "${KNAME}" ] && continue
|
||||
[[ "${KNAME}" = /dev/md* ]] && continue
|
||||
[ "${KNAME}" = "${LOADER_DISK}" -o "${PKNAME}" = "${LOADER_DISK}" ] && continue
|
||||
[ -z "${ID}" ] && ID="Unknown"
|
||||
echo "\"${KNAME}\" \"${ID}\" \"off\"" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -pno KNAME,ID,PKNAME)
|
||||
printf "\"%s\" \"%-6s %-4s %s\" \"off\"\n" "${KNAME}" "${SIZE}" "${TYPE}" "${ID}" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -pno KNAME,ID,SIZE,TYPE,PKNAME)
|
||||
if [ ! -f "${TMP_PATH}/opts" ]; then
|
||||
DIALOG --title "$(TEXT "Advanced")" \
|
||||
--msgbox "$(TEXT "No disk found!")" 0 0
|
||||
@ -1797,7 +1797,7 @@ function tryRecoveryDSM() {
|
||||
fi
|
||||
|
||||
if [ -f "${TMP_PATH}/mdX/etc/synoinfo.conf" ]; then
|
||||
R_SN=$(_get_conf_kv SN "${TMP_PATH}/mdX/etc/synoinfo.conf")
|
||||
R_SN="$(_get_conf_kv SN "${TMP_PATH}/mdX/etc/synoinfo.conf")"
|
||||
[ -n "${R_SN}" ] && SN=${R_SN} && writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
|
||||
@ -2910,8 +2910,8 @@ function updateRR() {
|
||||
cp -Rf "${TMP_PATH}/update/${VALUE}"/* "${VALUE}"
|
||||
if [ "$(realpath "${VALUE}")" = "$(realpath "${MODULES_PATH}")" ]; then
|
||||
if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
@ -3044,8 +3044,8 @@ function updateModules() {
|
||||
rm -rf "${MODULES_PATH}/"*
|
||||
cp -rf "${TMP_PATH}/update/"* "${MODULES_PATH}/"
|
||||
if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
@ -3166,8 +3166,8 @@ function updateCKs() {
|
||||
rm -rf "${CKS_PATH}/"*
|
||||
cp -rf "${TMP_PATH}/update/"* "${CKS_PATH}/"
|
||||
if [ -n "${MODEL}" -a -n "${PRODUCTVER}" -a "${KERNEL}" = "custom" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
@ -3394,8 +3394,8 @@ else
|
||||
fi
|
||||
echo "u \"$(TEXT "Parse pat")\"" >>"${TMP_PATH}/menu"
|
||||
if [ -n "${PRODUCTVER}" ]; then
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
|
||||
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
|
||||
echo "s \"$(TEXT "Kernel:") \Z4${KERNEL}\Zn\"" >>"${TMP_PATH}/menu"
|
||||
@ -3559,7 +3559,7 @@ else
|
||||
b)
|
||||
DIALOG --title "$(TEXT "Main menu")" \
|
||||
--infobox "$(TEXT "Reboot to BIOS")" 0 0
|
||||
efibootmgr -n 0000
|
||||
efibootmgr -n 0000 >/dev/null 2>&1
|
||||
reboot
|
||||
exit 0
|
||||
;;
|
||||
|
@ -12,6 +12,9 @@ N kvm-intel.ko
|
||||
N kvm-amd.ko
|
||||
N kvm.ko
|
||||
|
||||
# acpi
|
||||
N acpi_call.ko
|
||||
|
||||
# sensors
|
||||
N coretemp.ko
|
||||
N k10temp.ko
|
||||
|
@ -72,8 +72,8 @@ writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
|
||||
|
||||
echo -n "."
|
||||
# Read model data
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
|
||||
# Sanity check
|
||||
if [ -z "${PLATFORM}" -o -z "${KVER}" ]; then
|
||||
|
@ -7,8 +7,8 @@
|
||||
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
|
||||
# Adapted from: scripts/Makefile.lib
|
||||
# Usage: size_append FILE [FILE2] [FILEn]...
|
||||
|
@ -21,8 +21,8 @@ if [ "${KERNEL}" = "custom" ]; then
|
||||
echo -n "."
|
||||
PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")"
|
||||
PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kpre" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
# Extract bzImage
|
||||
gzip -dc "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" >"${MOD_ZIMAGE_FILE}"
|
||||
else
|
||||
|
@ -1 +1 @@
|
||||
24.6.7
|
||||
24.6.9
|
||||
|
@ -34,7 +34,7 @@ function create() {
|
||||
fi
|
||||
|
||||
sudo apt update
|
||||
sudo apt install -y locales busybox dialog curl xz-utils cpio sed
|
||||
sudo apt install -y locales busybox dialog curl xz-utils cpio sed qemu-utils
|
||||
sudo locale-gen ar_SA.UTF-8 de_DE.UTF-8 en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 ja_JP.UTF-8 ko_KR.UTF-8 ru_RU.UTF-8 th_TH.UTF-8 tr_TR.UTF-8 uk_UA.UTF-8 vi_VN.UTF-8 zh_CN.UTF-8 zh_HK.UTF-8 zh_TW.UTF-8
|
||||
|
||||
YQ=$(command -v yq)
|
||||
|
@ -373,6 +373,8 @@ extendedConfigFile = "${VMNAME}.vmxf"
|
||||
floppy0.present = "FALSE"
|
||||
ethernet0.addressType = "generated"
|
||||
ethernet0.virtualDev = "vmxnet3"
|
||||
ethernet0.connectionType = "nat"
|
||||
ethernet0.allowguestconnectioncontrol = "true"
|
||||
ethernet0.present = "TRUE"
|
||||
sata0.present = "TRUE"
|
||||
sata0:0.fileName = "${VMNAME}-disk1.vmdk"
|
||||
|
Loading…
x
Reference in New Issue
Block a user