01 июля | 2024г. | 07:28:38


АвторТема: [FIX + UPDATE] MULTIBOOT - ARM64  (Прочитано 6106 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Оффлайн cacimbo

  • Падаван
  • *
  • Сообщений: 35
  • Поблагодарили: 7
  • Уважение: 0
[FIX + UPDATE] MULTIBOOT - ARM64
« Первое сообщение: 16 ноября | 2019г. | 11:31:41 »
0
что то у меня не получается вообще создать на карте андроид( на NN2
Спойлер   :
root@dreambox:~$ cd /data
root@dreambox:/data$ tar -xzvf android_sdcard.tar.gz -C /
data/
data/android/
data/android/bootlogo.bmp
data/android/odm.img
data/android/autoexec.img
data/android/boot.img
data/android/update_sd.sh
data/android/cache.img
data/android/fw_setenv
data/android/fw_printenv
data/android/product.img
data/android/flash_all_sd.sh
data/android/system.img
data/android/env.txt
data/android/vendor.img
data/android/fw_env.config
root@dreambox:/data$ cd /data/android
root@dreambox:/data/android$  ./flash_all_sd.sh /dev/mmcblk1p1
Dreambox Android flash all sdcard script
Running from: /data/android

Umounting device...
Done

Partitioning /dev/mmcblk1p1 device...
./flash_all_sd.sh: line 42: cannot create temp file for here-document: No space left on device

а вот и сам  ./flash_all_sd.sh

Спойлер   :
#!/bin/sh
set -e

PWD=`pwd -P`

BOOT_SIZE=1048576
SYSTEM_SIZE=`expr $(stat -c %s system.img) / 512 + 1`
VENDOR_SIZE=`expr $(stat -c %s vendor.img) / 512 + 1`
PRODUCT_SIZE=`expr $(stat -c %s product.img) / 512 + 1`
ODM_SIZE=`expr $(stat -c %s odm.img) / 512 + 1`
CACHE_SIZE=`expr $(stat -c %s cache.img) / 512 + 1`
METADATA_SIZE=262144
#CACHE_SIZE=135168

echo "Dreambox Android flash all sdcard script"

if [ -z ${1+x} ]; then
   echo "Usage: $0 [device]"
   exit 1
fi

BLOCK=$1
PART=
if echo $BLOCK| grep -q  "mmcblk"; then
   PART=p
fi

drive_umount() {
   echo "Umounting device..."
   for i in {9..1}; do
      if [ $(mount | grep -c ${BLOCK}${PART}${i}) != 0 ]; then
         umount -l ${BLOCK}${PART}${i}
      fi
   done
   echo "Done"
   echo
}

drive_partition() {
   # Make partitions, we assume 512 bytes for sector
   echo "Partitioning $BLOCK device..."
   sfdisk $BLOCK << EOF
,$BOOT_SIZE,c
,$SYSTEM_SIZE,83
,$VENDOR_SIZE,83
,,5
,$PRODUCT_SIZE,83
,$ODM_SIZE,83
,$CACHE_SIZE,83
,$METADATA_SIZE,83
,,83;
EOF
   echo "Done"
   echo
}

format_partitions() {
   # format boot partition
   echo "Formatting boot partition..."
   mkfs.vfat ${BLOCK}${PART}1 -n boot
   echo "Done"
   echo

   # format cache partition
   #echo "Formatting cache partition..."
   #mkfs.ext4 -F ${BLOCK}${PART}7 -L cache
   #echo "Done"
   #echo

   # format metadata partition
   echo "Formatting metadata partition..."
   mkfs.ext4 -F ${BLOCK}${PART}8 -L metadata
   echo "Done"
   echo

   # format data partition
   echo "Formatting data partition..."
   mkfs.ext4 -F ${BLOCK}${PART}9 -L data
   echo "Done"
   echo
}

dump_images() {
   # dump system image
   echo "Dumping system image..."
   dd if=${PWD}/system.img of=${BLOCK}${PART}2 bs=8M
   echo "Done"
   echo

   # dump vendor image
   echo "Dumping vendor image..."
   dd if=${PWD}/vendor.img of=${BLOCK}${PART}3 bs=8M
   echo "Done"
   echo

   # dump product image
   echo "Dumping product image..."
   dd if=${PWD}/product.img of=${BLOCK}${PART}5 bs=8M
   echo "Done"
   echo

   # dump odm image
   echo "Dumping odm image..."
   dd if=${PWD}/odm.img of=${BLOCK}${PART}6 bs=8M
   echo "Done"
   echo

   # dump cache image
   echo "Dumping cache image..."
   dd if=${PWD}/cache.img of=${BLOCK}${PART}7 bs=8M
   sync
   echo "Done"
   echo
}

copy_boot_files() {
   # temporary mount boot partition and copy files
   echo "Copying boot files..."
   rm -rf /tmp/tmp-boot
   mkdir /tmp/tmp-boot
   mount ${BLOCK}${PART}1 /tmp/tmp-boot
   cp ${PWD}/boot.img /tmp/tmp-boot
   cp ${PWD}/autoexec.img /tmp/tmp-boot
   cp ${PWD}/bootlogo.bmp /tmp/tmp-boot
   sync
   umount -l /tmp/tmp-boot
   rm -rf /tmp/tmp-boot
   echo "Done"
   echo
}

echo "Running from: ${PWD}"
echo

drive_umount
drive_partition

# wait for automount
echo "Waiting for automount"
sleep 20
echo "Done"
echo

drive_umount
format_partitions
dump_images
copy_boot_files

# set autoboot env

START_ANDROID=`${PWD}/fw_printenv -c ${PWD}/fw_env.config | grep boot_android_from_sdcard -c`
START_MMC=`${PWD}/fw_printenv -c ${PWD}/fw_env.config | grep start_mmc_autoscript -c`

if [ 0 == `expr $START_ANDROID + $START_MMC` ];
then
   echo "Updating u-boot environments for autoboot.."
   ${PWD}/fw_setenv -c ${PWD}/fw_env.config -s ${PWD}/env.txt
   echo "Done"
   echo
fi

echo "Completed"



Теги:
 

Похожие темы

  Тема / Автор Ответов Последний ответ
48 Ответов
32608 Просмотров
Последний ответ 15 февраля | 2011г. | 01:51:38
от anatoly
2 Ответов
8021 Просмотров
Последний ответ 10 мая | 2012г. | 23:25:16
от Cms
101 Ответов
46738 Просмотров
Последний ответ 12 августа | 2015г. | 13:06:03
от сергей 999s
2 Ответов
2538 Просмотров
Последний ответ 13 декабря | 2020г. | 22:21:31
от Renolc
24 Ответов
19187 Просмотров
Последний ответ 26 октября | 2021г. | 09:13:46
от oys



X

Добро пожаловать!

Мы заметили, что у Вас установлено расширение AdBlock или ему подобное. Пожалуйста добавьте наш Клуб в белый список, внесите этим посильную лепту в его развитие. Спасибо!