mirror of
https://github.com/raspiblitz/raspiblitz.git
synced 2025-11-23 04:17:32 +01:00
Compare commits
19 Commits
fuclrum-me
...
5098-api
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5a1336460b | ||
|
|
92dff6566f | ||
|
|
6ccfe78b33 | ||
|
|
33e7ad4fd2 | ||
|
|
2b048da0c8 | ||
|
|
fbaa8ccb3c | ||
|
|
8a99aa89cd | ||
|
|
dbd28cef29 | ||
|
|
e1ab2dd004 | ||
|
|
8059255736 | ||
|
|
5f3122e493 | ||
|
|
e81064ee87 | ||
|
|
06f386718a | ||
|
|
1c90b2deb4 | ||
|
|
a4e128625b | ||
|
|
8b57e364cd | ||
|
|
00e0cee851 | ||
|
|
eb7e38170e | ||
|
|
00f34e1c08 |
@@ -13,8 +13,9 @@ Features:
|
|||||||
- Update: RaspberryOS arm64 base image 2025-05-13 (Debian 12 Bookworm) [details](https://downloads.raspberrypi.com/raspios_full_arm64/release_notes.txt)
|
- Update: RaspberryOS arm64 base image 2025-05-13 (Debian 12 Bookworm) [details](https://downloads.raspberrypi.com/raspios_full_arm64/release_notes.txt)
|
||||||
- Update: amd64 base image: debian-12.8.0-amd64-netinst.iso [details](https://www.debian.org/releases/stable/amd64/release-notes/ch-whats-new.en.html)
|
- Update: amd64 base image: debian-12.8.0-amd64-netinst.iso [details](https://www.debian.org/releases/stable/amd64/release-notes/ch-whats-new.en.html)
|
||||||
- Update: Bitcoin Core v29.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-29.0.md)
|
- Update: Bitcoin Core v29.0 [details](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-29.0.md)
|
||||||
- Update: LND v0.19.1-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.19.1-beta)
|
- Update: Core Lightning v25.05 [details](https://github.com/ElementsProject/lightning/releases/tag/v25.05)
|
||||||
- Update: LNbits 1.1.0 [details](https://github.com/lnbits/lnbits/releases/tag/v1.1.0)
|
- Update: LND v0.19.2-beta [details](https://github.com/lightningnetwork/lnd/releases/tag/v0.19.2-beta)
|
||||||
|
- Update: LNbits 1.2.1 [details](https://github.com/lnbits/lnbits/releases/tag/v1.2.0)
|
||||||
- Update: AlbyHub v1.17.2 [details](https://github.com/getAlby/hub/releases/tag/v1.17.2)
|
- Update: AlbyHub v1.17.2 [details](https://github.com/getAlby/hub/releases/tag/v1.17.2)
|
||||||
- Update: Lightning Terminal v0.14.1-alpha [details](https://github.com/lightninglabs/lightning-terminal/releases/tag/v0.14.1-alpha)
|
- Update: Lightning Terminal v0.14.1-alpha [details](https://github.com/lightninglabs/lightning-terminal/releases/tag/v0.14.1-alpha)
|
||||||
- Update: Mempool 3.2.1 [details](hhttps://github.com/mempool/mempool/releases/tag/v3.2.1)
|
- Update: Mempool 3.2.1 [details](hhttps://github.com/mempool/mempool/releases/tag/v3.2.1)
|
||||||
@@ -27,6 +28,7 @@ Features:
|
|||||||
- Update: Helipad (Podcasting 2.0 Boostagram reader) v0.2.1 [details](https://github.com/Podcastindex-org/helipad/)
|
- Update: Helipad (Podcasting 2.0 Boostagram reader) v0.2.1 [details](https://github.com/Podcastindex-org/helipad/)
|
||||||
- Update: Jam (JoinMarket Web UI) v0.4.0 [details](https://github.com/joinmarket-webui/jam/releases/tag/v0.4.0)
|
- Update: Jam (JoinMarket Web UI) v0.4.0 [details](https://github.com/joinmarket-webui/jam/releases/tag/v0.4.0)
|
||||||
- Update: JoininBox v0.8.4 [details](https://github.com/openoms/joininbox/releases/tag/v0.8.4)
|
- Update: JoininBox v0.8.4 [details](https://github.com/openoms/joininbox/releases/tag/v0.8.4)
|
||||||
|
- Update: BTC-RPC-Explorer v3.5.1 [details](https://github.com/janoside/btc-rpc-explorer/blob/master/CHANGELOG.md#v351)
|
||||||
- Remove: Migration from Umbrel, MyNode, Citadel (because of new drive layout with boot option)
|
- Remove: Migration from Umbrel, MyNode, Citadel (because of new drive layout with boot option)
|
||||||
|
|
||||||
## What's new in Version 1.11.4 of RaspiBlitz?
|
## What's new in Version 1.11.4 of RaspiBlitz?
|
||||||
|
|||||||
@@ -688,6 +688,7 @@ sudo -u bitcoin cp -r /etc/skel/. /home/bitcoin/
|
|||||||
echo "bitcoin:raspiblitz" | chpasswd
|
echo "bitcoin:raspiblitz" | chpasswd
|
||||||
# make home directory readable
|
# make home directory readable
|
||||||
chmod 755 /home/bitcoin
|
chmod 755 /home/bitcoin
|
||||||
|
usermod -a -G bitcoin admin
|
||||||
|
|
||||||
# WRITE BASIC raspiblitz.info to sdcard
|
# WRITE BASIC raspiblitz.info to sdcard
|
||||||
# if further info gets added .. make sure to keep that on: blitz.release.sh
|
# if further info gets added .. make sure to keep that on: blitz.release.sh
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ https://github.com/rootzoll/raspiblitz/actions/workflows/amd64-lean-image.yml?qu
|
|||||||
sudo wipefs --all ${disk}
|
sudo wipefs --all ${disk}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Option 1 - rite the .qcow2 file directly to disk with `qemu-image dd`
|
#### Option 1 - write the .qcow2 file directly to disk with `qemu-image dd`
|
||||||
* requires less disk space - the .qcow2 volume is 8.1 GB
|
* requires less disk space - the .qcow2 volume is 8.1 GB
|
||||||
```
|
```
|
||||||
sudo qemu-img dd if=./raspiblitz-amd64-debian-lean.qcow2 of=${disk} bs=4M
|
sudo qemu-img dd if=./raspiblitz-amd64-debian-lean.qcow2 of=${disk} bs=4M
|
||||||
|
|||||||
@@ -387,7 +387,7 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# Transaction Index
|
# Transaction Index
|
||||||
source <(/home/admin/config.scripts/network.txindex.sh status)
|
source <(sudo /home/admin/config.scripts/network.txindex.sh status)
|
||||||
if [ "${txindex}" == "1" ] && [ "${isIndexed}" != "1" ]; then
|
if [ "${txindex}" == "1" ] && [ "${isIndexed}" != "1" ]; then
|
||||||
appInfoLine="Transaction Index: ${indexInfo}"
|
appInfoLine="Transaction Index: ${indexInfo}"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ while :
|
|||||||
source <(/home/admin/config.scripts/network.aliases.sh getvars)
|
source <(/home/admin/config.scripts/network.aliases.sh getvars)
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${setupPhase}" != "done" ] || [ "${state}" == "reboot" ] || [ "${state}" == "shutdown" ] || [ "${state}" == "copytarget" ] || [ "${state}" == "copysource" ]; then
|
if [ "${setupPhase}" != "done" ] || [ "${state}" == "reboot" ] || [ "${state}" == "shutdown" ] || [ "${state}" == "copytarget" ] || [ "${state}" == "copysource" ] || [ "${state}" = "storageisfull" ] || [ "${state}" = "dataisfull" ]; then
|
||||||
|
|
||||||
# show status info during boot & setup & repair on LCD
|
# show status info during boot & setup & repair on LCD
|
||||||
if [ "${state}" == "" ]; then
|
if [ "${state}" == "" ]; then
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ fi
|
|||||||
OPTIONS+=(REINDEX-UTXO "Redindex Just Bitcoin Chainstate (Fast)")
|
OPTIONS+=(REINDEX-UTXO "Redindex Just Bitcoin Chainstate (Fast)")
|
||||||
OPTIONS+=(REINDEX-FULL "Redindex Full Bitcoin Blockchain (Slow)")
|
OPTIONS+=(REINDEX-FULL "Redindex Full Bitcoin Blockchain (Slow)")
|
||||||
OPTIONS+=(RESET-CHAIN "Delete Blockchain & Re-Download")
|
OPTIONS+=(RESET-CHAIN "Delete Blockchain & Re-Download")
|
||||||
OPTIONS+=(RESET-HDD "Delete HDD Data but keep Blockchain")
|
#OPTIONS+=(RESET-HDD "Delete HDD Data but keep Blockchain")
|
||||||
OPTIONS+=(RESET-ALL "Delete HDD completely to start fresh")
|
OPTIONS+=(RESET-ALL "Delete HDD completely to start fresh")
|
||||||
OPTIONS+=(DELETE-ELEC "Delete Electrum Index")
|
OPTIONS+=(DELETE-ELEC "Delete Electrum Index")
|
||||||
|
|
||||||
@@ -152,7 +152,8 @@ case $CHOICE in
|
|||||||
;;
|
;;
|
||||||
RESET-ALL)
|
RESET-ALL)
|
||||||
askBackupCopy
|
askBackupCopy
|
||||||
/home/admin/XXcleanHDD.sh -all
|
sudo /home/admin/config.scripts/blitz.data.sh reset OVERWRITE
|
||||||
|
sleep 3
|
||||||
infoResetSDCard
|
infoResetSDCard
|
||||||
sudo shutdown now
|
sudo shutdown now
|
||||||
exit 1;
|
exit 1;
|
||||||
|
|||||||
@@ -246,6 +246,40 @@ do
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
################################
|
||||||
|
# CHECK FULL STORAGE
|
||||||
|
################################
|
||||||
|
|
||||||
|
# check every 5min
|
||||||
|
recheckStorage=$(($counter % 300))
|
||||||
|
if [ ${recheckStorage} -eq 1 ]; then
|
||||||
|
|
||||||
|
echo "*** CHECK FULL STORAGE ***"
|
||||||
|
percent=$(df --output=pcent /mnt/disk_storage | tail -1 | tr -dc '0-9');
|
||||||
|
if [ "${percent}" != "" ] && [ ${percent} -gt 98 ]; then
|
||||||
|
echo "WARN # STORAGE is ${percent} - sending warning"
|
||||||
|
/home/admin/_cache.sh set state "storageisfull"
|
||||||
|
/home/admin/_cache.sh set message "${percent}"
|
||||||
|
else
|
||||||
|
echo "OK - STORAGE is at ${percent}%"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "*** CHECK FULL DATA ***"
|
||||||
|
if mountpoint -q /mnt/disk_data; then
|
||||||
|
percent=$(df --output=pcent /mnt/disk_data | tail -1 | tr -dc '0-9');
|
||||||
|
if [ "${percent}" != "" ] && [ ${percent} -gt 98 ]; then
|
||||||
|
echo "WARN # DATA is ${percent} - sending warning"
|
||||||
|
/home/admin/_cache.sh set state "dataisfull"
|
||||||
|
/home/admin/_cache.sh set message "${percent}"
|
||||||
|
else
|
||||||
|
echo "OK - DATA is at ${percent}%"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "OK - /mnt/disk_data not mounted"
|
||||||
|
fi
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
###############################
|
###############################
|
||||||
# SYSTEM LOG FILE SIZES
|
# SYSTEM LOG FILE SIZES
|
||||||
###############################
|
###############################
|
||||||
|
|||||||
@@ -771,7 +771,7 @@ if [ "${scenario}" != "ready" ] ; then
|
|||||||
# create a place holder partition for future system use
|
# create a place holder partition for future system use
|
||||||
# ONLY when a dedicated system device is available - dont create a system partition
|
# ONLY when a dedicated system device is available - dont create a system partition
|
||||||
createSystemPartion=1
|
createSystemPartion=1
|
||||||
if [ ${#systemDevice} -gt 0 ]; then
|
if [ ${#systemDevice} -gt 0 ] && [ "${systemDevice}" != "${storageDevice}" ]; then
|
||||||
createSystemPartion=0
|
createSystemPartion=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -793,11 +793,13 @@ if [ "${scenario}" != "ready" ] ; then
|
|||||||
|
|
||||||
echo "FORMAT/RECOVER DRIVES" >> ${logFile}
|
echo "FORMAT/RECOVER DRIVES" >> ${logFile}
|
||||||
/home/admin/_cache.sh set state "hdd-format"
|
/home/admin/_cache.sh set state "hdd-format"
|
||||||
/home/admin/_cache.sh set message "formatting drives"
|
/home/admin/_cache.sh set message "${setupCommand}"
|
||||||
|
|
||||||
# STORAGE
|
# STORAGE
|
||||||
|
echo "#### STORAGE ####" >> ${logFile}
|
||||||
echo "# storageDevice(${storageDevice}) storageMountedPath(${storageMountedPath})" >> ${logFile}
|
echo "# storageDevice(${storageDevice}) storageMountedPath(${storageMountedPath})" >> ${logFile}
|
||||||
if [ ${#storageDevice} -gt 0 ] && [ ${#storageMountedPath} -eq 0 ]; then
|
if [ ${#storageDevice} -gt 0 ] && [ ${#storageMountedPath} -eq 0 ]; then
|
||||||
|
echo "STORAGE: ${setupCommand} STORAGE start" >> ${logFile}
|
||||||
error=""
|
error=""
|
||||||
source <(/home/admin/config.scripts/blitz.data.sh ${setupCommand} STORAGE "${storageDevice}" "${combinedDataStorage}" "${createSystemPartion}")
|
source <(/home/admin/config.scripts/blitz.data.sh ${setupCommand} STORAGE "${storageDevice}" "${combinedDataStorage}" "${createSystemPartion}")
|
||||||
if [ "${error}" != "" ]; then
|
if [ "${error}" != "" ]; then
|
||||||
@@ -807,12 +809,16 @@ if [ "${scenario}" != "ready" ] ; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "STORAGE: ${setupCommand} STORAGE done" >> ${logFile}
|
echo "STORAGE: ${setupCommand} STORAGE done" >> ${logFile}
|
||||||
|
else
|
||||||
|
echo "STORAGE: ${setupCommand} STORAGE skipped - already mounted" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# SYSTEM
|
# SYSTEM
|
||||||
|
echo "#### SYSTEM ####" >> ${logFile}
|
||||||
echo "# systemDevice(${systemDevice}) systemWarning(${systemWarning})" >> ${logFile}
|
echo "# systemDevice(${systemDevice}) systemWarning(${systemWarning})" >> ${logFile}
|
||||||
if [ ${#systemDevice} -gt 0 ] && [ "${bootFromStorage}" = "0" ] && [ ${#systemWarning} -eq 0 ]; then
|
if [ ${#systemDevice} -gt 0 ] && [ "${systemDevice}" != "${storageDevice}" ] && [ "${bootFromStorage}" = "0" ] && [ ${#systemWarning} -eq 0 ]; then
|
||||||
error=""
|
error=""
|
||||||
|
echo "SYSTEM: ${setupCommand} SYSTEM start" >> ${logFile}
|
||||||
source <(/home/admin/config.scripts/blitz.data.sh ${setupCommand} SYSTEM "${systemDevice}")
|
source <(/home/admin/config.scripts/blitz.data.sh ${setupCommand} SYSTEM "${systemDevice}")
|
||||||
if [ "${error}" != "" ]; then
|
if [ "${error}" != "" ]; then
|
||||||
echo "FAIL: '${setupCommand} SYSTEM' failed error(${error})" >> ${logFile}
|
echo "FAIL: '${setupCommand} SYSTEM' failed error(${error})" >> ${logFile}
|
||||||
@@ -824,13 +830,17 @@ if [ "${scenario}" != "ready" ] ; then
|
|||||||
else
|
else
|
||||||
if [ "${systemMountedPath}" = "/" ]; then
|
if [ "${systemMountedPath}" = "/" ]; then
|
||||||
echo "SYSTEM: ${setupCommand} SYSTEM skipped - its active system" >> ${logFile}
|
echo "SYSTEM: ${setupCommand} SYSTEM skipped - its active system" >> ${logFile}
|
||||||
|
else
|
||||||
|
echo "SYSTEM: ${setupCommand} SYSTEM skipped - already mounted" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# DATA
|
# DATA
|
||||||
|
echo "#### DATA ####" >> ${logFile}
|
||||||
echo "# dataDevice(${dataDevice}) dataWarning(${dataWarning})" >> ${logFile}
|
echo "# dataDevice(${dataDevice}) dataWarning(${dataWarning})" >> ${logFile}
|
||||||
if [ ${#dataDevice} -gt 0 ] && [ ${#dataWarning} -eq 0 ]; then
|
if [ ${#dataDevice} -gt 0 ] && [ "${dataDevice}" != "${storageDevice}" ] && [ ${#dataWarning} -eq 0 ]; then
|
||||||
error=""
|
error=""
|
||||||
|
echo "DATA: ${setupCommand} DATA start" >> ${logFile}
|
||||||
source <(/home/admin/config.scripts/blitz.data.sh ${setupCommand} DATA "${dataDevice}")
|
source <(/home/admin/config.scripts/blitz.data.sh ${setupCommand} DATA "${dataDevice}")
|
||||||
if [ "${error}" != "" ]; then
|
if [ "${error}" != "" ]; then
|
||||||
echo "FAIL: '${setupCommand} DATA' failed error(${error})" >> ${logFile}
|
echo "FAIL: '${setupCommand} DATA' failed error(${error})" >> ${logFile}
|
||||||
@@ -839,6 +849,12 @@ if [ "${scenario}" != "ready" ] ; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "DATA: ${setupCommand} DATA done" >> ${logFile}
|
echo "DATA: ${setupCommand} DATA done" >> ${logFile}
|
||||||
|
else
|
||||||
|
if [ "${dataMountedPath}" = "/mnt/hdd" ]; then
|
||||||
|
echo "DATA: ${setupCommand} DATA skipped - its active data" >> ${logFile}
|
||||||
|
else
|
||||||
|
echo "DATA: ${setupCommand} DATA skipped - already mounted" >> ${logFile}
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# when system was installed on new boot drive
|
# when system was installed on new boot drive
|
||||||
@@ -930,7 +946,7 @@ if [ "${scenario}" != "ready" ] ; then
|
|||||||
bootFromStorage=1
|
bootFromStorage=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "SYSTEM COPY OF FRESH SYSTEM" >> ${logFile}
|
echo "#### SYSTEM COPY OF FRESH SYSTEM" >> ${logFile}
|
||||||
echo "bootFromStorage(${bootFromStorage})" >> ${logFile}
|
echo "bootFromStorage(${bootFromStorage})" >> ${logFile}
|
||||||
echo "storageDevice(${storageDevice})" >> ${logFile}
|
echo "storageDevice(${storageDevice})" >> ${logFile}
|
||||||
echo "systemDevice(${systemDevice})" >> ${logFile}
|
echo "systemDevice(${systemDevice})" >> ${logFile}
|
||||||
@@ -1268,11 +1284,18 @@ if [ "${scenario}" != "ready" ] ; then
|
|||||||
# wait until syncProgress is available (neeed for final dialogs)
|
# wait until syncProgress is available (neeed for final dialogs)
|
||||||
/home/admin/_cache.sh set state "waitsync"
|
/home/admin/_cache.sh set state "waitsync"
|
||||||
btc_default_ready="0"
|
btc_default_ready="0"
|
||||||
|
loop_counter=0
|
||||||
while [ "${btc_default_ready}" != "1" ]
|
while [ "${btc_default_ready}" != "1" ]
|
||||||
do
|
do
|
||||||
|
loop_counter=$((loop_counter + 1))
|
||||||
source <(/home/admin/_cache.sh get btc_default_ready)
|
source <(/home/admin/_cache.sh get btc_default_ready)
|
||||||
echo "# waitsync loop ... btc_default_ready(${btc_default_ready})" >> $logFile
|
echo "# waitsync loop ${loop_counter} ... btc_default_ready(${btc_default_ready})" >> $logFile
|
||||||
sleep 2
|
sleep 2
|
||||||
|
if [ ${loop_counter} -eq 30 ]; then
|
||||||
|
echo "LOOP TAKES TOO LONG: Try deleting settings.json & force restart" >> $logFile
|
||||||
|
rm /mnt/hdd/app-storage/bitcoin/settings.json
|
||||||
|
systemctl restart bitcoind
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
# one time add info on blockchain sync to chache
|
# one time add info on blockchain sync to chache
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# RaspiBlitz Version - always [major].[main].[sub] (sub can be a string like '2rc1')
|
# RaspiBlitz Version - always [major].[main].[sub] (sub can be a string like '2rc1')
|
||||||
codeVersion="1.12.0rc4"
|
codeVersion="1.12.0"
|
||||||
codeRelease="dev"
|
codeRelease="dev"
|
||||||
# keep last line with comment ---> IF YOU HAVE A NEW VERSION BRANCH > EDIT ALSO build_sdcard.sh
|
# keep last line with comment ---> IF YOU HAVE A NEW VERSION BRANCH > EDIT ALSO build_sdcard.sh
|
||||||
@@ -45,15 +45,15 @@ if [ "$1" == "prestart" ]; then
|
|||||||
case "${CHAIN}" in
|
case "${CHAIN}" in
|
||||||
mainnet)
|
mainnet)
|
||||||
bitcoinlog_entry="main.debuglogfile"
|
bitcoinlog_entry="main.debuglogfile"
|
||||||
bitcoinlog_path="/mnt/hdd/bitcoin/debug.log"
|
bitcoinlog_path="/mnt/hdd/app-data/bitcoin/debug.log"
|
||||||
;;
|
;;
|
||||||
testnet)
|
testnet)
|
||||||
bitcoinlog_entry="test.debuglogfile"
|
bitcoinlog_entry="test.debuglogfile"
|
||||||
bitcoinlog_path="/mnt/hdd/bitcoin/testnet3/debug.log"
|
bitcoinlog_path="/mnt/hdd/app-data/bitcoin/testnet3/debug.log"
|
||||||
;;
|
;;
|
||||||
signet)
|
signet)
|
||||||
bitcoinlog_entry="signet.debuglogfile"
|
bitcoinlog_entry="signet.debuglogfile"
|
||||||
bitcoinlog_path="/mnt/hdd/bitcoin/signet/debug.log"
|
bitcoinlog_path="/mnt/hdd/app-data/bitcoin/signet/debug.log"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
@@ -78,6 +78,13 @@ if [ "$1" == "prestart" ]; then
|
|||||||
echo "main.walletdir=/mnt/hdd/app-data/bitcoin/wallets" >> /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
echo "main.walletdir=/mnt/hdd/app-data/bitcoin/wallets" >> /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
||||||
echo "main.wallet=wallet.dat" >> /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
echo "main.wallet=wallet.dat" >> /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
||||||
|
|
||||||
|
# remove any data directory entries - is already forced by parameter in bitcoind.service
|
||||||
|
echo "# remove any data directory entries"
|
||||||
|
sed -i '/^datadir=/d' /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
||||||
|
sed -i '/^main.datadir=/d' /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
||||||
|
sed -i '/^test.datadir=/d' /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
||||||
|
sed -i '/^signet.datadir=/d' /mnt/hdd/app-data/bitcoin/bitcoin.conf
|
||||||
|
|
||||||
# make sure bitcoin debug file exists
|
# make sure bitcoin debug file exists
|
||||||
echo "# make sure bitcoin debug file exists"
|
echo "# make sure bitcoin debug file exists"
|
||||||
touch ${bitcoinlog_path}
|
touch ${bitcoinlog_path}
|
||||||
|
|||||||
@@ -959,6 +959,9 @@ if [ "$action" = "mount" ]; then
|
|||||||
dataMountPoint="/mnt/disk_data"
|
dataMountPoint="/mnt/disk_data"
|
||||||
|
|
||||||
# Source status to get drive configuration
|
# Source status to get drive configuration
|
||||||
|
echo "# checking disk data ... please wait"
|
||||||
|
sync
|
||||||
|
sleep 4
|
||||||
source <(/home/admin/config.scripts/blitz.data.sh status)
|
source <(/home/admin/config.scripts/blitz.data.sh status)
|
||||||
|
|
||||||
# check directories are already mounted
|
# check directories are already mounted
|
||||||
@@ -973,6 +976,7 @@ if [ "$action" = "mount" ]; then
|
|||||||
|
|
||||||
# check partitions were found
|
# check partitions were found
|
||||||
if [ ${#storagePartition} -eq 0 ]; then
|
if [ ${#storagePartition} -eq 0 ]; then
|
||||||
|
echo "# storageDevice(${storageDevice})"
|
||||||
echo "error='storagePartition not detected'"
|
echo "error='storagePartition not detected'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -1297,6 +1301,12 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DEBUG: Log initial partition count
|
||||||
|
initialPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Initial partition count on ${actionDevice}: ${initialPartitionCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG: Initial partitions list:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
# determine the partition base name
|
# determine the partition base name
|
||||||
actionDevicePartitionBase=${actionDevice}
|
actionDevicePartitionBase=${actionDevice}
|
||||||
if [[ "${actionDevice}" =~ nvme ]]; then
|
if [[ "${actionDevice}" =~ nvme ]]; then
|
||||||
@@ -1326,10 +1336,19 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
# MAKE BOOTABLE
|
# MAKE BOOTABLE
|
||||||
echo "# MAKE BOOTABLE" >> ${logFile}
|
echo "# MAKE BOOTABLE" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before making bootable
|
||||||
|
beforeBootablePartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count before making bootable: ${beforeBootablePartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
# RASPBERRY PI
|
# RASPBERRY PI
|
||||||
if [ "${computerType}" = "raspberrypi" ]; then
|
if [ "${computerType}" = "raspberrypi" ]; then
|
||||||
echo "# RaspberryPi - set LBA flag" >> ${logFile}
|
echo "# RaspberryPi - set LBA flag" >> ${logFile}
|
||||||
parted /dev/${actionDevice} --script set 1 lba on
|
parted /dev/${actionDevice} --script set 1 lba on
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after LBA flag
|
||||||
|
afterLBAPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after LBA flag: ${afterLBAPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
isFlagSetLBA=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*lba')
|
isFlagSetLBA=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*lba')
|
||||||
if [ ${isFlagSetLBA} -eq 0 ]; then
|
if [ ${isFlagSetLBA} -eq 0 ]; then
|
||||||
echo "error='failed to set LBA flag'"
|
echo "error='failed to set LBA flag'"
|
||||||
@@ -1351,7 +1370,17 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
else
|
else
|
||||||
echo "# VM & PC - set BOOT/ESP flag" >> ${logFile}
|
echo "# VM & PC - set BOOT/ESP flag" >> ${logFile}
|
||||||
parted /dev/${actionDevice} --script set 1 boot on
|
parted /dev/${actionDevice} --script set 1 boot on
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after boot flag
|
||||||
|
afterBootPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after boot flag: ${afterBootPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script set 1 esp on
|
parted /dev/${actionDevice} --script set 1 esp on
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after setting ESP flag
|
||||||
|
afterESPPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after ESP flag: ${afterESPPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
isFlagSetBOOT=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*boot')
|
isFlagSetBOOT=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*boot')
|
||||||
if [ ${isFlagSetBOOT} -eq 0 ]; then
|
if [ ${isFlagSetBOOT} -eq 0 ]; then
|
||||||
echo "error='failed to set BOOT flag'"
|
echo "error='failed to set BOOT flag'"
|
||||||
@@ -1364,9 +1393,17 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after making bootable
|
||||||
|
afterBootablePartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after making bootable: ${afterBootablePartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# COPY SYSTEM
|
# COPY SYSTEM
|
||||||
echo "# SYSTEM COPY" >> ${logFile}
|
echo "### SYSTEM COPY ###" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before system copy
|
||||||
|
beforeCopyPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count before system copy: ${beforeCopyPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
# copy the boot drive
|
# copy the boot drive
|
||||||
bootPath="/boot/efi"
|
bootPath="/boot/efi"
|
||||||
@@ -1377,11 +1414,21 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
fi
|
fi
|
||||||
rm -rf /mnt/disk_boot 2>/dev/null
|
rm -rf /mnt/disk_boot 2>/dev/null
|
||||||
mkdir -p /mnt/disk_boot 2>/dev/null
|
mkdir -p /mnt/disk_boot 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before mounting boot
|
||||||
|
beforeMountBootPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count before mounting boot: ${beforeMountBootPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_boot
|
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_boot
|
||||||
if ! findmnt -n -o TARGET "/mnt/disk_boot" 2>/dev/null; then
|
if ! findmnt -n -o TARGET "/mnt/disk_boot" 2>/dev/null; then
|
||||||
echo "error='boot partition not mounted'"
|
echo "error='boot partition not mounted'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mounting boot
|
||||||
|
afterMountBootPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after mounting boot: ${afterMountBootPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
if [ "${computerType}" = "raspberrypi" ]; then
|
if [ "${computerType}" = "raspberrypi" ]; then
|
||||||
echo "# .. boot rsync start" >> ${logFile}
|
echo "# .. boot rsync start" >> ${logFile}
|
||||||
echo "boot" > /var/cache/raspiblitz/temp/progress.txt
|
echo "boot" > /var/cache/raspiblitz/temp/progress.txt
|
||||||
@@ -1391,17 +1438,31 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "# OK - Boot copied" >> ${logFile}
|
echo "# OK - Boot copied" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after boot copy
|
||||||
|
afterBootCopyPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after boot copy: ${afterBootCopyPartitionCount}" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# copy the system drive
|
# copy the system drive
|
||||||
echo "# .. copy system" >> ${logFile}
|
echo "# .. copy system" >> ${logFile}
|
||||||
rm -rf /mnt/disk_system 2>/dev/null
|
rm -rf /mnt/disk_system 2>/dev/null
|
||||||
mkdir -p /mnt/disk_system 2>/dev/null
|
mkdir -p /mnt/disk_system 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before mounting system
|
||||||
|
beforeMountSystemPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count before mounting system: ${beforeMountSystemPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
mount /dev/${actionDevicePartitionBase}2 /mnt/disk_system
|
mount /dev/${actionDevicePartitionBase}2 /mnt/disk_system
|
||||||
if ! findmnt -n -o TARGET "/mnt/disk_system" 2>/dev/null; then
|
if ! findmnt -n -o TARGET "/mnt/disk_system" 2>/dev/null; then
|
||||||
echo "error='system partition not mounted'"
|
echo "error='system partition not mounted'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mounting system
|
||||||
|
afterMountSystemPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after mounting system: ${afterMountSystemPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
echo "# .. system rsync start" >> ${logFile}
|
echo "# .. system rsync start" >> ${logFile}
|
||||||
echo "system" > /var/cache/raspiblitz/temp/progress.txt
|
echo "system" > /var/cache/raspiblitz/temp/progress.txt
|
||||||
rsync -axHAX --delete\
|
rsync -axHAX --delete\
|
||||||
@@ -1425,6 +1486,10 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
fi
|
fi
|
||||||
echo "# OK - System copied" >> ${logFile}
|
echo "# OK - System copied" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after system copy
|
||||||
|
afterSystemCopyPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after system copy: ${afterSystemCopyPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
# needed after fixes
|
# needed after fixes
|
||||||
mkdir -p /mnt/disk_system/var/log/redis
|
mkdir -p /mnt/disk_system/var/log/redis
|
||||||
touch /mnt/disk_system/var/log/redis/redis-server.log
|
touch /mnt/disk_system/var/log/redis/redis-server.log
|
||||||
@@ -1433,15 +1498,30 @@ if [ "$action" = "copy-system" ]; then
|
|||||||
|
|
||||||
# fstab link & command.txt
|
# fstab link & command.txt
|
||||||
echo "# Perma mount boot & system drives" >> ${logFile}
|
echo "# Perma mount boot & system drives" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before UUID operations
|
||||||
|
beforeUUIDPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count before UUID operations: ${beforeUUIDPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
BOOT_UUID=$(blkid -s UUID -o value /dev/${actionDevicePartitionBase}1)
|
BOOT_UUID=$(blkid -s UUID -o value /dev/${actionDevicePartitionBase}1)
|
||||||
ROOT_UUID=$(blkid -s UUID -o value /dev/${actionDevicePartitionBase}2)
|
ROOT_UUID=$(blkid -s UUID -o value /dev/${actionDevicePartitionBase}2)
|
||||||
ROOT_PARTUUID=$(sudo blkid -s PARTUUID -o value /dev/${actionDevicePartitionBase}2)
|
ROOT_PARTUUID=$(sudo blkid -s PARTUUID -o value /dev/${actionDevicePartitionBase}2)
|
||||||
echo "# - BOOT_UUID(${BOOT_UUID})" >> ${logFile}
|
echo "# - BOOT_UUID(${BOOT_UUID})" >> ${logFile}
|
||||||
echo "# - ROOT_UUID(${ROOT_UUID})" >> ${logFile}
|
echo "# - ROOT_UUID(${ROOT_UUID})" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after UUID operations
|
||||||
|
afterUUIDPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after UUID operations: ${afterUUIDPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
if [ "${computerType}" = "raspberrypi" ]; then
|
if [ "${computerType}" = "raspberrypi" ]; then
|
||||||
echo "# - RaspberryPi - edit command.txt" >> ${logFile}
|
echo "# - RaspberryPi - edit command.txt" >> ${logFile}
|
||||||
sed -i "s|PARTUUID=[^ ]*|PARTUUID=$ROOT_PARTUUID|" /mnt/disk_boot/cmdline.txt
|
sed -i "s|PARTUUID=[^ ]*|PARTUUID=$ROOT_PARTUUID|" /mnt/disk_boot/cmdline.txt
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after cmdline.txt edit
|
||||||
|
afterCmdlinePartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after cmdline.txt edit: ${afterCmdlinePartitionCount}" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cat > /mnt/disk_system/etc/fstab << EOF
|
cat > /mnt/disk_system/etc/fstab << EOF
|
||||||
# /etc/fstab: static file system information
|
# /etc/fstab: static file system information
|
||||||
#
|
#
|
||||||
@@ -1450,33 +1530,80 @@ UUID=${ROOT_UUID} / ext4 defaults,noatim
|
|||||||
UUID=${BOOT_UUID} ${bootPath} vfat defaults,noatime,umask=0077 0 2
|
UUID=${BOOT_UUID} ${bootPath} vfat defaults,noatime,umask=0077 0 2
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after fstab creation
|
||||||
|
afterFstabPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after fstab creation: ${afterFstabPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
# install EFI GRUB for VM & PC
|
# install EFI GRUB for VM & PC
|
||||||
if [ "${computerType}" != "raspberrypi" ]; then
|
if [ "${computerType}" != "raspberrypi" ]; then
|
||||||
echo "# EFI GRUB" >> ${logFile}
|
echo "# EFI GRUB" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before GRUB installation
|
||||||
|
beforeGRUBPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count before GRUB installation: ${beforeGRUBPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
DISK_SYSTEM="/mnt/disk_system"
|
DISK_SYSTEM="/mnt/disk_system"
|
||||||
BOOT_PARTITION="/dev/${actionDevicePartitionBase}1"
|
BOOT_PARTITION="/dev/${actionDevicePartitionBase}1"
|
||||||
ROOT_PARTITION="/dev/${actionDevicePartitionBase}2"
|
ROOT_PARTITION="/dev/${actionDevicePartitionBase}2"
|
||||||
echo "# Mounting root and boot partitions..." >> ${logFile}
|
echo "# Mounting root and boot partitions..." >> ${logFile}
|
||||||
umount /mnt/disk_boot 2>/dev/null
|
umount /mnt/disk_boot 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after umounting disk_boot
|
||||||
|
afterUmountBootPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after umounting disk_boot: ${afterUmountBootPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
mkdir -p $DISK_SYSTEM/boot/efi 2>/dev/null
|
mkdir -p $DISK_SYSTEM/boot/efi 2>/dev/null
|
||||||
mount $BOOT_PARTITION $DISK_SYSTEM/boot/efi || { echo "Failed to mount boot partition"; exit 1; }
|
mount $BOOT_PARTITION $DISK_SYSTEM/boot/efi || { echo "Failed to mount boot partition"; exit 1; }
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mounting boot for GRUB
|
||||||
|
afterMountBootGRUBPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after mounting boot for GRUB: ${afterMountBootGRUBPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
echo "# Bind mounting system directories..." >> ${logFile}
|
echo "# Bind mounting system directories..." >> ${logFile}
|
||||||
mount --bind /dev $DISK_SYSTEM/dev || { echo "Failed to bind /dev"; exit 1; }
|
mount --bind /dev $DISK_SYSTEM/dev || { echo "Failed to bind /dev"; exit 1; }
|
||||||
mount --bind /sys $DISK_SYSTEM/sys || { echo "Failed to bind /sys"; exit 1; }
|
mount --bind /sys $DISK_SYSTEM/sys || { echo "Failed to bind /sys"; exit 1; }
|
||||||
mount --bind /proc $DISK_SYSTEM/proc || { echo "Failed to bind /proc"; exit 1; }
|
mount --bind /proc $DISK_SYSTEM/proc || { echo "Failed to bind /proc"; exit 1; }
|
||||||
rm $DISK_SYSTEM/etc/resolv.conf
|
rm $DISK_SYSTEM/etc/resolv.conf
|
||||||
cp /etc/resolv.conf $DISK_SYSTEM/etc/resolv.conf || { echo "Failed to copy resolv.conf"; exit 1; }
|
cp /etc/resolv.conf $DISK_SYSTEM/etc/resolv.conf || { echo "Failed to copy resolv.conf"; exit 1; }
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before chroot GRUB
|
||||||
|
beforeChrootPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count before chroot GRUB: ${beforeChrootPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
echo "# Entering chroot and setting up GRUB..." >> ${logFile}
|
echo "# Entering chroot and setting up GRUB..." >> ${logFile}
|
||||||
chroot $DISK_SYSTEM /bin/bash <<EOF
|
chroot $DISK_SYSTEM /bin/bash <<EOF
|
||||||
apt-get install -y grub-efi-amd64 efibootmgr
|
apt-get install -y grub-efi-amd64 efibootmgr
|
||||||
grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable --recheck
|
grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable --recheck
|
||||||
update-grub
|
update-grub
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after chroot GRUB
|
||||||
|
afterChrootPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after chroot GRUB: ${afterChrootPartitionCount}" >> ${logFile}
|
||||||
|
|
||||||
umount $DISK_SYSTEM/boot/efi
|
umount $DISK_SYSTEM/boot/efi
|
||||||
umount $DISK_SYSTEM
|
umount $DISK_SYSTEM
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after final umount
|
||||||
|
afterFinalUmountPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Partition count after final umount: ${afterFinalUmountPartitionCount}" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm /var/cache/raspiblitz/temp/progress.txt
|
rm /var/cache/raspiblitz/temp/progress.txt
|
||||||
|
|
||||||
|
# DEBUG: Log final partition count
|
||||||
|
finalPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG: Final partition count on ${actionDevice}: ${finalPartitionCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG: Final partitions list:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Summary of partition count changes
|
||||||
|
echo "# DEBUG: PARTITION COUNT SUMMARY:" >> ${logFile}
|
||||||
|
echo "# DEBUG: Initial: ${initialPartitionCount} -> Final: ${finalPartitionCount}" >> ${logFile}
|
||||||
|
if [ "${initialPartitionCount}" != "${finalPartitionCount}" ]; then
|
||||||
|
echo "# WARNING: Partition count changed during copy-system operation!" >> ${logFile}
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# OK - ${action} done" >> ${logFile}
|
echo "# OK - ${action} done" >> ${logFile}
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
@@ -1487,7 +1614,7 @@ fi
|
|||||||
|
|
||||||
if [ "$action" = "setup" ]; then
|
if [ "$action" = "setup" ]; then
|
||||||
|
|
||||||
echo "STARTED blitz.data.sh ${action} ..." >> ${logFile}
|
echo "STARTED blitz.data.sh setup ..." >> ${logFile}
|
||||||
|
|
||||||
# check that it is a valid setup type: STORAGE, DATA, SYSTEM
|
# check that it is a valid setup type: STORAGE, DATA, SYSTEM
|
||||||
actionType=$2
|
actionType=$2
|
||||||
@@ -1516,6 +1643,13 @@ if [ "$action" = "setup" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DEBUG: Log initial partition count for setup
|
||||||
|
initialSetupPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP: Initial partition count on ${actionDevice}: ${initialSetupPartitionCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG SETUP: Initial partitions list:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
parted /dev/${actionDevice} --script print >> ${logFile} 2>&1
|
||||||
|
|
||||||
# check if data should also be combined with storage
|
# check if data should also be combined with storage
|
||||||
actionCombinedData=$4
|
actionCombinedData=$4
|
||||||
if [ ${#actionCombinedData} -gt 0 ] && [ "${actionCombinedData}" != "combinedData=1" ] && [ "${actionCombinedData}" != "0" ] && [ "${actionCombinedData}" != "1" ]; then
|
if [ ${#actionCombinedData} -gt 0 ] && [ "${actionCombinedData}" != "combinedData=1" ] && [ "${actionCombinedData}" != "0" ] && [ "${actionCombinedData}" != "1" ]; then
|
||||||
@@ -1569,25 +1703,80 @@ if [ "$action" = "setup" ]; then
|
|||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
echo "# SYSTEM partitioning" >> ${logFile}
|
echo "# SYSTEM partitionin #" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before system partitioning operations
|
||||||
|
beforeSystemPartitioningCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count before system partitioning: ${beforeSystemPartitioningCount}" >> ${logFile}
|
||||||
|
|
||||||
sfdisk --delete /dev/${actionDevice} 2>/dev/null
|
sfdisk --delete /dev/${actionDevice} 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after sfdisk delete
|
||||||
|
afterSfdiskDeleteCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after sfdisk delete: ${afterSfdiskDeleteCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevice} 2>/dev/null
|
wipefs -a /dev/${actionDevice} 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs
|
||||||
|
afterWipeFsCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after wipefs: ${afterWipeFsCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mklabel msdos
|
parted /dev/${actionDevice} --script mklabel msdos
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mklabel
|
||||||
|
afterMklabelCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after mklabel: ${afterMklabelCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mkpart primary fat32 1MiB 513MiB
|
parted /dev/${actionDevice} --script mkpart primary fat32 1MiB 513MiB
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after first mkpart
|
||||||
|
afterFirstMkpartCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after first mkpart: ${afterFirstMkpartCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mkpart primary ext4 541MB 100%
|
parted /dev/${actionDevice} --script mkpart primary ext4 541MB 100%
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after second mkpart
|
||||||
|
afterSecondMkpartCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after second mkpart: ${afterSecondMkpartCount}" >> ${logFile}
|
||||||
|
|
||||||
partprobe /dev/${actionDevice}
|
partprobe /dev/${actionDevice}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after partprobe
|
||||||
|
afterPartprobeCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after partprobe: ${afterPartprobeCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partitions after partprobe:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}1 2>/dev/null
|
wipefs -a /dev/${actionDevicePartitionBase}1 2>/dev/null
|
||||||
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1
|
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after formatting partition 1
|
||||||
|
afterFormat1Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after formatting partition 1: ${afterFormat1Count}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}2 2>/dev/null
|
wipefs -a /dev/${actionDevicePartitionBase}2 2>/dev/null
|
||||||
mkfs -t ext4 /dev/${actionDevicePartitionBase}2
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}2
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after formatting partition 2
|
||||||
|
afterFormat2Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after formatting partition 2: ${afterFormat2Count}" >> ${logFile}
|
||||||
|
|
||||||
# MAKE BOOTABLE
|
# MAKE BOOTABLE
|
||||||
echo "# MAKE BOOTABLE" >> ${logFile}
|
echo "# MAKE BOOTABLE" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before making bootable
|
||||||
|
beforeBootableSystemCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count before making bootable: ${beforeBootableSystemCount}" >> ${logFile}
|
||||||
|
|
||||||
# RASPBERRY PI
|
# RASPBERRY PI
|
||||||
if [ "${computerType}" = "raspberrypi" ]; then
|
if [ "${computerType}" = "raspberrypi" ]; then
|
||||||
echo "# RaspberryPi - set LBA flag" >> ${logFile}
|
echo "# RaspberryPi - set LBA flag" >> ${logFile}
|
||||||
parted /dev/${actionDevice} --script set 1 lba on
|
parted /dev/${actionDevice} --script set 1 lba on
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after LBA flag
|
||||||
|
afterLBASystemCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after LBA flag: ${afterLBASystemCount}" >> ${logFile}
|
||||||
|
|
||||||
isFlagSetLBA=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*lba')
|
isFlagSetLBA=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*lba')
|
||||||
if [ ${isFlagSetLBA} -eq 0 ]; then
|
if [ ${isFlagSetLBA} -eq 0 ]; then
|
||||||
echo "error='failed to set LBA flag'"
|
echo "error='failed to set LBA flag'"
|
||||||
@@ -1609,7 +1798,17 @@ if [ "$action" = "setup" ]; then
|
|||||||
else
|
else
|
||||||
echo "# VM & PC - set BOOT/ESP flag" >> ${logFile}
|
echo "# VM & PC - set BOOT/ESP flag" >> ${logFile}
|
||||||
parted /dev/${actionDevice} --script set 1 boot on
|
parted /dev/${actionDevice} --script set 1 boot on
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after boot flag
|
||||||
|
afterBootFlagSystemCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after boot flag: ${afterBootFlagSystemCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script set 1 esp on
|
parted /dev/${actionDevice} --script set 1 esp on
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after setting ESP flag
|
||||||
|
afterESPFlagSystemCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP SYSTEM: Partition count after ESP flag: ${afterESPFlagSystemCount}" >> ${logFile}
|
||||||
|
|
||||||
isFlagSetBOOT=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*boot')
|
isFlagSetBOOT=$(parted /dev/${actionDevice} --script print | grep -c 'fat32.*boot')
|
||||||
if [ ${isFlagSetBOOT} -eq 0 ]; then
|
if [ ${isFlagSetBOOT} -eq 0 ]; then
|
||||||
echo "error='failed to set BOOT flag'"
|
echo "error='failed to set BOOT flag'"
|
||||||
@@ -1627,69 +1826,247 @@ if [ "$action" = "setup" ]; then
|
|||||||
elif [ "${actionType}" = "STORAGE" ] && [ ${actionCreateSystemPartition} -eq 1 ]; then
|
elif [ "${actionType}" = "STORAGE" ] && [ ${actionCreateSystemPartition} -eq 1 ]; then
|
||||||
|
|
||||||
echo "# STORAGE partitioning (with boot)" >> ${logFile}
|
echo "# STORAGE partitioning (with boot)" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before storage partitioning operations
|
||||||
|
beforeStoragePartitioningCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count before storage partitioning: ${beforeStoragePartitioningCount}" >> ${logFile}
|
||||||
|
|
||||||
sfdisk --delete /dev/${actionDevice} >> ${logFile}
|
sfdisk --delete /dev/${actionDevice} >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after sfdisk delete
|
||||||
|
afterSfdiskDeleteStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after sfdisk delete: ${afterSfdiskDeleteStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevice} >> ${logFile}
|
wipefs -a /dev/${actionDevice} >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs
|
||||||
|
afterWipeFsStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after wipefs: ${afterWipeFsStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mklabel msdos >> ${logFile}
|
parted /dev/${actionDevice} --script mklabel msdos >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mklabel
|
||||||
|
afterMklabelStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after mklabel: ${afterMklabelStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mkpart primary fat32 1MiB 513MiB >> ${logFile}
|
parted /dev/${actionDevice} --script mkpart primary fat32 1MiB 513MiB >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after first mkpart
|
||||||
|
afterFirstMkpartStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after first mkpart: ${afterFirstMkpartStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mkpart primary ext4 541MB 65GB >> ${logFile}
|
parted /dev/${actionDevice} --script mkpart primary ext4 541MB 65GB >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after second mkpart
|
||||||
|
afterSecondMkpartStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after second mkpart: ${afterSecondMkpartStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mkpart primary ext4 65GB 100% >> ${logFile}
|
parted /dev/${actionDevice} --script mkpart primary ext4 65GB 100% >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after third mkpart
|
||||||
|
afterThirdMkpartStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after third mkpart: ${afterThirdMkpartStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
partprobe /dev/${actionDevice}
|
partprobe /dev/${actionDevice}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after partprobe
|
||||||
|
afterPartprobeStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after partprobe: ${afterPartprobeStorageCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partitions after partprobe:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
echo "# .. formating" >> ${logFile}
|
echo "# .. formating" >> ${logFile}
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}1 2>/dev/null >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}1 2>/dev/null >> ${logFile}
|
||||||
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after formatting partition 1
|
||||||
|
afterFormat1StorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after formatting partition 1: ${afterFormat1StorageCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}2 2>/dev/null >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}2 2>/dev/null >> ${logFile}
|
||||||
mkfs -t ext4 /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after formatting partition 2
|
||||||
|
afterFormat2StorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after formatting partition 2: ${afterFormat2StorageCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}3 2>/dev/null >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}3 2>/dev/null >> ${logFile}
|
||||||
mkfs -t ext4 /dev/${actionDevicePartitionBase}3 >> ${logFile}
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}3 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after formatting partition 3
|
||||||
|
afterFormat3StorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after formatting partition 3: ${afterFormat3StorageCount}" >> ${logFile}
|
||||||
|
|
||||||
rm -rf /mnt/disk_storage 2>/dev/null
|
rm -rf /mnt/disk_storage 2>/dev/null
|
||||||
mkdir -p /mnt/disk_storage 2>/dev/null
|
mkdir -p /mnt/disk_storage 2>/dev/null
|
||||||
mount /dev/${actionDevicePartitionBase}3 /mnt/disk_storage
|
mount /dev/${actionDevicePartitionBase}3 /mnt/disk_storage
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mounting partition 3
|
||||||
|
afterMountStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after mounting partition 3: ${afterMountStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
mkdir -p /mnt/disk_storage/app-storage
|
mkdir -p /mnt/disk_storage/app-storage
|
||||||
if [ ${actionCombinedData} -eq 1 ]; then
|
if [ ${actionCombinedData} -eq 1 ]; then
|
||||||
mkdir -p /mnt/disk_storage/app-data
|
mkdir -p /mnt/disk_storage/app-data
|
||||||
fi
|
fi
|
||||||
umount /mnt/disk_storage >> ${logFile}
|
umount /mnt/disk_storage >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after unmounting
|
||||||
|
afterUmountStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE: Partition count after unmounting: ${afterUmountStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
echo "storagePartition='${actionDevicePartitionBase}3'"
|
echo "storagePartition='${actionDevicePartitionBase}3'"
|
||||||
echo "# storagePartition(${actionDevicePartitionBase}3)" >> ${logFile}
|
echo "# storagePartition(${actionDevicePartitionBase}3)" >> ${logFile}
|
||||||
|
|
||||||
# STORAGE without System partition (if addSystemPartition=0 or not set)
|
# STORAGE without System partition (if addSystemPartition=0 or not set)
|
||||||
elif [ "${actionType}" = "STORAGE" ] && [ ${actionCreateSystemPartition} -eq 0 ]; then
|
elif [ "${actionType}" = "STORAGE" ] && [ ${actionCreateSystemPartition} -eq 0 ]; then
|
||||||
echo "# STORAGE partitioning (no boot)" >> ${logFile}
|
echo "# STORAGE partitioning (no boot)" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before storage partitioning operations (no boot)
|
||||||
|
beforeStorageNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count before storage partitioning: ${beforeStorageNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
sfdisk --delete /dev/${actionDevice} >> ${logFile}
|
sfdisk --delete /dev/${actionDevice} >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after sfdisk delete
|
||||||
|
afterSfdiskDeleteNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after sfdisk delete: ${afterSfdiskDeleteNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevice} >> ${logFile}
|
wipefs -a /dev/${actionDevice} >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs
|
||||||
|
afterWipeFsNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after wipefs: ${afterWipeFsNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mklabel msdos >> ${logFile}
|
parted /dev/${actionDevice} --script mklabel msdos >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mklabel
|
||||||
|
afterMklabelNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after mklabel: ${afterMklabelNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mkpart primary ext4 1MB 100% >> ${logFile}
|
parted /dev/${actionDevice} --script mkpart primary ext4 1MB 100% >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mkpart
|
||||||
|
afterMkpartNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after mkpart: ${afterMkpartNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
partprobe /dev/${actionDevice}
|
partprobe /dev/${actionDevice}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after partprobe
|
||||||
|
afterPartprobeNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after partprobe: ${afterPartprobeNoBootCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partitions after partprobe:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
echo "# .. formating" >> ${logFile}
|
echo "# .. formating" >> ${logFile}
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
||||||
mkfs -t ext4 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after formatting
|
||||||
|
afterFormatNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after formatting: ${afterFormatNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
rm -rf /mnt/disk_storage 2>/dev/null
|
rm -rf /mnt/disk_storage 2>/dev/null
|
||||||
mkdir -p /mnt/disk_storage 2>/dev/null
|
mkdir -p /mnt/disk_storage 2>/dev/null
|
||||||
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_storage
|
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_storage
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mounting
|
||||||
|
afterMountNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after mounting: ${afterMountNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
mkdir -p /mnt/disk_storage/app-storage
|
mkdir -p /mnt/disk_storage/app-storage
|
||||||
if [ ${actionCombinedData} -eq 1 ]; then
|
if [ ${actionCombinedData} -eq 1 ]; then
|
||||||
mkdir -p /mnt/disk_storage/app-data
|
mkdir -p /mnt/disk_storage/app-data
|
||||||
fi
|
fi
|
||||||
umount /mnt/disk_storage
|
umount /mnt/disk_storage
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after unmounting
|
||||||
|
afterUmountNoBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP STORAGE NO-BOOT: Partition count after unmounting: ${afterUmountNoBootCount}" >> ${logFile}
|
||||||
|
|
||||||
echo "storagePartition='${actionDevicePartitionBase}1'"
|
echo "storagePartition='${actionDevicePartitionBase}1'"
|
||||||
echo "# storagePartition(${actionDevicePartitionBase}1)" >> ${logFile}
|
echo "# storagePartition(${actionDevicePartitionBase}1)" >> ${logFile}
|
||||||
|
|
||||||
# DATA (single drive)
|
# DATA (single drive)
|
||||||
elif [ "${actionType}" = "DATA" ]; then
|
elif [ "${actionType}" = "DATA" ]; then
|
||||||
echo "# DATA partitioning" >> ${logFile}
|
echo "# DATA partitioning" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before data partitioning operations
|
||||||
|
beforeDataPartitioningCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count before data partitioning: ${beforeDataPartitioningCount}" >> ${logFile}
|
||||||
|
|
||||||
sfdisk --delete /dev/${actionDevice} 2>/dev/null
|
sfdisk --delete /dev/${actionDevice} 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after sfdisk delete
|
||||||
|
afterSfdiskDeleteDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after sfdisk delete: ${afterSfdiskDeleteDataCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevice} 2>/dev/null
|
wipefs -a /dev/${actionDevice} 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs
|
||||||
|
afterWipeFsDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after wipefs: ${afterWipeFsDataCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mklabel msdos
|
parted /dev/${actionDevice} --script mklabel msdos
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mklabel
|
||||||
|
afterMklabelDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after mklabel: ${afterMklabelDataCount}" >> ${logFile}
|
||||||
|
|
||||||
parted /dev/${actionDevice} --script mkpart primary ext4 1MB 100%
|
parted /dev/${actionDevice} --script mkpart primary ext4 1MB 100%
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mkpart
|
||||||
|
afterMkpartDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after mkpart: ${afterMkpartDataCount}" >> ${logFile}
|
||||||
|
|
||||||
partprobe /dev/${actionDevice}
|
partprobe /dev/${actionDevice}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after partprobe
|
||||||
|
afterPartprobeDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after partprobe: ${afterPartprobeDataCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG SETUP DATA: Partitions after partprobe:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
echo "# .. formating" >> ${logFile}
|
echo "# .. formating" >> ${logFile}
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}1 2>/dev/null
|
wipefs -a /dev/${actionDevicePartitionBase}1 2>/dev/null
|
||||||
mkfs -t ext4 /dev/${actionDevicePartitionBase}1
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}1
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after formatting
|
||||||
|
afterFormatDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after formatting: ${afterFormatDataCount}" >> ${logFile}
|
||||||
|
|
||||||
rm -rf /mnt/disk_data 2>/dev/null
|
rm -rf /mnt/disk_data 2>/dev/null
|
||||||
mkdir -p /mnt/disk_data 2>/dev/null
|
mkdir -p /mnt/disk_data 2>/dev/null
|
||||||
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_data
|
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_data
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mounting
|
||||||
|
afterMountDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after mounting: ${afterMountDataCount}" >> ${logFile}
|
||||||
|
|
||||||
mkdir -p /mnt/disk_data/app-data
|
mkdir -p /mnt/disk_data/app-data
|
||||||
umount /mnt/disk_data
|
umount /mnt/disk_data
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after unmounting
|
||||||
|
afterUmountDataCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP DATA: Partition count after unmounting: ${afterUmountDataCount}" >> ${logFile}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# make sure info on drives is updated & visible in system
|
||||||
|
sync
|
||||||
|
partprobe /dev/${actionDevice}
|
||||||
|
udevadm settle
|
||||||
|
|
||||||
|
# DEBUG: Log final partition count for setup
|
||||||
|
finalSetupPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG SETUP: Final partition count on ${actionDevice}: ${finalSetupPartitionCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG SETUP: Final partitions list:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Summary of partition count changes for setup
|
||||||
|
echo "# DEBUG SETUP: PARTITION COUNT SUMMARY:" >> ${logFile}
|
||||||
|
echo "# DEBUG SETUP: Initial: ${initialSetupPartitionCount} -> Final: ${finalSetupPartitionCount}" >> ${logFile}
|
||||||
|
if [ "${initialSetupPartitionCount}" != "${finalSetupPartitionCount}" ]; then
|
||||||
|
echo "# DEBUG SETUP: Partition count changed during setup operation!" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "# OK - ${action} done" >> ${logFile}
|
echo "# OK - ${action} done" >> ${logFile}
|
||||||
@@ -1731,6 +2108,13 @@ if [ "$action" = "recover" ] || [ "$action" = "clean" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DEBUG: Log initial partition count for recover/clean
|
||||||
|
initialRecoverPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG ${action^^}: Initial partition count on ${actionDevice}: ${initialRecoverPartitionCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG ${action^^}: Initial partitions list:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
parted /dev/${actionDevice} --script print >> ${logFile} 2>&1
|
||||||
|
|
||||||
# check if data should also be combined with storage
|
# check if data should also be combined with storage
|
||||||
actionCombinedData=$4
|
actionCombinedData=$4
|
||||||
if [ ${#actionCombinedData} -gt 0 ] && [ "${actionCombinedData}" != "combinedData=1" ] && [ "${actionCombinedData}" != "0" ] && [ "${actionCombinedData}" != "1" ]; then
|
if [ ${#actionCombinedData} -gt 0 ] && [ "${actionCombinedData}" != "combinedData=1" ] && [ "${actionCombinedData}" != "0" ] && [ "${actionCombinedData}" != "1" ]; then
|
||||||
@@ -1776,32 +2160,75 @@ if [ "$action" = "recover" ] || [ "$action" = "clean" ]; then
|
|||||||
# all data should get deleted only keep blockchain data
|
# all data should get deleted only keep blockchain data
|
||||||
|
|
||||||
if [ "${actionType}" = "SYSTEM" ]; then
|
if [ "${actionType}" = "SYSTEM" ]; then
|
||||||
# system gets full wipe - same as format
|
# system partition gets full wipe
|
||||||
/home/admin/config.scripts/blitz.data.sh setup SYSTEM ${actionDevice}
|
echo "# DEBUG CLEAN SYSTEM: Formatting system partition ${actionDevicePartitionBase}2" >> ${logFile}
|
||||||
|
wipefs -a /dev/${actionDevicePartitionBase}2 2>/dev/null
|
||||||
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}2
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
if [ "${actionType}" = "DATA" ]; then
|
if [ "${actionType}" = "DATA" ]; then
|
||||||
# data gets full wipe - same as format
|
# data gets full wipe - same as format
|
||||||
|
echo "# DEBUG CLEAN DATA: Calling setup DATA ${actionDevice}" >> ${logFile}
|
||||||
/home/admin/config.scripts/blitz.data.sh setup DATA ${actionDevice}
|
/home/admin/config.scripts/blitz.data.sh setup DATA ${actionDevice}
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
if [ "${actionType}" = "STORAGE" ]; then
|
if [ "${actionType}" = "STORAGE" ]; then
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before clean storage operations
|
||||||
|
beforeCleanStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count before clean operations: ${beforeCleanStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
# check first partition for storage
|
# check first partition for storage
|
||||||
mkdir -p /mnt/disk_storage 2>/dev/null
|
mkdir -p /mnt/disk_storage 2>/dev/null
|
||||||
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_storage 2>/dev/null
|
mount /dev/${actionDevicePartitionBase}1 /mnt/disk_storage 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after attempting to mount partition 1
|
||||||
|
afterMountAttemptCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after mount attempt partition 1: ${afterMountAttemptCount}" >> ${logFile}
|
||||||
|
|
||||||
# check if /mnt/disk_storage/app-storage exists
|
# check if /mnt/disk_storage/app-storage exists
|
||||||
if [ ! -d "/mnt/disk_storage/app-storage" ]; then
|
if [ ! -d "/mnt/disk_storage/app-storage" ]; then
|
||||||
# multi partion layout
|
# multi partion layout
|
||||||
unmount /mnt/disk_storage
|
umount /mnt/disk_storage 2>/dev/null
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after umount partition 1
|
||||||
|
afterUmount1Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after umount partition 1: ${afterUmount1Count}" >> ${logFile}
|
||||||
|
|
||||||
echo "# .. formating boot & system partition" >> ${logFile}
|
echo "# .. formating boot & system partition" >> ${logFile}
|
||||||
echo "# - format: boot(/dev/${actionDevicePartitionBase}1)" >> ${logFile}
|
echo "# - format: boot(/dev/${actionDevicePartitionBase}1)" >> ${logFile}
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs partition 1
|
||||||
|
afterWipeP1Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after wipefs partition 1: ${afterWipeP1Count}" >> ${logFile}
|
||||||
|
|
||||||
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mkfs partition 1
|
||||||
|
afterMkfsP1Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after mkfs partition 1: ${afterMkfsP1Count}" >> ${logFile}
|
||||||
|
|
||||||
echo "# - format: system(/dev/${actionDevicePartitionBase}2)" >> ${logFile}
|
echo "# - format: system(/dev/${actionDevicePartitionBase}2)" >> ${logFile}
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs partition 2
|
||||||
|
afterWipeP2Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after wipefs partition 2: ${afterWipeP2Count}" >> ${logFile}
|
||||||
|
|
||||||
mkfs -t ext4 /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mkfs partition 2
|
||||||
|
afterMkfsP2Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after mkfs partition 2: ${afterMkfsP2Count}" >> ${logFile}
|
||||||
|
|
||||||
echo "# - mount: storage(/dev/${actionDevicePartitionBase}3)" >> ${logFile}
|
echo "# - mount: storage(/dev/${actionDevicePartitionBase}3)" >> ${logFile}
|
||||||
mount /dev/${actionDevicePartitionBase}3 /mnt/disk_storage >> ${logFile}
|
mount /dev/${actionDevicePartitionBase}3 /mnt/disk_storage >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mounting partition 3
|
||||||
|
afterMountP3Count=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after mounting partition 3: ${afterMountP3Count}" >> ${logFile}
|
||||||
|
|
||||||
echo "storagePartition='${actionDevicePartitionBase}3'"
|
echo "storagePartition='${actionDevicePartitionBase}3'"
|
||||||
echo "# storagePartition(${actionDevicePartitionBase}3)" >> ${logFile}
|
echo "# storagePartition(${actionDevicePartitionBase}3)" >> ${logFile}
|
||||||
if [ $? -ne 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
@@ -1821,6 +2248,11 @@ if [ "$action" = "recover" ] || [ "$action" = "clean" ]; then
|
|||||||
# in both setups /mnt/disk_storage/app-storage should exist
|
# in both setups /mnt/disk_storage/app-storage should exist
|
||||||
# delete all data in /mnt/disk_storage except for /mnt/disk_storage/app-storage
|
# delete all data in /mnt/disk_storage except for /mnt/disk_storage/app-storage
|
||||||
echo "# Cleaning storage partition - preserving app-storage" >> ${logFile}
|
echo "# Cleaning storage partition - preserving app-storage" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before cleaning operations
|
||||||
|
beforeCleaningCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count before cleaning operations: ${beforeCleaningCount}" >> ${logFile}
|
||||||
|
|
||||||
# TODO: This is not working yet .. refactor later
|
# TODO: This is not working yet .. refactor later
|
||||||
find /mnt/disk_storage -maxdepth 1 -not -name "app-storage" -not -name "." -not -name ".." -exec rm -rf {} \;
|
find /mnt/disk_storage -maxdepth 1 -not -name "app-storage" -not -name "." -not -name ".." -exec rm -rf {} \;
|
||||||
find /mnt/disk_storage/app-storage -maxdepth 1 -not -name "bitcoin" -not -name "." -not -name ".." -exec rm -rf {} \;
|
find /mnt/disk_storage/app-storage -maxdepth 1 -not -name "bitcoin" -not -name "." -not -name ".." -exec rm -rf {} \;
|
||||||
@@ -1829,6 +2261,10 @@ if [ "$action" = "recover" ] || [ "$action" = "clean" ]; then
|
|||||||
ls -la /mnt/disk_storage/app-storage >> ${logFile}
|
ls -la /mnt/disk_storage/app-storage >> ${logFile}
|
||||||
ls -la /mnt/disk_storage/app-storage/bitcoin >> ${logFile}
|
ls -la /mnt/disk_storage/app-storage/bitcoin >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after cleaning operations
|
||||||
|
afterCleaningCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after cleaning operations: ${afterCleaningCount}" >> ${logFile}
|
||||||
|
|
||||||
# Create fresh app-data directory if needed with combined data
|
# Create fresh app-data directory if needed with combined data
|
||||||
if [ ${actionCombinedData} -eq 1 ]; then
|
if [ ${actionCombinedData} -eq 1 ]; then
|
||||||
mkdir -p /mnt/disk_storage/app-data
|
mkdir -p /mnt/disk_storage/app-data
|
||||||
@@ -1836,6 +2272,11 @@ if [ "$action" = "recover" ] || [ "$action" = "clean" ]; then
|
|||||||
|
|
||||||
# Unmount after cleaning
|
# Unmount after cleaning
|
||||||
umount /mnt/disk_storage
|
umount /mnt/disk_storage
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after final umount
|
||||||
|
afterFinalUmountCleanCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG CLEAN STORAGE: Partition count after final umount: ${afterFinalUmountCleanCount}" >> ${logFile}
|
||||||
|
|
||||||
rm -rf /mnt/disk_storage
|
rm -rf /mnt/disk_storage
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@@ -1843,25 +2284,66 @@ if [ "$action" = "recover" ] || [ "$action" = "clean" ]; then
|
|||||||
if [ "${action}" = "recover" ]; then
|
if [ "${action}" = "recover" ]; then
|
||||||
|
|
||||||
if [ "${actionType}" = "SYSTEM" ]; then
|
if [ "${actionType}" = "SYSTEM" ]; then
|
||||||
# system gets full wipe on recover - same as format
|
# system partition gets formatted
|
||||||
/home/admin/config.scripts/blitz.data.sh setup SYSTEM ${actionDevice}
|
echo "# DEBUG RECOVER SYSTEM: Formatting SYSTEM partition ${actionDevicePartitionBase}2" >> ${logFile}
|
||||||
|
wipefs -a /dev/${actionDevicePartitionBase}2 2>/dev/null
|
||||||
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
||||||
exit $?
|
exit $?
|
||||||
fi
|
fi
|
||||||
if [ "${actionType}" = "DATA" ]; then
|
if [ "${actionType}" = "DATA" ]; then
|
||||||
echo "# .. data just keep as is" >> ${logFile}
|
echo "# .. data just keep as is" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count for data recover (no changes expected)
|
||||||
|
dataRecoverCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER DATA: Partition count (no changes): ${dataRecoverCount}" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
if [ "${actionType}" = "STORAGE" ]; then
|
if [ "${actionType}" = "STORAGE" ]; then
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before recover storage operations
|
||||||
|
beforeRecoverStorageCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count before recover operations: ${beforeRecoverStorageCount}" >> ${logFile}
|
||||||
|
|
||||||
# get number of partions of device
|
# get number of partions of device
|
||||||
numPartitions=$(lsblk -no NAME /dev/${actionDevice} | grep -c "${actionDevicePartitionBase}")
|
numPartitions=$(lsblk -no NAME /dev/${actionDevice} | grep -c "${actionDevicePartitionBase}")
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Number of partitions found: ${numPartitions}" >> ${logFile}
|
||||||
|
|
||||||
if [ ${numPartitions} -eq 3 ]; then
|
if [ ${numPartitions} -eq 3 ]; then
|
||||||
if [ "${actionCreateSystemPartition}" == "1" ]; then
|
if [ "${actionCreateSystemPartition}" == "1" ]; then
|
||||||
echo "# .. formating boot & system partition" >> ${logFile}
|
echo "# .. formating boot & system partition" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count before formatting boot partition
|
||||||
|
beforeFormatBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count before formatting boot: ${beforeFormatBootCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs boot partition
|
||||||
|
afterWipeBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count after wipefs boot: ${afterWipeBootCount}" >> ${logFile}
|
||||||
|
|
||||||
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
mkfs.fat -F 32 /dev/${actionDevicePartitionBase}1 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mkfs boot partition
|
||||||
|
afterMkfsBootCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count after mkfs boot: ${afterMkfsBootCount}" >> ${logFile}
|
||||||
|
|
||||||
wipefs -a /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
wipefs -a /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after wipefs system partition
|
||||||
|
afterWipeSystemCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count after wipefs system: ${afterWipeSystemCount}" >> ${logFile}
|
||||||
|
|
||||||
mkfs -t ext4 /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
mkfs -t ext4 /dev/${actionDevicePartitionBase}2 >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count after mkfs system partition
|
||||||
|
afterMkfsSystemCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count after mkfs system: ${afterMkfsSystemCount}" >> ${logFile}
|
||||||
else
|
else
|
||||||
echo "# dont format boot & system partition .. actionCreateSystemPartition(${actionCreateSystemPartition})" >> ${logFile}
|
echo "# dont format boot & system partition .. actionCreateSystemPartition(${actionCreateSystemPartition})" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count when not formatting boot/system
|
||||||
|
noFormatCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count (no boot/system format): ${noFormatCount}" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
echo "storagePartition='${actionDevicePartitionBase}3'"
|
echo "storagePartition='${actionDevicePartitionBase}3'"
|
||||||
echo "# storagePartition(${actionDevicePartitionBase}3)" >> ${logFile}
|
echo "# storagePartition(${actionDevicePartitionBase}3)" >> ${logFile}
|
||||||
@@ -1869,10 +2351,27 @@ if [ "$action" = "recover" ] || [ "$action" = "clean" ]; then
|
|||||||
echo "storagePartition='${actionDevicePartitionBase}1'"
|
echo "storagePartition='${actionDevicePartitionBase}1'"
|
||||||
echo "# storagePartition(${actionDevicePartitionBase}1)" >> ${logFile}
|
echo "# storagePartition(${actionDevicePartitionBase}1)" >> ${logFile}
|
||||||
echo "# .. storage has ${numPartitions} partitions - just keep as is" >> ${logFile}
|
echo "# .. storage has ${numPartitions} partitions - just keep as is" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Log partition count for single partition storage
|
||||||
|
singlePartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG RECOVER STORAGE: Partition count (single partition): ${singlePartitionCount}" >> ${logFile}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# DEBUG: Log final partition count for recover/clean
|
||||||
|
finalRecoverPartitionCount=$(partx -g /dev/"${actionDevice}" 2>/dev/null | wc -l)
|
||||||
|
echo "# DEBUG ${action^^}: Final partition count on ${actionDevice}: ${finalRecoverPartitionCount}" >> ${logFile}
|
||||||
|
echo "# DEBUG ${action^^}: Final partitions list:" >> ${logFile}
|
||||||
|
lsblk -no NAME "/dev/${actionDevice}" >> ${logFile}
|
||||||
|
|
||||||
|
# DEBUG: Summary of partition count changes for recover/clean
|
||||||
|
echo "# DEBUG ${action^^}: PARTITION COUNT SUMMARY:" >> ${logFile}
|
||||||
|
echo "# DEBUG ${action^^}: Initial: ${initialRecoverPartitionCount} -> Final: ${finalRecoverPartitionCount}" >> ${logFile}
|
||||||
|
if [ "${initialRecoverPartitionCount}" != "${finalRecoverPartitionCount}" ]; then
|
||||||
|
echo "# DEBUG ${action^^}: Partition count changed during ${action} operation!" >> ${logFile}
|
||||||
|
fi
|
||||||
|
|
||||||
echo "# DONE - blitz.data.sh ${action} ${actionType}" >> ${logFile}
|
echo "# DONE - blitz.data.sh ${action} ${actionType}" >> ${logFile}
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
@@ -1997,11 +2496,15 @@ if [ "$1" = "migration" ] && [ "$2" = "hdd" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# set source hdd of migration in cache & get latest disk info
|
# set source hdd of migration in cache & get latest disk info
|
||||||
|
echo "# checking storagePartition ... please wait"
|
||||||
/home/admin/_cache.sh set hddMigrateDeviceFrom "${hddMigrateDeviceFrom}"
|
/home/admin/_cache.sh set hddMigrateDeviceFrom "${hddMigrateDeviceFrom}"
|
||||||
|
sync
|
||||||
|
sleep 6
|
||||||
source <(/home/admin/config.scripts/blitz.data.sh status -inspect)
|
source <(/home/admin/config.scripts/blitz.data.sh status -inspect)
|
||||||
|
|
||||||
# check that target partion is formatted
|
# check that target partion is formatted
|
||||||
if [ "${storagePartition}" = "" ]; then
|
if [ "${storagePartition}" = "" ]; then
|
||||||
|
echo "# storageDevice(${storageDevice})"
|
||||||
echo "error='storage drive not formatted'"
|
echo "error='storage drive not formatted'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -2289,26 +2792,50 @@ fi
|
|||||||
if [ "$1" = "reset" ]; then
|
if [ "$1" = "reset" ]; then
|
||||||
source <(/home/admin/config.scripts/blitz.data.sh status)
|
source <(/home/admin/config.scripts/blitz.data.sh status)
|
||||||
if [ "${storageDevice}" = "" ]; then
|
if [ "${storageDevice}" = "" ]; then
|
||||||
echo "error='no storage device found'"
|
# check if nvme0n1 is available
|
||||||
exit 1
|
if lsblk -no NAME | grep -q "nvme0n1"; then
|
||||||
|
echo "# found storage device: nvme0n1"
|
||||||
|
storageDevice="nvme0n1"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
# ask user to confirm
|
# check ask overide
|
||||||
echo "# WARNING: This will delete all data on ${storageDevice}"
|
if [ "$2" != "OVERWRITE" ]; then
|
||||||
echo "# Are you really sure? (y/n)"
|
# ask user to confirm
|
||||||
read -r answer
|
echo "# WARNING: This will delete all data on ${storageDevice}"
|
||||||
if [ "${answer}" != "y" ]; then
|
echo "# Are you really sure? (y/n)"
|
||||||
echo "# User canceled"
|
read -r answer
|
||||||
exit 1
|
if [ "${answer}" != "y" ]; then
|
||||||
|
echo "# User canceled"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "# Are you REALLY REALLY sure? (Y/N)"
|
||||||
|
read -r answer
|
||||||
|
if [ "${answer}" != "Y" ]; then
|
||||||
|
echo "# User canceled"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
echo "# Are you REALLY REALLY sure? (Y/N)"
|
echo "# Update Tools ..."
|
||||||
read -r answer
|
|
||||||
if [ "${answer}" != "Y" ]; then
|
|
||||||
echo "# User canceled"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
echo "# Deleting all partitions on ${storageDevice} ..."
|
|
||||||
apt-get install -y gdisk
|
apt-get install -y gdisk
|
||||||
|
echo "# Stop Bitcoin and umount ..."
|
||||||
|
swapoff -a
|
||||||
|
systemctl stop bitcoind
|
||||||
|
sleep 3
|
||||||
|
rm -rf /mnt/disk_storage/*
|
||||||
|
rm -rf /mnt/disk_storage/.[!.]*
|
||||||
|
rm -rf /mnt/disk_storage/..?*
|
||||||
|
umount -f /mnt/disk_storage 2>/dev/null
|
||||||
|
umount -l /mnt/disk_storage 2>/dev/null
|
||||||
|
umount -f /mnt/disk_data 2>/dev/null
|
||||||
|
umount -l /mnt/disk_data 2>/dev/null
|
||||||
|
umount -f /mnt/disk_system 2>/dev/null
|
||||||
|
umount -l /mnt/disk_system 2>/dev/null
|
||||||
|
partprobe /dev/${storageDevice}
|
||||||
|
echo "# Deleting all partitions on ${storageDevice} ..."
|
||||||
|
wipefs -a /dev/${storageDevice}
|
||||||
sgdisk --zap-all /dev/${storageDevice}
|
sgdisk --zap-all /dev/${storageDevice}
|
||||||
|
sync
|
||||||
|
partprobe /dev/${storageDevice}
|
||||||
echo "# DONE"
|
echo "# DONE"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -117,8 +117,8 @@ echo "sudo journalctl -u ${network}d -b --no-pager -n20"
|
|||||||
sudo journalctl -u ${network}d -b --no-pager -n20
|
sudo journalctl -u ${network}d -b --no-pager -n20
|
||||||
echo
|
echo
|
||||||
echo "*** LAST BLOCKCHAIN (MAINNET) INFO LOGS ***"
|
echo "*** LAST BLOCKCHAIN (MAINNET) INFO LOGS ***"
|
||||||
echo "sudo tail -n 50 /mnt/hdd/app-storage/${network}/debug.log"
|
echo "sudo tail -n 50 /mnt/hdd/app-data/${network}/debug.log"
|
||||||
sudo tail -n 50 /mnt/hdd/app-storage/${network}${pathAdd}/debug.log
|
sudo tail -n 50 /mnt/hdd/app-data/${network}${pathAdd}/debug.log
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "*** LND (MAINNET) SYSTEMD STATUS ***"
|
echo "*** LND (MAINNET) SYSTEMD STATUS ***"
|
||||||
|
|||||||
@@ -155,8 +155,8 @@ if [ "$1" = "update-config" ]; then
|
|||||||
|
|
||||||
else
|
else
|
||||||
echo "# CONFIG Web API ... still in setup, skip bitcoin & lightning"
|
echo "# CONFIG Web API ... still in setup, skip bitcoin & lightning"
|
||||||
sed -i "s/^BAPI_NETWORK=.*/BAPI_NETWORK=/g" ./.env
|
sed -i "s/^BAPI_NETWORK=.*/BAPI_NETWORK=none/g" ./.env
|
||||||
sed -i "s/^BAPI_LN_NODE=.*/BAPI_LN_NODE=/g" ./.env
|
sed -i "s/^BAPI_LN_NODE=.*/BAPI_LN_NODE=none/g" ./.env
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Note: Celery services might need a restart if config changes affect them.
|
# Note: Celery services might need a restart if config changes affect them.
|
||||||
|
|||||||
@@ -4,8 +4,8 @@
|
|||||||
# ~/.config/btc-rpc-explorer.env
|
# ~/.config/btc-rpc-explorer.env
|
||||||
# https://github.com/janoside/btc-rpc-explorer/blob/master/.env-sample
|
# https://github.com/janoside/btc-rpc-explorer/blob/master/.env-sample
|
||||||
|
|
||||||
# use commit hash, because latest release 3.4.0 is too old
|
# use commit hash, so that also in between updates can be used if needed
|
||||||
GITHUBCOMMIT="153aa0ae7f902562bd1cfa2bbcea4c00026e5aef"
|
GITHUBCOMMIT="8ed77ab225f5507c521b570d5240624de597ad44" #3.5.1
|
||||||
|
|
||||||
# command info
|
# command info
|
||||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "-help" ]; then
|
||||||
@@ -18,7 +18,7 @@ fi
|
|||||||
|
|
||||||
PGPsigner="janoside"
|
PGPsigner="janoside"
|
||||||
PGPpubkeyLink="https://github.com/janoside.gpg"
|
PGPpubkeyLink="https://github.com/janoside.gpg"
|
||||||
PGPpubkeyFingerprint="70C0B166321C0AF8"
|
PGPpubkeyFingerprint="F579929B39B119CC7B0BB71FB326ACF51F317B69"
|
||||||
|
|
||||||
source /mnt/hdd/app-data/raspiblitz.conf 2>/dev/null
|
source /mnt/hdd/app-data/raspiblitz.conf 2>/dev/null
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
# https://github.com/lnbits/lnbits
|
# https://github.com/lnbits/lnbits
|
||||||
|
|
||||||
# https://github.com/lnbits/lnbits/releases
|
# https://github.com/lnbits/lnbits/releases
|
||||||
tag="v1.1.0"
|
tag="v1.2.1"
|
||||||
VERSION="${tag}"
|
VERSION="${tag}"
|
||||||
|
|
||||||
# command info
|
# command info
|
||||||
@@ -540,7 +540,7 @@ if [ "$1" = "prestart" ]; then
|
|||||||
# check if lnbits user has read access on lnd data files
|
# check if lnbits user has read access on lnd data files
|
||||||
checkReadAccess=$(cat /mnt/hdd/app-data/lnd/data/chain/${LNBitsNetwork}/${LNBitsChain}net/admin.macaroon | grep -c "lnd")
|
checkReadAccess=$(cat /mnt/hdd/app-data/lnd/data/chain/${LNBitsNetwork}/${LNBitsChain}net/admin.macaroon | grep -c "lnd")
|
||||||
if [ "${checkReadAccess}" != "1" ]; then
|
if [ "${checkReadAccess}" != "1" ]; then
|
||||||
echo "# FAIL: missing lnd data in '/mnt/hdd/app-data/lnd' or missing access rights for lnbits user"
|
echo "# FAIL: missing lnd data in '/mnt/hdd/app-data/lnd/data/chain/${LNBitsNetwork}/${LNBitsChain}net/admin.macaroon' or missing access rights for lnbits user"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -699,6 +699,8 @@ if [ "$1" = "install" ]; then
|
|||||||
# add lnbits user
|
# add lnbits user
|
||||||
echo "*** Add the 'lnbits' user ***"
|
echo "*** Add the 'lnbits' user ***"
|
||||||
sudo adduser --system --group --home /home/lnbits lnbits
|
sudo adduser --system --group --home /home/lnbits lnbits
|
||||||
|
# add user to group bitcoin
|
||||||
|
sudo usermod -a -G bitcoin lnbits
|
||||||
|
|
||||||
# install from GitHub
|
# install from GitHub
|
||||||
echo "# get the github code user(${githubUser}) branch(${tag})"
|
echo "# get the github code user(${githubUser}) branch(${tag})"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
# https://lightning.readthedocs.io/
|
# https://lightning.readthedocs.io/
|
||||||
|
|
||||||
# https://github.com/ElementsProject/lightning/releases
|
# https://github.com/ElementsProject/lightning/releases
|
||||||
CLVERSION="v25.02.2"
|
CLVERSION="v25.05"
|
||||||
|
|
||||||
# https://github.com/ElementsProject/lightning/tree/master/contrib/keys
|
# https://github.com/ElementsProject/lightning/tree/master/contrib/keys
|
||||||
# rustyrussell D9200E6CD1ADB8F1
|
# rustyrussell D9200E6CD1ADB8F1
|
||||||
@@ -11,9 +11,9 @@ CLVERSION="v25.02.2"
|
|||||||
# pneuroth (nepet) C3F21EE387FF4CD2
|
# pneuroth (nepet) C3F21EE387FF4CD2
|
||||||
# sfarooqui (ShahanaFarooqui) B56B4453DA8C6DF7FC9BCFCBDCA40B7128DA62A8
|
# sfarooqui (ShahanaFarooqui) B56B4453DA8C6DF7FC9BCFCBDCA40B7128DA62A8
|
||||||
# amyers (endothermicdev) F3BF63F2747436AB
|
# amyers (endothermicdev) F3BF63F2747436AB
|
||||||
PGPsigner="sfarooqui"
|
PGPsigner="amyers"
|
||||||
PGPpubkeyLink="https://raw.githubusercontent.com/ElementsProject/lightning/master/contrib/keys/${PGPsigner}.txt"
|
PGPpubkeyLink="https://raw.githubusercontent.com/ElementsProject/lightning/master/contrib/keys/${PGPsigner}.txt"
|
||||||
PGPpubkeyFingerprint="B56B4453DA8C6DF7FC9BCFCBDCA40B7128DA62A8"
|
PGPpubkeyFingerprint="F3BF63F2747436AB"
|
||||||
|
|
||||||
# help
|
# help
|
||||||
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
if [ $# -eq 0 ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
|
||||||
|
|||||||
@@ -48,6 +48,13 @@ if [ "$1" == "prestart" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
##### FILE PERMISSIONS #####
|
||||||
|
# make sure is readable by group
|
||||||
|
chmod g+rx /mnt/hdd/app-data/lnd/data
|
||||||
|
chmod g+rx /mnt/hdd/app-data/lnd/data/chain
|
||||||
|
chmod g+rx /mnt/hdd/app-data/lnd/data/chain/${network}
|
||||||
|
chmod g+rx /mnt/hdd/app-data/lnd/data/chain/${network}/${chain}net
|
||||||
|
|
||||||
##### CLEAN UP #####
|
##### CLEAN UP #####
|
||||||
|
|
||||||
# all lines with just spaces to empty lines
|
# all lines with just spaces to empty lines
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ elif [ "$1" = "sync" ]; then
|
|||||||
echo "# make sure LND app-data directories exist"
|
echo "# make sure LND app-data directories exist"
|
||||||
sudo /bin/mkdir --mode 0755 --parents /mnt/hdd/app-data/lnd/data/chain/"${network}"/"${chain}"net/
|
sudo /bin/mkdir --mode 0755 --parents /mnt/hdd/app-data/lnd/data/chain/"${network}"/"${chain}"net/
|
||||||
|
|
||||||
echo `# make sure all user groups exit for default macaroons`
|
echo `# make sure all user groups exist for default macaroons`
|
||||||
sudo /usr/sbin/groupadd --force --gid 9700 lndadmin
|
sudo /usr/sbin/groupadd --force --gid 9700 lndadmin
|
||||||
sudo /usr/sbin/groupadd --force --gid 9701 lndinvoice
|
sudo /usr/sbin/groupadd --force --gid 9701 lndinvoice
|
||||||
sudo /usr/sbin/groupadd --force --gid 9702 lndreadonly
|
sudo /usr/sbin/groupadd --force --gid 9702 lndreadonly
|
||||||
@@ -157,6 +157,7 @@ elif [ "$1" = "sync" ]; then
|
|||||||
|
|
||||||
sudo usermod -aG lndadmin admin
|
sudo usermod -aG lndadmin admin
|
||||||
sudo usermod -aG bitcoin admin
|
sudo usermod -aG bitcoin admin
|
||||||
|
sudo usermod -aG lndadmin bitcoin
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
# Check Macaroons and fix missing
|
# Check Macaroons and fix missing
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
## based on https://raspibolt.github.io/raspibolt/raspibolt_40_lnd.html#lightning-lnd
|
## based on https://raspibolt.github.io/raspibolt/raspibolt_40_lnd.html#lightning-lnd
|
||||||
## see LND releases: https://github.com/lightningnetwork/lnd/releases
|
## see LND releases: https://github.com/lightningnetwork/lnd/releases
|
||||||
### If you change here - make sure to also change interims version in lnd.update.sh #!
|
### If you change here - make sure to also change interims version in lnd.update.sh #!
|
||||||
lndVersion="0.19.1-beta"
|
lndVersion="0.19.2-beta"
|
||||||
|
|
||||||
# olaoluwa
|
# olaoluwa
|
||||||
PGPauthor="roasbeef"
|
PGPauthor="roasbeef"
|
||||||
@@ -279,7 +279,6 @@ if [ "$1" = "1" ] || [ "$1" = "on" ]; then
|
|||||||
|
|
||||||
sudo chown -R bitcoin:bitcoin /mnt/hdd/app-data/lnd
|
sudo chown -R bitcoin:bitcoin /mnt/hdd/app-data/lnd
|
||||||
sudo chmod -R 750 /mnt/hdd/app-data/lnd
|
sudo chmod -R 750 /mnt/hdd/app-data/lnd
|
||||||
sudo usermod -a -G lndadmin bitcoin
|
|
||||||
|
|
||||||
echo "# Create /mnt/hdd/app-data/lnd/${netprefix}lnd.conf"
|
echo "# Create /mnt/hdd/app-data/lnd/${netprefix}lnd.conf"
|
||||||
if [ ! -f /mnt/hdd/app-data/lnd/${netprefix}lnd.conf ];then
|
if [ ! -f /mnt/hdd/app-data/lnd/${netprefix}lnd.conf ];then
|
||||||
|
|||||||
@@ -281,6 +281,22 @@ Preparing Provision
|
|||||||
Please wait ...
|
Please wait ...
|
||||||
" 6 24
|
" 6 24
|
||||||
|
|
||||||
|
elif [ "${eventID}" == "storageisfull" ]; then
|
||||||
|
|
||||||
|
dialog --backtitle "${backtitle}" --cr-wrap --infobox "
|
||||||
|
Your storage SSD/NVME is full (${contentString}%).
|
||||||
|
Delete apps or migrate to a bigger drive.
|
||||||
|
ssh admin@${internet_localip}
|
||||||
|
" 7 50
|
||||||
|
|
||||||
|
elif [ "${eventID}" == "dataisfull" ]; then
|
||||||
|
|
||||||
|
dialog --backtitle "${backtitle}" --cr-wrap --infobox "
|
||||||
|
Your data SSD/NVME is full (${contentString}%).
|
||||||
|
Delete apps or migrate to a bigger drive.
|
||||||
|
ssh admin@${internet_localip}
|
||||||
|
" 7 50
|
||||||
|
|
||||||
elif [ "${eventID}" = "noIP-LAN" ] || [ "${eventID}" = "noIP-WIFI" ]; then
|
elif [ "${eventID}" = "noIP-LAN" ] || [ "${eventID}" = "noIP-WIFI" ]; then
|
||||||
|
|
||||||
# this event is mostly for LCD/HDMI display
|
# this event is mostly for LCD/HDMI display
|
||||||
@@ -361,7 +377,8 @@ elif [ "${eventID}" == "hdd-format" ]; then
|
|||||||
|
|
||||||
dialog --backtitle "${backtitle}" --cr-wrap --infobox "
|
dialog --backtitle "${backtitle}" --cr-wrap --infobox "
|
||||||
PREPARING DRIVES
|
PREPARING DRIVES
|
||||||
" 5 20
|
${contentString}
|
||||||
|
" 6 20
|
||||||
|
|
||||||
elif [ "${eventID}" == "system-change" ]; then
|
elif [ "${eventID}" == "system-change" ]; then
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user