Зачем использовать uimage вместо zimage

Boot.ima — Как исправить ошибки [РЕШЕНО]

Иногда ошибки boot.ima и другие системные ошибки IMA могут быть связаны с проблемами в реестре Windows. Несколько программ может использовать файл boot.ima, но когда эти программы удалены или изменены, иногда остаются «осиротевшие» (ошибочные) записи реестра IMA.

В принципе, это означает, что в то время как фактическая путь к файлу мог быть изменен, его неправильное бывшее расположение до сих пор записано в реестре Windows. Когда Windows пытается найти файл по этой некорректной ссылке (на расположение файлов на вашем компьютере), может возникнуть ошибка boot.ima. Кроме того, заражение вредоносным ПО могло повредить записи реестра, связанные с Third-Party Application. Таким образом, эти поврежденные записи реестра IMA необходимо исправить, чтобы устранить проблему в корне.

Редактирование реестра Windows вручную с целью удаления содержащих ошибки ключей boot.ima не рекомендуется, если вы не являетесь специалистом по обслуживанию ПК. Ошибки, допущенные при редактировании реестра, могут привести к неработоспособности вашего ПК и нанести непоправимый ущерб вашей операционной системе. На самом деле, даже одна запятая, поставленная не в том месте, может воспрепятствовать загрузке компьютера!

В силу данного риска для упрощения процесса рекомендуется использовать программу для очистки реестра ОС. Программа для очистки реестра автоматизирует процесс поиска недопустимых записей реестра, отсутствующих ссылок на файлы (например, вызывающих ошибку boot.ima) и неработающих ссылок в реестре. Перед каждым сканированием автоматически создается резервная копия с возможностью отмены любых изменений одним щелчком мыши, что обеспечивает защиту от возможности повреждения ПК.

Будучи серебряным партнером Microsoft, мы предоставляем программное обеспечение, которое поможет вам устранить следующие проблемы:

Программа для очистки реестра ОС WinThruster

Предупреждение: Если вы не являетесь опытным пользователем ПК, мы НЕ рекомендуем редактирование реестра Windows вручную. Некорректное использование Редактора реестра может привести к серьезным проблемам и потребовать переустановки Windows. Мы не гарантируем, что неполадки, являющиеся результатом неправильного использования Редактора реестра, могут быть устранены. Вы пользуетесь Редактором реестра на свой страх и риск.

Перед тем, как вручную восстанавливать реестр Windows, необходимо создать резервную копию, экспортировав часть реестра, связанную с boot.ima (например, Third-Party Application):

  1. Нажмите на кнопку Начать.
  2. Введите «command» в строке поиска… ПОКА НЕ НАЖИМАЙТЕ ENTER!
  3. Удерживая клавиши CTRL-Shift на клавиатуре, нажмите ENTER.
  4. Будет выведено диалоговое окно для доступа.
  5. Нажмите Да.
  6. Черный ящик открывается мигающим курсором.
  7. Введите «regedit» и нажмите ENTER.
  8. В Редакторе реестра выберите ключ, связанный с boot.ima (например, Third-Party Application), для которого требуется создать резервную копию.
  9. В меню Файл выберите Экспорт.
  10. В списке Сохранить в выберите папку, в которую вы хотите сохранить резервную копию ключа Third-Party Application.
  11. В поле Имя файла введите название файла резервной копии, например «Third-Party Application резервная копия».
  12. Убедитесь, что в поле Диапазон экспорта выбрано значение Выбранная ветвь.
  13. Нажмите Сохранить.
  14. Файл будет сохранен с расширением .reg.
  15. Теперь у вас есть резервная копия записи реестра, связанной с boot.ima.

Следующие шаги при ручном редактировании реестра не будут описаны в данной статье, так как с большой вероятностью могут привести к повреждению вашей системы. Если вы хотите получить больше информации о редактировании реестра вручную, пожалуйста, ознакомьтесь со ссылками ниже.

Мы не несем никакой ответственности за результаты действий, совершенных по инструкции, приведенной ниже — вы выполняете эти задачи на свой ​​страх и риск.

Windows XP https://www.theeldergeek.com/windows_xp_registry.htm

