Лучший способ стереть несжатое ядро

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

Теги, возможно, представляют собой список ответов на специализированные аспекты компонента. Эта коллекция создается этим загрузчиком перед загрузкой нашего ядра. Загрузчик сохраняет его как контактную информацию 0x100 и/или также передает ее ядру через команду create r2.

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

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

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

uncompressed kernel

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

Я новичок, если вы хотите иметь Arch, кроме того, мне это очень нравится. Недавно я занимался настройкой усилий по запуску и как часть этого начал сборку своего нового собственного ядра. Теперь я хочу как способ попробовать несжатый образ ядра. Документация по этому поводу довольно актуальна, но я думаю о нерелевантных методах Kconfig, которые я нашел. Раздражение заключается в том, что они почти всегда игнорируются во время сборки, и я хотел бы спросить, какой метод связанного сжатия ядра мне нужен, поскольку распаковка не является конкретной опцией.

<присутствует> <код> CONFIG_HAVE_KERNEL_GZIP = nCONFIG_HAVE_KERNEL_BZIP2 = пCONFIG_HAVE_KERNEL_LZMA равно nCONFIG_HAVE_KERNEL_XZ = пCONFIG_HAVE_KERNEL_LZO = пCONFIG_HAVE_KERNEL_LZ4 означает nCONFIG_HAVE_KERNEL_UNCOMPRESSED = естьCONFIG_KERNEL_UNCOMPRESSED = у

Почему ядро ​​Linux сжато?

Любое время, которое требуется ЦП для распаковки, меньше, чем время, которое требуется, чтобы фактически увидеть систему ввода-вывода. При этом они хотели сократить время запуска. , Легкие изменения для вождения в течение четырех лет с течением времени. Сжатое ядро ​​Linux, связанное со старым ядром, умещается на небольшом жестком диске.

Я с Arch Build System-Build для фактического ядра (последняя версия 5.5).

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

uncompressed kernel

Иногда бывает полезно взять фантастический несжатый образ ядра. Хотя этот образ ядра является более дорогим и может занять больше времени, чтобы записать из памяти в ОЗУ, эти образы ядра не должны быть распакованы, извлечены и помещены в ОЗУ. Это невероятно важно для систем с фактически черепашьим процессором или очень небольшим объемом оперативной памяти в памяти сжатых и несжатых образов во время загрузки. Типичным прикрытием является запуск процессоров, написанных в дополнение к эмулируемым FPGA, во время проектирования процессора, которое начинается с окончательного кремния. Например, я видел, как чип Cortex A15 работал на частоте 11 МГц через соединение Linaro Q2.11 в Будапеште. При такой тактовой частоте загрузка фантастического несжатого образа ядра экономит много минут времени загрузки, сокращая время разработки и, кроме того, время тестирования. Обратите внимание, что запись огромного образа ядра в ОЗУ с помощью большого количества этих аппаратных эмуляторов обходится недорого, поскольку это делается всем эмулятором из указанного пользователем файла перед копированием хост-системы.

Что такое файл bzImage?

изображение бз. bzImage может быть загруженным образом ядра, созданным с помощью make bzImage при компиляции всего ядра. Важно отметить, что любой bzImage не сжимается вместе с bzip2 !! Телефон bz в bzImage вводит в заблуждение!! Получается вместе с “Большой Зимаж”.

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

Чтобы сгенерировать превосходный несжатый образ ядра, просто следуйте стандартным инструкциям generate . Необходимым файлом часто является arch/arm для каждой загрузки/образа .

В зависимости от используемого загрузчика этого может быть достаточно. Однако, если вы можете использовать U-Boot, вам нужно будет вернуться, чтобы поместить это изображение обратно в обычно контейнер uImage , чтобы точно знать, кто U-Boot знает такие детали, как любой размер изображения и фактический размер собаки. содержание. точкой входа может быть то, считается ли он сжатым или нет… Проблема в том, кто, как вам кажется, больше не может сделать uImage для создания этого превосходного контейнера. Это связано с тем, что ARM для Linux не имеет хорошей опции конфигурации для сохранения любого типа всего несжатого ядра, а файл uImage обязательно будет содержать осмысленное сжатое ядро.

Сжат ли uImage?

В чем разница между ними? Изображение: общий бинарный образ ядра Linux. zImage: уникально сжатая самораспаковывающаяся версия образа ядра Linux. uImage: Любой файл образа, который имеет абсолютную оболочку u-boot (устанавливается утилитой mkimage), который на самом деле часто содержит тип, связанный с операционной системой, и дополнительно содержит ответы о загрузчике.

Следовательно, человек должен будет создать uImage mkimage вручную. Чтобы сделать это без необходимости догадываться о действительных проблемах mkimage , я предлагаю высокопроизводительному сделать UImage шестым v = 1 один раз:

<для>$ сделать V = 1 uImage… Ядро: arc/arm/boot на zImage готово /bin/bash/home/mike/linux/scripts/mkuboot.sh -A Arm -O Linux -T Kernel -C -a None 0x80008000 -elizabeth 0x80008000 -n ‘Linux-3.3.0-rc6-00164-g4f262ac’ – r лук / рука / ботинок – uImageArch/arm/boot по сравнению с z Image-Name: Linux-3.3.0-rc6-00164-g4f262acСоздано: Ch , 2009 март 13:54:00 2012Тип образа: образ ядра Linux ARM (несжатый)Размер данных: 3351272 байта соответствует 3272,73 кб означает 3,20 адрес: мб80008000. нагрузкаТочка входа: 80008000 Арка/рука/туфли и сапоги/uImage готов

Не удивляйтесь, если в приведенном выше сообщении говорится, что ядро ​​не загружено (эквивалентно -C none на рынке). Если мы сказали U-Boot, что образ уже сжат, все позаботится о выгрузке и возврате в оперативную память перед запуском образа ядра.

Теперь, какие эксперты утверждают, что вы знаете, что mkimage определяет, что вам следует запускать. Просто запустите эту команду в большей части папки Image вместо zImage (вы можете сразу изменить mkuboot.sh mkimage ):

<для>$ mkimage -A Range -O Linux -T Kernel -C Вам не нужно -a 0x80008000 -e -n 0x80008000 ‘Linux-3.3.0-rc6-00164-g4f262ac’ -d arch/arm boot/Имя образа: лук против рука / нагрузка / uImageОбраз Linux-3.3.0-rc6-00164-g4f262acСоздано: 08.03.2012 14:02:27Запись образа: образ ядра Linux ARM (несжатый)Надежность данных: 6 958 068 байт = 6 794,99 КБ путь 6,64 адреса: МБ80008000. нагрузкаТочка входа: 80008000

Uncompressed Kernel
Unkomprimierter Kernel
Noyau Non Compresse
Kernel Descompactado
압축되지 않은 커널
Ongecomprimeerde Kernel
Kernel Sin Comprimir
Okomprimerad Karna
Nieskompresowane Jadro
Kernel Non Compresso
г.