mirror of
https://github.com/openoms/bitcoin-tutorials.git
synced 2025-12-18 20:44:20 +01:00
77 lines
3.3 KiB
Markdown
77 lines
3.3 KiB
Markdown
parted -s /dev/${hdd} mkpart primary ext4 1024KiB 100%
|
|
mkfs.ext4 -F -L BLOCKCHAIN /dev/${hdd}
|
|
tune2fs -c 1 /dev/${hdd}
|
|
|
|
|
|
|
|
hddDataPartitionExt4=$hdd
|
|
# loop until the uuids are available
|
|
uuid1=""
|
|
loopcount=0
|
|
while [ ${#uuid1} -eq 0 ]
|
|
do
|
|
echo "# waiting until uuid gets available"
|
|
sleep 2
|
|
sync
|
|
uuid1=$(lsblk -o NAME,UUID | grep "${hddDataPartitionExt4}" | awk '$1=$1' | cut -d " " -f 2 | grep "-")
|
|
loopcount=$(($loopcount +1))
|
|
if [ ${loopcount} -gt 10 ]; then
|
|
echo "error='no uuid'"
|
|
exit 1
|
|
fi
|
|
done
|
|
|
|
echo "# mount /mnt/hdd"
|
|
mkdir -p /mnt/hdd 1>/dev/null
|
|
updated=$(cat /etc/fstab | grep -c "/mnt/hdd")
|
|
if [ $updated -eq 0 ]; then
|
|
echo "# updating /etc/fstab"
|
|
sed "/raspiblitz/ i UUID=${uuid1} /mnt/hdd ext4 noexec,defaults 0 2" -i /etc/fstab 1>/dev/null
|
|
fi
|
|
sync
|
|
mount -a 1>/dev/null
|
|
|
|
|
|
|
|
|
|
# make sure common base directory exits
|
|
mkdir -p /mnt/hdd/lnd
|
|
mkdir -p /mnt/hdd/app-data
|
|
|
|
>&2 echo "# Creating EXT4 setup links"
|
|
>&2 echo "# opening blockchain into /mnt/hdd"
|
|
mkdir -p /mnt/hdd/bitcoin
|
|
>&2 echo "# linking blockchain for user bitcoin"
|
|
rm /home/bitcoin/.bitcoin 2>/dev/null
|
|
ln -s /mnt/hdd/bitcoin /home/bitcoin/.bitcoin
|
|
>&2 echo "# linking lnd for user bitcoin"
|
|
rm /home/bitcoin/.lnd 2>/dev/null
|
|
ln -s /mnt/hdd/lnd /home/bitcoin/.lnd
|
|
>&2 echo "# creating default storage & temp folders"
|
|
mkdir -p /mnt/hdd/app-storage
|
|
mkdir -p /mnt/hdd/temp
|
|
|
|
|
|
# fix ownership of linked files
|
|
chown -R bitcoin:bitcoin /mnt/hdd/bitcoin
|
|
chown -R bitcoin:bitcoin /mnt/hdd/lnd
|
|
chown -R bitcoin:bitcoin /home/bitcoin/.lnd
|
|
chown -R bitcoin:bitcoin /home/bitcoin/.bitcoin
|
|
chown bitcoin:bitcoin /mnt/hdd/app-storage
|
|
chown bitcoin:bitcoin /mnt/hdd/app-data
|
|
chown -R bitcoin:bitcoin /mnt/hdd/temp 2>/dev/null
|
|
chmod -R 777 /mnt/temp 2>/dev/null
|
|
chmod -R 777 /mnt/hdd/temp 2>/dev/null
|
|
|
|
# write info files about what directories are for
|
|
|
|
echo "The /mnt/hdd/temp directory is for short time data and will get cleaned up on very start. Dont work with data here thats bigger then 25GB - because on BTRFS hdd layout this is a own partition with limited space. Also on BTRFS hdd layout the temp partition is an FAT format - so it can be easily mounted on Windows and OSx laptops by just connecting it to such laptops. Use this for easy export data. To import data make sure to work with the data before bootstrap is deleting the directory on startup." > ./README.txt
|
|
mv ./README.txt /mnt/hdd/temp/README.txt 2>/dev/null
|
|
|
|
echo "The /mnt/hdd/app-data directory should be used by additional/optional apps and services installed to the RaspiBlitz for their data that should survive an import/export/backup. Data that can be reproduced (indexes, etc.) should be stored in app-storage." > ./README.txt
|
|
mv ./README.txt /mnt/hdd/app-data/README.txt 2>/dev/null
|
|
|
|
echo "The /mnt/hdd/app-storage directory should be used by additional/optional apps and services installed to the RaspiBlitz for their non-critical and reproducible data (indexes, public blockchain, etc.) that does not need to survive an an import/export/backup. Data is critical should be in app-data." > ./README.txt
|
|
mv ./README.txt /mnt/hdd/app-storage/README.txt 2>/dev/null
|
|
|
|
>&2 echo "# OK - all symbolic links are built" |