Windows 7 https://www.theeldergeek.com/windows_7/registry_edits_for_win7.htm

Windows Vista https://support.microsoft.com/kb/2688326 — LetMeFixItMyselfAlways

Booting

Plug the USB BeagleBone cable into your host machine and plug the
external power into the BeagleBone. On your host machine, look at a
TTY named or such. Use screen to connect to it at the
correct baud rate (always 115200 bauds):

Unplug the SD card from your host machine and plug it into the
BeagleBone. Press the BeagleBone reset button near the RJ-45 socket.

After a few seconds, you should get a U-Boot prompt.

Now, we need to do 3 important things:

  1. set the kernel boot parameters
  2. copy the kernel image () in memory
  3. boot that memory location

This is really easy using U-Boot.

At the U-Boot prompt, type:

is a parameter to tell the kernel to print to the console
as soon as possible (even before the UART driver is initialized!). This
is usually possible because the SoC specific code knows how to talk to
its own UART (mostly seen on embedded devices).

mounts the root filesystem as read-only (as opposed to ).

Now, the kernel image must be loaded at its load address (which is
0x80008000). However, if we copy the image contents to this memory
location, U-Boot will get an exception from the ARM CPU when trying to
boot because of unaligned memory accesses. This is because
must be aligned on 0x80008000, not (the encapsulated
doesn’t know about its shell). So the needs to be copied 64
bytes before 0x80008000 (64 bytes being the U-Boot header size):
at 0x80007fc0.

Here’s how to do it with U-Boot:

which means: load file from the FAT filesystem
of the first partition of the first MMC device at memory location
0x80007fc0.

Now we can boot:

Linux should start right away. After a few seconds, the kernel will
execute its init (we specified , which points to Busybox) and
Busybox’s init will ask:

Do so.

You are now commanding the BeagleBone as root!

We could also have loaded (with no appended DTB) and the DTB
at separate memory locations and still use the command this
way:

The command’s second argument, here , is the address of an
initramfs, but we don’t have any; reads as «no argument».

can also be used to boot a directly, although this is
not recommended because adds some protection around it (CRC
check, etc.):

As you already noticed, we’re loading at 0x80008000, and not
0x80007fc0, since the U-Boot header is not present in .

Please note that U-Boot must be built with support to use it (I
believe it’s done by default since I may use it and I didn’t modify the
default build features).

Особенность Tails

Что делает Tails безопаснее других операционных систем?

Поскольку дистрибутив изначально был разработан для обеспечения конфиденциальности и анонимности, он отличается от других операционных систем в нескольких областях:

Tails заставляет все интернет-соединения проходить через сеть Tor. Tor — это всемирная распределенная сеть, которая не позволяет людям, наблюдающим за вашим сетевым подключением, знать, какие веб-сайты вы посещаете. Кроме того, не позволяет этим сайтам узнать ваше физическое местоположение. Для получения более подробной информации о Tor в статье.
Дистрибутив подключается к оборудованию компьютера, но не использует операционную систему или дисководы. Это означает, что на вашем компьютере нет постоянной записи о вашей деятельности. После того, как вы извлечете USB-накопитель Tails или перезагрузите компьютер, вы не сможете сказать, что дистрибутив использовался там.

Tails поставляется с современной технологией шифрования. За счет чего ПО обеспечивает нам безопасность?

Во-первых, дистрибутив обеспечит вас надежной защитой от PGP и OTR для безопасной связи. Во-вторых, автоматическим использованием HTTPS при посещении веб-сайтов. В-третьих, возможностью шифровать файлы на USB-накопителе или DVD-диске. И наконец, со всеми этими функциями конфиденциальности и анонимности вы можете буквально носить его в кармане.

Вот почему фанаты конфиденциальности любят Tails.

Одна из замечательных особенностей дистрибутива заключается в том, что вы можете создать собственную USB-флешку или DVD-диск Tails. А поскольку это бесплатное программное обеспечение, вам нужно иметь в наличии USB-накопитель или DVD-диск, на который вы его установите.

Обеспечение безопасности

