LINUX.ORG.RU
ФорумTalks

[хочется странного]Дистрибутив по типу ntpasswd

 


0

0

Хочу себе игрушку. Суть такова: система загружается с ядра и initrd и производит какие-то манипуляции с помощью наличествующих там программ. Можно грабить корованы.

Что примерно надо сделать для получения сабжа?

★★★★★
Ответ на: комментарий от AITap

ftp://ftp.slackware.com/pub/slackware/slackware/isolinux/README.TXT

Навскидку для Ъ: берем слаку, стираем все, что в /slackware (а там пакеты), делаем mkisofs -o /tmp/slackware-dvd.iso \ -R -J -A "Slackware Install" \ -hide-rr-moved \ -v -d -N \ -no-emul-boot -boot-load-size 4 -boot-info-table \ -sort isolinux/iso.sort \ -b isolinux/isolinux.bin \ -c isolinux/isolinux.boot \ -V "SlackDVD" .

В остатке получаем маленький исошник, соответствующий задаче в начале топика. Описание менять по вкусу

cascade
()
Ответ на: комментарий от isden

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

AITap ★★★★★
() автор топика
Ответ на: комментарий от gotf

Выбор ранее не выбранного пакета live-initramfs.
Распаковывается пакет live-initramfs (из файла .../live-initramfs_1.154.8-1_all.deb)...
Обрабатываются триггеры для man-db ...
Обрабатываются триггеры для initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.28-11-generic
cpio: ./bin/udevinfo: Cannot stat: No such file or directory
update-initramfs: failed for /boot/initrd.img-2.6.28-11-generic
dpkg: подпроцесс post-installation script возвратил код ошибки 1
E: Sub-process /usr/bin/dpkg returned an error code (2)
aitap@aitap-desktop:~$ ls /boot/
abi-2.6.28-11-generic         memtest86+.bin
config-2.6.28-11-generic      System.map-2.6.28-11-generic
grub                          vmcoreinfo-2.6.28-11-generic
initrd.img-2.6.28-11-generic  vmlinuz-2.6.28-11-generic
aitap@aitap-desktop:~$ 

я систему-то случайно не убил?

AITap ★★★★★
() автор топика
Ответ на: комментарий от AITap

Файл initrd.img представляет из себя cpio.gz Распаковываешь, собираешь (желательно в похожем окружении, например, в той же слаке, и причем если там кастрированный либц, то линковать с ней, а не с той, что в системе - ну, или линковать статикой) нужные пакеты, зажимаешь в cpio.gz обратно, имеешь счастье.

Проблемы могут возникнуть по многим причинам: несоблюдение вышеприведенных рекомендаций, нежелание разбираться самому (как видим, кое-кто не сделал банальный и очевидный user@localhost:~/file initrd.gz), незнание основ сборки софта, непонимание, что есть тулчейн и как собираются дистры....

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

На случай ответа "а мне лениво": тогда остается следовать за леммингами и юзать тулкит пересборки кноппикса или у#бунты, вот только задачу это не решит.

ЗЫ: это я так, выругалсо. А вообще, если вчитаться, то первые два абзаца дают полный и работоспособный ответ.

cascade
()
Ответ на: комментарий от AITap

oh shi~

>>Then build either on your target platform or in a chroot containing your target platform

На всякий случай, переустанови пакет своего ядра - ничего страшного. В следующий раз читай внимательнее.

>>See the live-initramfs man page for more information.

gotf
()
Ответ на: комментарий от cascade

1) Мне не лениво. Просто боюсь ошибиться.

2) initrd = cpio(.gz) - знаю. Не знаю, что можно от cpio ожидать.

3) LFS? Спасибо. Про него-то я и забыл (что понятно, т.к. слышал мельком).

4) Так я убил систему или можно безбоязненно перезагружаться?

AITap ★★★★★
() автор топика
Ответ на: комментарий от gotf

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 
<.........>
aitap@aitap-desktop:~$ sudo dpkg --configure -a
Настраивается пакет initramfs-tools (0.92bubuntu29) ...
update-initramfs: deferring update (trigger activated)

Настраивается пакет user-setup (1.23ubuntu20) ...

Настраивается пакет busybox (1:1.10.2-2ubuntu7) ...
Настраивается пакет live-initramfs (1.154.8-1) ...
update-initramfs: deferring update (trigger activated)

Обрабатываются триггеры для initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.28-11-generic
cpio: ./bin/udevinfo: Cannot stat: No such file or directory
update-initramfs: failed for /boot/initrd.img-2.6.28-11-generic
dpkg: подпроцесс post-installation script возвратил код ошибки 1
<..........>
E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 


Кажется, наступает локальный линуксокапец ><

AITap ★★★★★
() автор топика
Ответ на: комментарий от AITap

Сначала делаем, потом думаем...

ОК, найди пакет своего ядра, распакуй его, замени файлы в /boot, проверь конфиг grub. Это "грязное" решение, но оно должно гарантировать спокойную перезагрузку. Потом уже разбирайся спокойно с пакетами.

gotf
()
Ответ на: комментарий от gotf

Стыдно уже становится задавать вопросы, но, тем не менее:

где я могу найти пакет ядра? (2.6.28-11-generic)

как чинить систему с LiveCD? У меня есть самодельный мультизагрузочный LiveDVD, напихал туда всего, что только возможно от антивирусов до systemrescuecd, но как чинить систему с убунтовского диска, не представляю

AITap ★★★★★
() автор топика
Ответ на: комментарий от AITap

>>где я могу найти пакет ядра?

deb в репозитории.

>>как чинить систему с LiveCD?

chroot в корень убитой системы, дальше штатными методами.

gotf
()
Ответ на: комментарий от AITap

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

gotf
()
Ответ на: комментарий от gotf

Сразу вспоминается http://www.xkcd.ru/349/ :

dpkg: linux-image-2.6.28-11-generic: проблемы зависимостей, но по вашему указанию всё равно производим настройку:
 linux-image-2.6.28-11-generic зависит от initramfs-tools (>= 0.36ubuntu6), однако:
  Пакет initramfs-tools пока не настроен.
Настраивается пакет linux-image-2.6.28-11-generic (2.6.28-11.42) ...
Running depmod.
update-initramfs: Generating /boot/initrd.img-2.6.28-11-generic
cpio: ./bin/udevinfo: Cannot stat: No such file or directory
update-initramfs: failed for /boot/initrd.img-2.6.28-11-generic
Failed to create initrd image.
dpkg: не удалось обработать параметр linux-image-2.6.28-11-generic (--install):
 подпроцесс post-installation script возвратил код ошибки 2
При обработке следующих пакетов произошли ошибки:
 linux-image-2.6.28-11-generic

AITap ★★★★★
() автор топика
Ответ на: комментарий от AITap

А какова вероятность, что initrd не был повреждён, если он существует и имеет размер 7,5 мегабайт?

AITap ★★★★★
() автор топика
Ответ на: комментарий от AITap

Смахивает на очередные кривые убунтовские зависиости.

>>./bin/udevinfo: Cannot stat: No such file or directory

Мне кажется, надо копать в эту сторону -- скрипт не находит udevinfo, следовательно, не может собрать initrd. Это наталкивает на мысль, что и в первый раз оно не собралось. Я почти уверен, что initrd остался неизмененным. Проверь-ка даты модификации...

gotf
()
Ответ на: комментарий от gotf

17 апреля, чтоб его. Спасибо, ЛОР! Постараюсь так больше не тупить.

Модераторам: сотрите, пожалуйста, это убожество.

AITap ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.