Виртуальная машина ARM в Ubuntu

Проблема не в $ i , проблема в синтаксисе конструкции for . Вам нужна новая строка или ; перед do (если используется сразу после для объявления ):

for i in {0..9}; do
    T=$(bc <<<"8+$i*0.5")
    echo "$T"
done 

Или

for i in {0..9} 
do
    T=$(bc <<<"8+$i*0.5")
    echo "$T"
done

Для ясности лучше использовать пробел перед строкой здесь ( <<< ) (и аналогичные).

Хотя это и не обязательно в данном случае, вам следует указать расширения переменных.

2
01.11.2016, 16:56
1 ответ
sudo mount -o loop,offset="$(file vexpress.img | awk 'BEGIN { RS=";"; } \
/partition 2/ { print $7*512; }')" \
-t auto vexpress.img /mnt/tmp

То, что делает приведенная выше команда, на самом деле просто: Она находит начальный сектор раздела 2 изображения vexpress.img , умножьте его на 512 и возьмите результат как смещение, чтобы смонтировать как устройство петли.

Команда mount принимает значение смещения в байте . Каждый сектор имеет 512 байтов, поэтому умножение смещения начального сектора на 512 даст начальное смещение в байтах.

Вот альтернативный способ сделать это: (в качестве примера я беру необработанный образ raspbian)

  1. Найдите смещение:

     $ fdisk -lu 2016-09-23-raspbian-jessie-lite.img {{ 1}} Диск 2016-09-23-raspbian-jessie-lite.img: 1.3 ГиБ, 1389363200 байт, 2713600 секторов 
    Единицы: секторы размером 1 * 512 = 512 байт 
    Размер сектора (логический / физический): 512 байт / 512 байт 
    Размер ввода-вывода (минимум / оптимальный): 512 байт / 512 байт 
    Тип метки диска: dos 
    Идентификатор диска: 0x5a7089a1 
     
    Начальный размер конечных секторов загрузки устройства Тип идентификатора {{1} }} 2016-09-23-raspbian-jessie-lite.img1 8192 137215 129024 63M c W95 FAT32 (LBA) 
    2016-09-23-raspbian-jessie-lite.img2 137216 2713599 2576384 1.2G 83 Linux 
     

Начальное смещение второго раздела - 137216 . Как и ваш vexpress.img , раздел 2 - это корневой раздел, который нас интересует.

  1. Простая математика:

     $ perl -e "print 137216 * 512" 
    70254592 { {1}} 
  2. Установите его:

     sudo mount -o loop, offset = 70254592 vexpress.img / mnt / tmp 
     
2
27.01.2020, 22:10

Теги

Похожие вопросы