<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_rootfs</id>
	<title>Установка rootfs - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://paz00.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_rootfs"/>
	<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_rootfs&amp;action=history"/>
	<updated>2026-05-02T08:21:40Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://paz00.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_rootfs&amp;diff=16&amp;oldid=prev</id>
		<title>Unknown user в 08:13, 15 октября 2014</title>
		<link rel="alternate" type="text/html" href="https://paz00.ru/index.php?title=%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_rootfs&amp;diff=16&amp;oldid=prev"/>
		<updated>2014-10-15T08:13:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Установщик с оф. сайта Ubuntu — это ядро с ramdisk, содержащим скрипты для распаковки rootfs с флешки во внутреннюю память или на SD. По умолчанию ядро-установщик умеет ставить только один вариант rootfs, однако его можно модифицировать в целях получения некого универсального установщика.&lt;br /&gt;
&lt;br /&gt;
===Как работает оф. установщик===&lt;br /&gt;
* После загрузки монтируется флешка, на ней ищется tar.gz с соответствующим именем и контрольной суммой&lt;br /&gt;
* Скрипт ищет самый большой внутренний раздел. Если есть карточка, предлагает ставить на неё&lt;br /&gt;
* Распаковывается рутфс&lt;br /&gt;
* Скрипт установки вызывает update-initramfs из-под chroot&lt;br /&gt;
* update-initramfs hook вызывает flash-kernel&lt;br /&gt;
* flash-kernel ищет раздел с ядром, собирает образ обновленного ядра, используя abootimg, и прошивает новое ядро&lt;br /&gt;
* после перезагрузки загружается установленная система&lt;br /&gt;
&lt;br /&gt;
===Модификация образа установщика=== &lt;br /&gt;
&lt;br /&gt;
Итак, есть [http://cdimage.ubuntu.com/releases/11.10/release/ubuntu-11.10-preinstalled-desktop-armel+ac100.bootimg файл] , представляющий из себя образ, подлежащий разбору программой [http://gitorious.org/ac100/abootimg/blobs/master/README abootimg]. Согласно мануалу, для разборки следует использовать команду:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abootimg -x &amp;lt;bootimg&amp;gt; &amp;lt;bootimg.cfg&amp;gt; &amp;lt;kernel&amp;gt; &amp;lt;ramdisk&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
где &amp;lt;bootimg&amp;gt; — это имя исходного файла, последующие параметры — имена файлов распакованных компонентов.&lt;br /&gt;
&lt;br /&gt;
===Работа с ramdisk=== &lt;br /&gt;
&lt;br /&gt;
Распаковка:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkdir ramdisk&lt;br /&gt;
cd ramdisk&lt;br /&gt;
gunzip -c ../your-ramdisk-file | cpio -i&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Далее, собственно, модификация. Все основные действия выполняются из /scripts/installer, функция mountroot()&lt;br /&gt;
&lt;br /&gt;
Пакуем ramdisk обратно:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find . | cpio -o -H newc | gzip &amp;gt; ../newramdisk.cpio.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Упаковка результата=== &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
abootimg --create &amp;lt;bootimg&amp;gt; -f &amp;lt;bootimg.cfg&amp;gt; -k &amp;lt;kernel&amp;gt; -r newramdisk.cpio.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У меня получился образ [http://paz00.ruac100-tarball-installer.img ac100-tarball-installer.img], &amp;lt;range type=&amp;quot;comment&amp;quot; id=&amp;quot;205919&amp;quot;&amp;gt;который ищет на юсб флешке tar.gz и распаковывает его во внутреннюю память.&amp;lt;/range id=&amp;quot;205919&amp;quot;&amp;gt; Будьте внимательны, убедитесь, что tar.gz единственный и именно тот, который нужен. Этот образ может не отработать на не-ubuntu дистрибутивах, пробуйте, дорабатывайте скрипт.&lt;/div&gt;</summary>
		<author><name>Unknown user</name></author>
	</entry>
</feed>