Как смонтировать файловую систему yaffs2

В состоянии Вы для доступа к плавающему IP от хоста devstack? Если так, Вы, возможно, должны включить proxy_arp и ip_forward, с помощью (как корень или sudoer):

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

существуют более подробные инструкции в сообщении, которое я записал здесь:

http://barakme.tumblr.com/post/70895539608/openstack-in-a-box-setting-up-devstack-havana-on-your

6
задан 10.03.2020, 23:47

5 ответов

Ubuntu в настоящее время не поддерживает YAFFS2. Существует запрос функции для упаковки модуля ядра YAFFS2, который обеспечит поддержку монтирования файловой системы: [needs-packaging] yaffs2 .

Поддержка ядра

Таким образом, в настоящее время, если вам нужна поддержка монтирования, вам придется скомпилировать ее самостоятельно. На сайте YAFFS есть инструкции по компиляции ядра Linux с поддержкой YAFFS (с использованием Precise 32-bit):

В вики Ubuntu также есть общая информация о компиляции вашего собственного ядра .

Извлечение и перестройка

В качестве альтернативы попробуйте использовать yaffs2utils для извлечения и перестройки изображения.

Обратите внимание, что из-за ошибки , вы должны указать опцию --yaffs-ecclayout, иначе она будет молча провалиться. Итак, чтобы извлечь, попробуйте что-то вроде

git clone https://code.google.com/p/yaffs2utils/
cd yaffs2utils && make && cd ..
./yaffs2utils/unyaffs2 --yaffs-ecclayout system.img tempdir

Теоретически вы также можете перестроить образ, используя mkyaffs2, но я не смог заставить его работать (результат не был загрузочным).

Yaffey

Я нашел программу, Yaffey , которая позволяет редактировать изображение YAFFS2 с помощью графического интерфейса:

Yaffey

[ 1140] Хотя домашняя страница сообщает, что она предназначена только для Windows, с тривиальным изменением она компилируется в Ubuntu Precise. Для этого:

  1. Установить зависимости: sudo apt-get install qt-sdk
  2. hg clone https://code.google.com/p/yaffey/
  3. В файле yaffey/yaffs2/yaffs_guts.h изменить строку

    typedef unsigned loff_t;
    

    -

    #include <stdlib.h>
    
  4. Компилировать: cd yaffey && qmake && make
  5. Выполнить ./yaffey.
  6. Откройте свое изображение, внесите необходимые изменения и сохраните (он отказывается перезаписывать; вам нужно выбрать другое имя файла).

Когда я попробовал, полученное изображение успешно загрузилось в эмуляторе Android.

13
ответ дан 10.03.2020, 23:47

Я думал, что обновлю это с Ubuntu 13. Мне нужно было внести некоторые изменения, чтобы заставить его скомпилировать, что, я надеюсь, поможет другим.

  1. Редактировать yaffey.pro и под

    QT += core gui

    Добавить

    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

  2. [ 1115] Отредактируйте MainWindow.cpp и выполните поиск / замену:

    setResizeMode с setSectionResizeMode

  3. Отредактируйте YaffTreeView.cpp и под

    [114 ]

    Добавить

    #include <QMimeData>

После этого вы сможете компилировать.

2
ответ дан 10.03.2020, 23:48

После следующего nospam & amp; Механические шаги Улитки Мне также пришлось внести это изменение в main.cpp

изменить:

#include <QtGui/QApplication>

на:

#include <QtWidgets/QApplication>

Затем он, наконец, скомпилирован

1
ответ дан 10.03.2020, 23:49

только для пользователей имеют дело с ext4 разреженным изображением (android system.img)


0. yaffs2 ИЛИ ext4

Android изначально использовал YAFFS2 в качестве файловой системы. После Android 2.3 файловая система стала ext4.

из https://stackoverflow.com/questions/23946910/

1. определить тип изображения

file system.img
system.img: VMS Alpha Exectutable

// это yaffs2 image

file system.img
system.img: data

// это может быть разреженное изображение ext4

blkid -pO 40 system.img 
system.img: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" VERSION="1.0" TYPE="ext4" USAGE="filesystem"

// да, это разреженное ext4 image

// 40 = sizeof (struct sparse_header) + sizeof (struct chunk_header)

ref: исходный код simg2img

2. simg2img для разреженного изображения ext4

как ответ mfisch.

преобразовать разреженное изображение в необработанное изображение:

./simg2img system.img system_raw.img

mount:

sudo mount -t ext4 system_raw.img tmpmnt/
0
ответ дан 10.03.2020, 23:49

0. yaffs2 ИЛИ ext4

Android изначально использовал YAFFS2 в качестве файловой системы. После Android 2.3 файловая система стала ext4.

из https://stackoverflow.com/questions/23946910/

1. определить тип изображения

file system.img
system.img: VMS Alpha Exectutable

// это yaffs2 image

file system.img
system.img: data

// это может быть разреженное изображение ext4

blkid -pO 40 system.img 
system.img: UUID="57f8f4bc-abf4-655f-bf67-946fc0f9f25b" VERSION="1.0" TYPE="ext4" USAGE="filesystem"

// да, это разреженное ext4 image

// 40 = sizeof (struct sparse_header) + sizeof (struct chunk_header)

ref: исходный код simg2img

2. simg2img для ext4 разреженного изображения

Это разреженная файловая система, я думаю, вам сначала нужно ее разобрать, используя simg2img . Вы можете скачать его как часть ext4_utils, которую я разместил на здесь , когда я использовал его на изображениях Nexus7. Распакуйте образ и смонтируйте его следующим образом:

Распакуйте:

./simg2img rootfs.img rootfs.ext4

Монтируйте:

sudo mount -o loop rootfs.ext4 tmpmnt/

После того, как вы распаковали и взломали его, вы восстанавливаете его, используя make_ext4fs. Вероятно, вам следует прочитать запись в блоге, которую я сделал о взломе образа Nexus7 , так как он охватывает большую часть этого, и сценарий, на который он ссылается, может быть полезен.

4
ответ дан 10.03.2020, 23:50
  • 1
    Извините я полностью пропустил это, Вы пробовали unyaffs2 инструмент? code.google.com/p/unyaffs/downloads/… – Jakob 10.03.2020, 23:50
  • 2
    Да, я смог извлечь его с unyaffs, но с тех пор that' s не действительно монтирование I can' t принимают этот ответ. Я предполагаю it' s не в настоящее время возможный. Btw, у Вас есть интересный блог:) – Nitin Alabur 10.03.2020, 23:51
  • 3
    I' ve также читают, но не попробованные, что можно скомпилировать поддержку yaffs2 в ядро и просто смонтировать его как этот. Возможно, простое решение здесь должно смонтировать его на устройстве на базе Android? – Ken Yu 10.03.2020, 23:51
  • 4
    Спасибо за ответ, но меня don' t думают, что это будет работать. simg2img только выводы " Плохой Magic". гугление сказало мне, что это происходит при использовании его на чем-либо that' s не сжатое изображение ext4 и yaffs2 isn' t сжатое изображение ext4. – Soul_Master 10.03.2020, 23:51

Теги

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