Обычно дистрибутив хранит данные только до тех пор, пока вы не выключитесь. Но если вы используете Tails на USB-накопителе с дополнительным доступным пространством, вы можете создать постоянное хранилище.

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

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

Преимущества и недостатки

Преимущества

  • Позволяет хранить зашифрованные данные на USB-накопителе Tails
  • Вы можете установить дополнительные приложения
  • Можно изменить конфигурацию приложений
  • Вы можете открыть постоянное хранилище из других операционных систем

Недостатки

  • Постоянный том виден всем, у кого есть доступ к USB-накопителю.
  • Установка приложений не по умолчанию может нарушить безопасность
  • Изменение конфигурации приложений по умолчанию может ослабить анонимность
  • Доступ к постоянному хранилищу из других операционных систем может поставить под угрозу безопасность

Управление паролями

Одно из лучших применений для постоянного хранения — отслеживать все ваши пароли. Необходимо использовать разные надежные пароли для каждого веб-сайта и приложения, которые в них нуждаются. К сожалению, отслеживать их все без компьютерной помощи практически невозможно.

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

Bringing it all together: creating the SD card

Let’s review what we have:

  • U-Boot’s
  • U-Boot’s
  • Linux’s
  • our root filesystem

We need to put all this on a properly formatted SD card. Until the end
of this document, my SD card device is . Yours might be
different: be careful here.

Delete all existing SD card partitions. Use with the
command to delete everything and write it with . You might need to
unplug/replug your SD card for the changes to be seen by the kernel.

Create a FAT partition and an ext4 partition:

Again, unplug/replug the device.

Format both partitions:

Mount both partitions:

Now, don’t ask me why, but needs to be in the very first sectors
of the partition. Copying it first ensures this. Everything else
can be copied in any order.

Copy files to the FAT partition:

The empty file is read by U-Boot and can be used to
dynamically set initial environment variables. We’re creating an empty
one just to avoid U-Boot complaining it cannot read it.

Copy the root filesystem to the ext4 partition:

Unmount both partitions:

Ready to boot!

Установка Tails

Скачать образ Tails можно перейдя по данной ссылке.

Когда вы запускаете дистрибутив, вы видите экран.

После нажатия Enter появляется экран Tails. Здесь выбирайте язык, раскладку клавиатуры, время.

Кроме того, вы можете активировать набор предлагаемых параметров.

Настроив все параметры нажмите кнопку Запуск Tails.

В нашем случае, подключение к интернету произошло автоматически.

Начало работы

После загрузки с рабочей флешки нам потребуется создать постоянный (persistent) защищенный раздел, своеобразный «жесткий диск на флешке». Это делается через Application → Tails → Configure Persistence.

Перезагружаем компьютер и на загрузочном экране выбираем Use Persistence и More Options, после чего вводим пароль для нашего хранилища.

Из меню внизу экрана выбираем регион

Это важно, поскольку от региона зависят входные узлы Tor. Здесь следует поэкспериментировать

В моем случае лучшим выбором оказалась Дания.

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

Имей в виду, что загрузка занимает некоторое время, а потом Tails еще несколько минут будет подключаться к Tor. Отслеживать процесс можно, щелкнув по иконке Onion Circuits — луковичке в верхнем правом углу экрана.

Спустя некоторое время Tails проинформирует об успешном подключении к Tor. По умолчанию сеть сконфигурирована так, что весь трафик будет проходить через него. Теперь можно скачать все, что нам нужно для работы.

Дистрибутив Tails

Tails — live-дистрибутив Linux, основанный на Debian, и созданный для конфиденциального и анонимного использования сети (шифрование, анонимизация и безопасность перехвата/прослушки трафика).

Tails содержит набор программ и утилит, которые позволяют полностью анонимно выходить в интернет и пользоваться другими сервисами и службами (почта, im-сообщения и прочее). Для достижения приватности дистрибутив использует Tor-сеть.

Растровое изображение

Редкий вид файла IMG, в свое время разработанный компанией Novell. Он представляет собой побитовое изображение. В современных операционных системах этот тип файла уже не используется, но в случае, если пользователь набредет где-нибудь на этот раритет, открыть его можно с помощью графических редакторов.

Способ 1: CorelDraw

