First working version
This commit is contained in:
parent
009bafa523
commit
e830122995
|
@ -0,0 +1,3 @@
|
||||||
|
# flash-it
|
||||||
|
|
||||||
|
Flash-it is a Bash script that flashes Sailfish OS images onto an SD card for the PineTab, PinePhone or the PinePhone devkit.
|
33
flash-it.sh
33
flash-it.sh
|
@ -10,6 +10,8 @@ ROOTFS_DEVKIT_JOB=devkit-rootfs
|
||||||
ROOTFS_PINEPHONE_DIR=pinephone
|
ROOTFS_PINEPHONE_DIR=pinephone
|
||||||
ROOTFS_PINETAB_DIR=pinetab
|
ROOTFS_PINETAB_DIR=pinetab
|
||||||
ROOTFS_DEVKIT_DIR=devkit
|
ROOTFS_DEVKIT_DIR=devkit
|
||||||
|
MOUNT_DATA=./data
|
||||||
|
MOUNT_BOOT=./boot
|
||||||
|
|
||||||
# Header
|
# Header
|
||||||
echo -e "\e[1m\e[91mSailfish OS Pine64 device flasher V$VERSION\e[0m"
|
echo -e "\e[1m\e[91mSailfish OS Pine64 device flasher V$VERSION\e[0m"
|
||||||
|
@ -33,6 +35,7 @@ wget -O "${ROOTFS_JOB}.zip" "https://gitlab.com/sailfishos-porters-ci/dont_be_ev
|
||||||
|
|
||||||
# Select flash target
|
# Select flash target
|
||||||
echo -e "\e[1mWhich SD card do you want to flash?\e[0m"
|
echo -e "\e[1mWhich SD card do you want to flash?\e[0m"
|
||||||
|
lsblk
|
||||||
read -p "Device node (/dev/sdX): " DEVICE_NODE
|
read -p "Device node (/dev/sdX): " DEVICE_NODE
|
||||||
echo "Flashing image to: $DEVICE_NODE"
|
echo "Flashing image to: $DEVICE_NODE"
|
||||||
echo "WARNING: All data will be erased! You have been warned!"
|
echo "WARNING: All data will be erased! You have been warned!"
|
||||||
|
@ -40,10 +43,16 @@ echo "Some commands require root permissions, you might be asked to enter your s
|
||||||
|
|
||||||
# Creating EXT4 file system
|
# Creating EXT4 file system
|
||||||
echo -e "\e[1mCreating EXT4 file system...\e[0m"
|
echo -e "\e[1mCreating EXT4 file system...\e[0m"
|
||||||
sudo umount "/dev/sdd1"
|
for PARTITION in $(ls ${DEVICE_NODE}*)
|
||||||
sudo umount "/dev/sdd2"
|
do
|
||||||
sudo /sbin/parted $DEVICE_NODE mklabel gpt --script
|
echo "Unmounting $PARTITION"
|
||||||
sudo mkfs.ext4 $DEVICE_NODE
|
sudo umount $PARTITION
|
||||||
|
done
|
||||||
|
sudo /sbin/parted $DEVICE_NODE mklabel msdos --script
|
||||||
|
sudo /sbin/parted $DEVICE_NODE mkpart primary ext4 1MB 250MB --script
|
||||||
|
sudo /sbin/parted $DEVICE_NODE mkpart primary ext4 250MB 100% --script
|
||||||
|
sudo mkfs.ext4 -F -L boot "${DEVICE_NODE}1" # 1st partition = boot
|
||||||
|
sudo mkfs.ext4 -F -L data "${DEVICE_NODE}2" # 2nd partition = data
|
||||||
|
|
||||||
# Flashing u-boot
|
# Flashing u-boot
|
||||||
echo -e "\e[1mFlashing U-boot...\e[0m"
|
echo -e "\e[1mFlashing U-boot...\e[0m"
|
||||||
|
@ -56,15 +65,29 @@ echo -e "\e[1mFlashing rootFS...\e[0m"
|
||||||
unzip "${ROOTFS_JOB}.zip"
|
unzip "${ROOTFS_JOB}.zip"
|
||||||
TEMP=`ls $ROOTFS_DIR/*/*.tar.bz2`
|
TEMP=`ls $ROOTFS_DIR/*/*.tar.bz2`
|
||||||
echo "$TEMP"
|
echo "$TEMP"
|
||||||
sudo bsdtar -xpf "$TEMP" -C "$DEVICE_NODE"
|
mkdir "$MOUNT_DATA"
|
||||||
|
sudo mount "${DEVICE_NODE}2" "$MOUNT_DATA" # Mount data partition
|
||||||
|
sudo bsdtar -xpf "$TEMP" -C "$MOUNT_DATA"
|
||||||
|
sync
|
||||||
|
|
||||||
|
# Copying kernel to boot partition
|
||||||
|
echo -e "\e[1mCopying kernel to boot partition...\e[0m"
|
||||||
|
cp "$MOUNT_DATA/boot/*" "$MOUNT_BOOT"
|
||||||
sync
|
sync
|
||||||
|
|
||||||
# Clean up files
|
# Clean up files
|
||||||
echo -e "\e[1mCleaning up!\e[0m"
|
echo -e "\e[1mCleaning up!\e[0m"
|
||||||
|
for PARTITION in $(ls ${DEVICE_NODE}*)
|
||||||
|
do
|
||||||
|
echo "Unmounting $PARTITION"
|
||||||
|
sudo umount $PARTITION
|
||||||
|
done
|
||||||
rm "${UBOOT_JOB}.zip"
|
rm "${UBOOT_JOB}.zip"
|
||||||
rm -r "$UBOOT_DIR"
|
rm -r "$UBOOT_DIR"
|
||||||
rm "${ROOTFS_JOB}.zip"
|
rm "${ROOTFS_JOB}.zip"
|
||||||
rm -r "$ROOTFS_DIR"
|
rm -r "$ROOTFS_DIR"
|
||||||
|
rm -rf "$MOUNT_DATA"
|
||||||
|
rm -rf "$MOUNT_BOOT"
|
||||||
|
|
||||||
# Done :)
|
# Done :)
|
||||||
echo -e "\e[1mFlashing $DEVICE_NODE OK!\e[0m"
|
echo -e "\e[1mFlashing $DEVICE_NODE OK!\e[0m"
|
||||||
|
|
Loading…
Reference in New Issue