Use fstab to get boot device
This commit is contained in:
@@ -8,7 +8,9 @@ MULTIROM_INST_DIR := $(PRODUCT_OUT)/multirom_installer
|
|||||||
multirom_binary := $(TARGET_ROOT_OUT)/multirom
|
multirom_binary := $(TARGET_ROOT_OUT)/multirom
|
||||||
trampoline_binary := $(TARGET_ROOT_OUT)/trampoline
|
trampoline_binary := $(TARGET_ROOT_OUT)/trampoline
|
||||||
|
|
||||||
BOOT_DEV := /dev/block/platform/msm_sdcc.1/by-name/boot
|
ifeq ($(MR_FSTAB),)
|
||||||
|
$(error MR_FSTAB not defined in device files)
|
||||||
|
endif
|
||||||
|
|
||||||
$(MULTIROM_ZIP_TARGET): multirom trampoline signapk
|
$(MULTIROM_ZIP_TARGET): multirom trampoline signapk
|
||||||
@echo ----- Making MultiROM ZIP installer ------
|
@echo ----- Making MultiROM ZIP installer ------
|
||||||
@@ -17,7 +19,8 @@ $(MULTIROM_ZIP_TARGET): multirom trampoline signapk
|
|||||||
cp -a $(install_zip_path)/prebuilt-installer/* $(MULTIROM_INST_DIR)/
|
cp -a $(install_zip_path)/prebuilt-installer/* $(MULTIROM_INST_DIR)/
|
||||||
cp -a $(TARGET_ROOT_OUT)/multirom $(MULTIROM_INST_DIR)/multirom/
|
cp -a $(TARGET_ROOT_OUT)/multirom $(MULTIROM_INST_DIR)/multirom/
|
||||||
cp -a $(TARGET_ROOT_OUT)/trampoline $(MULTIROM_INST_DIR)/multirom/
|
cp -a $(TARGET_ROOT_OUT)/trampoline $(MULTIROM_INST_DIR)/multirom/
|
||||||
echo $(BOOT_DEV) > $(MULTIROM_INST_DIR)/scripts/bootdev
|
cp $(PWD)/$(MR_FSTAB) $(MULTIROM_INST_DIR)/multirom/mrom.fstab
|
||||||
|
$(install_zip_path)/extract_boot_dev.sh $(PWD)/$(MR_FSTAB) $(MULTIROM_INST_DIR)/scripts/bootdev
|
||||||
echo $(MR_RD_ADDR) > $(MULTIROM_INST_DIR)/scripts/rd_addr
|
echo $(MR_RD_ADDR) > $(MULTIROM_INST_DIR)/scripts/rd_addr
|
||||||
$(install_zip_path)/make_updater_script.sh $(TARGET_DEVICE) $(MULTIROM_INST_DIR)/META-INF/com/google/android "Installing MultiROM for"
|
$(install_zip_path)/make_updater_script.sh $(TARGET_DEVICE) $(MULTIROM_INST_DIR)/META-INF/com/google/android "Installing MultiROM for"
|
||||||
rm -f $(MULTIROM_ZIP_TARGET).zip $(MULTIROM_ZIP_TARGET)-unsigned.zip
|
rm -f $(MULTIROM_ZIP_TARGET).zip $(MULTIROM_ZIP_TARGET)-unsigned.zip
|
||||||
@@ -38,7 +41,7 @@ $(MULTIROM_UNINST_TARGET): signapk
|
|||||||
rm -rf $(MULTIROM_UNINST_DIR)
|
rm -rf $(MULTIROM_UNINST_DIR)
|
||||||
mkdir -p $(MULTIROM_UNINST_DIR)
|
mkdir -p $(MULTIROM_UNINST_DIR)
|
||||||
cp -a $(install_zip_path)/prebuilt-uninstaller/* $(MULTIROM_UNINST_DIR)/
|
cp -a $(install_zip_path)/prebuilt-uninstaller/* $(MULTIROM_UNINST_DIR)/
|
||||||
echo $(BOOT_DEV) > $(MULTIROM_UNINST_DIR)/scripts/bootdev
|
$(install_zip_path)/extract_boot_dev.sh $(PWD)/$(MR_FSTAB) $(MULTIROM_UNINST_DIR)/scripts/bootdev
|
||||||
$(install_zip_path)/make_updater_script.sh $(TARGET_DEVICE) $(MULTIROM_UNINST_DIR)/META-INF/com/google/android "MultiROM uninstaller -"
|
$(install_zip_path)/make_updater_script.sh $(TARGET_DEVICE) $(MULTIROM_UNINST_DIR)/META-INF/com/google/android "MultiROM uninstaller -"
|
||||||
rm -f $(MULTIROM_UNINST_TARGET).zip $(MULTIROM_UNINST_TARGET)-unsigned.zip
|
rm -f $(MULTIROM_UNINST_TARGET).zip $(MULTIROM_UNINST_TARGET)-unsigned.zip
|
||||||
cd $(MULTIROM_UNINST_DIR) && zip -qr ../$(notdir $@)-unsigned.zip *
|
cd $(MULTIROM_UNINST_DIR) && zip -qr ../$(notdir $@)-unsigned.zip *
|
||||||
|
|||||||
35
install_zip/extract_boot_dev.sh
Executable file
35
install_zip/extract_boot_dev.sh
Executable file
@@ -0,0 +1,35 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
FSTAB="$1"
|
||||||
|
DEST_FILE="$2"
|
||||||
|
|
||||||
|
if [ $# != "2" ]; then
|
||||||
|
echo "Usage: $0 [path to fstab] [path to dest dir]"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
itr=-1
|
||||||
|
for tok in $(grep -v "^ *#.*$" "$FSTAB"); do
|
||||||
|
case "$itr" in
|
||||||
|
"-1") # mount point
|
||||||
|
if [ "$tok" = "/boot" ]; then
|
||||||
|
itr="0"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
"0") # filesystem
|
||||||
|
itr=$(($itr+1))
|
||||||
|
;;
|
||||||
|
"1") # device
|
||||||
|
if [ "${tok##/dev*}" ]; then
|
||||||
|
echo "Unsupported fstab format!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "$tok" > "$DEST_FILE"
|
||||||
|
echo "Used boot device: $tok"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Could not find /boot mountpoint in fstab!"
|
||||||
|
exit 1
|
||||||
Reference in New Issue
Block a user