Так как данный тип IMG файла является детищем компании Novell, вполне естественно, что открыть его можно с помощью графического редактора от этого же производителя — Corel Draw. Но делается это не напрямую, а через функцию импорта. Для этого нужно сделать следующее:

  1. В меню «Файл» выбрать функцию «Импорт».
  2. Указать тип импортируемого файла как «IMG».

В результате произведенных действий содержимое файла будет загружено в Corel. Чтобы сохранить изменения в том же формате, нужно выполнить экспорт изображения.

Способ 2: Adobe Photoshop

Самый популярный графический редактор в мире тоже умеет открывать файлы IMG. Это можно сделать из меню «Файл» или с помощью двойного щелка мышью по рабочей области Photoshop. Файл готов к редактированию или конвертированию. Сохранить обратно в этот же формат изображение можно с помощью функции «Сохранить как».

Формат IMG используется также для хранения графических элементов различных популярных игр, в частности, GTA, а также для устройств GPS, где в нем отображаются элементы карт, и в некоторых других случаях. Но все это очень узкие сферы применения, которые интересны больше для разработчиков данной продукции.

IMG используется для создания образов дисков, которые могут быть смонтированы в качестве виртуального диска (как внешний жесткий диск) или в качестве виртуального оптического диска (CD или DVD). Для того, чтобы работать с файлами этого формата необходимо найти приемлемую для себя программу, поддерживающую этот формат образов. Установив программу, вы сможете смонтировать образ и получить доступ к файлам внутри него. Некоторые программы, предложенные в списке ниже, также могут создавать образы IMG, содержащие добавленные вами файлы.

UltraISO, как один из самых популярных инструментов для работы с образами, способен читать и создавать более 40 форматов образов, в том числе и IMG. Программ очень популярная по нескольким причинам. Во-первых, UltraISO имеет отличный набор функций по созданию и редактирования уже имеющихся образов. Вы можете просто открыть образ и заменить в нем файлы. Во-вторых, с поддержкой такого большого количества форматов, программа практически не имеет ограничений.

Для просмотра содержимого образа IMG (но не для монтирования) можно использовать IZArc, бесплатный архиватор, который умеет распаковывать образы в папку. После распаковки образа вы сможете открывать из него любые файлы, точно также, как и при монтировании виртуального диска. Иными словами, распаковка образа может полностью заменить операцию монтирования, проблема только в том, что после демонтирования образа на жестком диске не останется лишних файлов, а в случае с распаковкой все папки и файлы нужно будет удалять после использования.

Как извлечь APK файлы с IMG (Разбираем прошивку Android)

  • Получить ссылку
  • Электронная почта
  • Другие приложения

Статья обновилась и теперь доступна и в видео формате. Также она переехала на новый сайт: Как извлечь APK файлы с IMG.

https://youtube.com/watch?v=QIoUafDU74U

Всем привет. Довольно недавно я столкнулся с проблемой на своем новом телефоне, для решения которой мне нужно было достать из прошивки некоторые APK файлы. Поискав в интернете способы решения этой проблемы, я наткнулся на на одну интересную утилиту, которая мне помогла решить эту проблему.

Инструкция как снять образ с Android

  1. Подключите устройство Android к ПК
  2. Запустите программу ADB RUN и перейдите в меню (a) Adb

Узнаем /dev/block разделов

Что такое /dev/block/?  /dev/block/  — это «диски» на которых находятся разделы system, data, cache.

Вариант 1

Данный способ самый простой, но к сожалению узнать, где находиться ядро не возможно.

Для того чтобы узнать /dev/block/ вводим команду:

Получаем список, где видим список с нашими разделами и к каким /dev/block/ они примонтированы

Вариант 2

Подключаем Android к компьютеру в adb вводим:

adb sheell
su
ls -l /dev/block/platform/*/by-name

Получаем весь список блоков.

Снятие образа Android с выбранного раздела

И так когда мы уже знаем где находятся какие разделы, можно приступать к снятию образа Android (дампа) с выбранного раздела. Перед тем как начать убедитесь что у вас достаточно много свободной памяти на карте памяти!

  1. Для того чтобы снять образ необходимо в ADB RUN зайти в меню  (7) Manual Command > (1) Adb
  2. Залогиниться в терминале под Root -ом:

su

3. Набрать linux команду для снятия дампа:

  • где XXXXXXXXX — раздел с которого вы снимаете
  • где NAME_razdel.img — имя которое вы присвоите при снятии образа с выборного раздела (давать имена лучше также как они указаны, если data то data)

Процедура снятия может занять определенное время, от 1 минуты до 15, в это время лучше не дергать ваш Android!

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

Когда вы уже знаете необходимый блок, перейдите в ADB RUN:

  • С главного меню в раздел Backup -> Backup dev/block
  • Выбираем Backup
  • Указываем последние данные с блока (данные после block/)
  • Ждем пока снимется образ (не трогать Android)

Восстановление раздела из созданного образа Android (дампа раздела)

Когда вам будет необходимо выполнить восстановление из ранее созданного образа, нужно сделать вот, что:

Убедитесь что образ все еще находиться в разделе /sdcard — так как бекап создавался именно в этот раздел, либо переместите его обратно.

Прописать следующую команду:

  • где XXXXXXXXX — раздел на которой вы заливаете образ
  • где NAME_razdel.img — имя образа выборного раздела (давать имена лучше также как они указаны, если data то data)

Процедура восстановления может занять определенное время, от 1 минуты до 30 в это время лучше не дергать ваш Android!

Особенно актуально для тех кто не удачно выполнил S-OFF (или планирует выполнить) или неудачно прошил кастомную прошивку, либо после не удачных экспериментов!

Для устройств Sony, HTC, Xiaomi и других устройств на которых есть режим Fastboot могут выполнить восстановление следующим образом после ранее обязательного снятия boot.img (zImage) и system.img (factoryfs.img) скопируйте данные образы на ПК:

  1. Переведите Android в режим fastboot (bootloader) и подключить к ПК;
  2. Файлы boot.img и system.img переместить в папку C:/adb_run/bin;
  3. Запустить ADB RUN и перейти в пункт (a) ADB;
  4. Набрать следующие команды (подробно о Fastboot):

Система будет восстановлена в исходное состояние! Можете продолжать эксперименты!

На этом все! Подписывайтесь и Оставайтесь с сайтом Android +1! Удачи!

Файлы контейнеры (матрёшки)

Многие файлы представляют собой объединения нескольких файлов. К примеру, файлы офисных документов .docx и .odt. Вы можете заменить расширение таких файлов на .zip, открыть любым архиватором и убедиться, что на самом деле это просто контейнеры, содержащие в себе множество файлов. Например, если вы вставили картинку в документ Word, то чтобы извлечь эту картинку, необязательно открывать файл в офисном редакторе — можно поменять расширение, распаковать архив и из него забрать свою картинку обратно. Практически все прошивки (для роутеров, IP камер, телефонов) это контейнеры. ISO образы и образы файловых систем тоже контейнеры. Архивы, как можно догадаться, также содержат в себе сразу несколько файлов.

Выберите файл для скачивания:

Сейчас должно начаться скачивание

(Отмена )

Если не началось автоматически – попробуйте

нажать сюда

Вернуть описание файла

Возникли вопросы? Прочитайте

нашу инструкцию (с видео)

или задайте вопрос на

форуме программы

Попробуйте также:

* Зеркало – это просто местонахождение файла, разные сервера – разные зеркала.

Внимание! Мы стараемся тщательно проверять все программы, но не гарантируем абсолютную безопасность скачиваемых файлов. Администрация сайта не несет ответственности за содержание файлов, программ и возможный вред от их использования

Запись IMG-образа на флешку.

Запускаем программу Win32DiskImager.(Рис.2)

Добавляем IMG-образ.

Жмём на синюю папку -> в проводнике выбираем образ.

Рис.2 – Стартовое окно Win32DiskImager.

Далее в разделе “Device“Устройство выберете букву вашего USB-накопителя.(Рис.3)

Рис.3 – Выбор USB-накопителя.

Всё готово… Жмём “Write“Записать.(Рис.4)

Рис.4 – Жмём Write.

Writing to a physical device can corrupt the device. (Target Device: “EFI”) Are you sure you want to continue?

Запись на физическое устройство может привести к повреждению устройства. (Целевое устройство: “EFI”) Вы уверены что хотите продолжить?

Какое странное предупреждение… обычно пишут про форматирование… удаление данных с USB-накопителя…

В общем, убеждаемся, что правильно выбрали букву диска и жмём “YES“.(Рис.5)

Рис.5 – Предупреждение.

Ждём пока закончится процесс загрузки файла на флешку. (Рис.6)

Рис.6 – Ждём пока завершится процесс загрузки файлов на флешку.

Write successful.[Запись успешна завершена(Рис.7)

Жмём “OK” -> Выходим из программы -> Вытаскиваем USB-накопитель.

Рис.7 – Запись успешна завершена.

Вот и всё, флешка с pfSense готова. Работает и с BIOS и с UEFI, Проверено!

У меня всё!

Была ли вам полезна статья? Есть возможность поддержать проект.

Вопросы и ответы по программе

фОРМАТ (1)
Как после этой программы восстановить карту памяти до прежнего состояния? Карта… (1)
Win32 Disk Imager не видит мини-флешку вставленную в картридер (1)
Могу ли я пользоваться программой без кардридера? (1)

Задайте свой вопрос! Смотреть все!

 

Установка Win32 Disk Imager на Windows

Процесс установки программы Win32 Disk Imager ничем не отличается от установки других приложений в операционной системе Windows. Давайте кратко пройдёмся по всем пунктам.

Запускаем инсталлятор и соглашаемся с лицензионным соглашением. Нажимаем «Next».

В случае необходимости изменяем каталог установки программы. Жмем «Next».

Если хотим, изменяем каталог установки ярлыков программы. Жмем «Next».

Шаг 4

Отмечаем галочкой пункт «Create a desktop shortcut», если хотим, чтобы ярлык на запуск программы Win32 Disk Imager был создан и на рабочем столе. Жмем «Next».

Проверяем введённые параметры, и подтверждаем начало процесса установки, нажимаем «Install».

Шаг 6

Установка завершена, нажимаем «Finish».

Полное описание

Программа Win32 Disk Imager необходима для записи информации с разделов USB флешек и SD карт от мобильных девайсов. Полученное содержимое можно сохранить на компьютер, а также записать на CD, DVD, Flash или любой другой накопитель. 

Имеется функция резервного копирования, что пригодится на случай, если вам понадобится восстановить какую-либо информацию. Для этого достаточно открыть главное окно, нажать на кнопку с изображением папки, указать путь к IMG, затем выбрать нужное устройство во вкладке Device. Полезный инструмент получил удобный и интуитивно понятный интерфейс, несмотря на его англоязычную локализацию. Стоит отметить, что софт не требует установки. Просто запускаем EXE и подтверждаем лицензионное соглашение.

Linux kernel image format

Compare

Image zImage
Kernel image file Image file compression
About 4MB Less than 2MB

Common Linux kernel image format

The Linux kernel has a variety of image formats, includingvmlinux,Image,zImage,bzImage,uImage, xipImage, bootpImage and so on.

kernel image formats: vmlinux

  • vmlinux is bootable, uncompressed, compressible kernel image, vm on behalf of Virtual Memory (expressed Linux support virtual memory) is obtained from the user to the kernel source code compiler, in essence, elf format.;vmlinux is the most primitive kernel file

    • elf format file
      • ELF (Executable and Linkable Format) Executable Linkable Format, is a binary interface UNIX lab released;
      • Elf file format, in addition to over-binary code, executable files include some information, such as the symbol table and the like.

kernel mirror mode: Image

  • Image processing is the result of objcopy kernel code contains only the binary data, it is not the elf format, but has not been compressed.
    • objcopy:
      • Copy contents of a target file to another object file (to convert the file into another one target format object file format);
      • By using an output target of binary (binary -o), you can generate a binary file of the original,In essence, all the information symbols and relocation information deleted, leaving only the binary data.

kernel image formats: zImage

  • ARM Linux zImage is commonly used as a compressed image file, which is the result obicopy, generated by vmlinux Image, then the binary dataPlusDecompression of codescompressed gzipMade;
  • Linux multi-image file format stored on NAND, applies to a small core;

Mirror kernel mode: bzImage

  • bz denotes Big zImage, which zImage format is similar but with a different compression algorithms, attention,The higher the compression ratio bzImage is the compressed kernel image。

  • zImage / bzImage: theyNot only is a compressed fileAnd in these two documentsThe beginning of the compressed code embedded solvability. Difference between the two is that the old core decompression to zImageLow memory(First 640K), bzImage decompression kernel toHigh memory(1M or more). If the core is relatively small, it may take one or zImage bzImage, two ways to guide runtime system is the same. Large kernel using bzImage, can not be used zImage.

Mirror kernel mode: uImage

uImage is dedicated uboot image filesIt isBefore zImage plusOneLength of 0x40 header information (tag) (that is to say uImage is a binary file), In the header information that describes the type of the image file, loading position, generation time, size and other information. In other words, if started from 0x40 uImage position, the zImage uImage and there is no difference. The command format is #make uImage. Linux multi-image file format stored on the NAND.

kernel image formats: xipImage

Linux image file in this formatAnd more stored on NorFlashAnd need not be copied into the runtime memory SDRAM can run directly in the NorFlash.

Функции чтения и записи в регистры

Литература: Техническое справочное руководство, схема.

Адреса регистров описаны в техническом руководстве, B.28 (с. 1554).

#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <errno.h>#include <fcntl.h>#include <signal.h>#include <sys/mman.h>#define FATAL do { fprintf(stderr, «Error at line %d, file %s (%d) \n», \  __LINE__, __FILE__, errno, strerror(errno)); exit(1); } while(0)#define MAP_SIZE                        4096UL#define MAP_MASK                        (MAP_SIZE — 1)#define BASE_ADDRESS                    0xF8000000#define SET_AS_GPIO                     0x1200#define SET_UNLOCK                      0xDF0D#define SLCR_UNLOCK                     0x8#define MIO_PIN_8                       0x720#define MIO_PIN_10                      0x728/*Чтение регистров по адресу*/void register_read(unsigned long addr){        int fd;        void *map_base, *virt_addr;        unsigned long read_result;        if((fd = open(«/dev/mem», O_RDWR | O_SYNC)) == -1) FATAL;        fflush(stdout);        /* Map one page */        map_base = mmap(, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, BASE_ADDRESS & ~MAP_MASK);        if(map_base == (void *) -1) FATAL;        fflush(stdout);        virt_addr = map_base + ((BASE_ADDRESS + addr) & MAP_MASK);        read_result = *((unsigned long *) virt_addr);        printf(«0x%08X r: 0x%X\n», addr, read_result);        fflush(stdout);}/*Запись в регистр по адресу*/void register_write(unsigned long addr, unsigned long writeval){        int fd;        void *map_base, *virt_addr;        unsigned long read_result;        if((fd = open(«/dev/mem», O_RDWR | O_SYNC)) == -1) FATAL;        // printf(«/dev/mem opened.\n»);        fflush(stdout);        /* Map one page */        map_base = mmap(, MAP_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED, fd, BASE_ADDRESS & ~MAP_MASK);        if(map_base == (void *) -1) FATAL;        // printf(«Memory mapped at address %p.\n», map_base);        fflush(stdout);        virt_addr = map_base + ((BASE_ADDRESS + addr) & MAP_MASK);        *((unsigned long *) virt_addr) = writeval;        read_result = *((unsigned long *) virt_addr);        printf(«0x%08X w: 0x%X\n», addr, read_result);}int main (void){               /*Изначально, при загрузке, MIO_PIN_8 (на нём висит диод DS12) не сконфигурирован для GPIO, исправим это.*/        register_write(SLCR_UNLOCK, SET_UNLOCK); // Необходимый анлок регистров        register_read(MIO_PIN_8); // Считываем начальное значение регистра        register_write(MIO_PIN_8, SET_AS_GPIO); // Записываем новое значение        register_read(MIO_PIN_8); // Считываем новое значение регистра}

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: