Re: разобрать и собрать initrd

2018-08-23 Пенетрантность sergio

On 23/08/2018 10:35, Eugene Berdnikov wrote:


где лежат lsinitramfs, unmkinitramfs и т.д.



On 23/08/2018 05:14, Tim Sattarov wrote:


/usr/bin/lsinitramfs
/usr/bin/unmkinitramfs
/usr/sbin/mkinitramfs



Урра, теперь есть unmkinitramfs и mkinitramfs!

lsinitramfs был давно, а вот unmkinitramfs и mkinitramfs только
с предыдущей версии и в стэйбле их нет.


--
sergio.



Re: разобрать и собрать initrd

2018-08-23 Пенетрантность Anton Gorlov

Эм.. чрут и update-initramfs

23.08.2018 02:26, sergio пишет:



Вообще это скорее письмо негодования.

Я уже всё починил ещё до того, как написал письмо. Но это в этот повезло 
не очень сложно подмонтировать раздел и чрутнутся в него. Архитектура 
одинаковая была.


В детстве я собирал и разбирал initrd руками парой команд. А теперь это 
какая-то хитрослепленная штука, в которую ни руками не залезть, ни 
инструмента нет.




Re: разобрать и собрать initrd

2018-08-23 Пенетрантность Eugene Berdnikov
On Thu, Aug 23, 2018 at 02:26:48AM +0300, sergio wrote:
> Вообще это скорее письмо негодования.
> 
> Я уже всё починил ещё до того, как написал письмо. Но это в этот
> повезло не очень сложно подмонтировать раздел и чрутнутся в него.
> Архитектура одинаковая была.
> 
> В детстве я собирал и разбирал initrd руками парой команд. А теперь
> это какая-то хитрослепленная штука, в которую ни руками не залезть,
> ни инструмента нет.

 Главный инструмент айтишника это голова, особенно если она хранит
 тёплые воспоминания детства. Простой "apt-cache search initrd" выдаёт
 релевантные ссылки, также нетрудно догадаться (или просто заметить на
 практике), что любое ядро пакетируется со скриптами, которые пересобирают
 initrd при установке. Эти скрипты лежат в /var/lib/dpkg/info/ и вполне
 доступны для чтения. Но ещё проще посмотреть, от чего зависит пакет
 с ядром. Т.е. пять минут поиска выведут на intramfs-tools, где лежат
 lsinitramfs, unmkinitramfs и т.д.
-- 
 Eugene Berdnikov



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Tim Sattarov


> % file /boot/initrd.img-4.9.0-8-amd64
> /boot/initrd.img-4.9.0-8-amd64: ASCII cpio archive (SVR4 with no CRC)
>
> Только не надо думать, что это cpio archive.
>
>
man mkinitramfs:
...
The initramfs is a compressed cpio archive.
...



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Tim Sattarov


On 08/21/18 21:11, sergio wrote:
> А как в этом нашем дебиане разобрать initrd (что бы поменять в нём файл) и 
> собрать обратно?
>
>

Покопался, нашёл:

# dpkg -L initramfs-tools-core| grep bin
/usr/bin
/usr/bin/lsinitramfs
/usr/bin/unmkinitramfs
/usr/sbin
/usr/sbin/mkinitramfs

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



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Tim Sattarov
On 08/22/18 19:26, sergio wrote:
>
> Ну вот сломал я initrd, бэкапа нет. Знаю что сломал, знаю что и куда надо 
> положить, что бы всё
> взлетело.
я бы в таком случае грузился с внешнего винта/флэшки и переделывал initrd, 
копаться в нём радости мало.



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность sergio

On 22/08/2018 18:52, Victor Wagner wrote:


Наскоько я понимаю, вопрос не в том "как разобрать", а "как сделать
так чтобы при последующей перегенерации initrd при апгрейде ядра или
еще какого пакета, который что-то в initrd кладет, измененный файл бы
оттуда не пропал".


Нет, именно в том, как разобрать и собрать снаружи хоста.

Ну вот сломал я initrd, бэкапа нет. Знаю что сломал, знаю что и куда 
надо положить, что бы всё взлетело.




Вообще это скорее письмо негодования.

Я уже всё починил ещё до того, как написал письмо. Но это в этот повезло 
не очень сложно подмонтировать раздел и чрутнутся в него. Архитектура 
одинаковая была.


В детстве я собирал и разбирал initrd руками парой команд. А теперь это 
какая-то хитрослепленная штука, в которую ни руками не залезть, ни 
инструмента нет.


--
sergio.



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Victor Wagner
On Wed, 22 Aug 2018 04:11:31 +0300
sergio  wrote:

> А как в этом нашем дебиане разобрать initrd (что бы поменять в нём
> файл) и собрать обратно?
> 
> 

Наскоько я понимаю, вопрос не в том "как разобрать", а "как сделать
так чтобы при последующей перегенерации initrd при апгрейде ядра или
еще какого пакета, который что-то в initrd кладет, измененный файл бы
оттуда не пропал".



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Maxim Nikulin

22.08.2018 08:11, sergio пишет:
А как в этом нашем дебиане разобрать initrd (что бы поменять в нём файл) 
и собрать обратно?


Как разобрать, можно почитать /usr/bin/lsinitramfs



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Sergey B Kirpichev
On Wed, Aug 22, 2018 at 04:32:03PM +0300, sergio wrote:
> On 22/08/2018 11:19, Sergey B Kirpichev wrote:
> > Как-то так:
> > gunzip -c -9 ../$(ARCH).orig/install.amd/initrd.gz | cpio -i -d -H newc 
> > --no-absolute-filenames
> > find . | cpio -o -H newc | gzip -9 > ../$(ARCH)/install.amd/initrd.gz
> 
> Это уже всё давно не правда. У вас по-прежнему etch?

Это wheezy, если я правильно помню.  Кусок макефайла, который правит
диск для последующей нарезки.  Должен работать и на stretch, хотя
не уверен что проверялось.



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность sergio

On 22/08/2018 11:19, Sergey B Kirpichev wrote:


Как-то так:



gunzip -c -9 ../$(ARCH).orig/install.amd/initrd.gz | cpio -i -d -H newc 
--no-absolute-filenames



find . | cpio -o -H newc | gzip -9 > ../$(ARCH)/install.amd/initrd.gz



Это уже всё давно не правда. У вас по-прежнему etch?


% cat /etc/debian_version.dpkg-dist
9.5

% file /boot/initrd.img-4.9.0-8-amd64
/boot/initrd.img-4.9.0-8-amd64: ASCII cpio archive (SVR4 with no CRC)

Только не надо думать, что это cpio archive.


--
sergio.



Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Anton Gorlov

А задача вообще какая, что понадобилось вручную в инитрд править что-то?

22.08.2018 04:11, sergio пишет:
А как в этом нашем дебиане разобрать initrd (что бы поменять в нём файл) 
и собрать обратно?







Re: разобрать и собрать initrd

2018-08-22 Пенетрантность Sergey B Kirpichev
On Wed, Aug 22, 2018 at 04:11:31AM +0300, sergio wrote:
> А как в этом нашем дебиане разобрать initrd (что бы поменять в нём файл) и
> собрать обратно?

Как-то так:
-->8--
initrd: $(ARCH).orig preseed.cfg.clean
mkdir initrd
cd initrd && \
gunzip -c -9 ../$(ARCH).orig/install.amd/initrd.gz | \
sudo cpio -i -d -H newc --no-absolute-filenames
sudo cp preseed.cfg.clean initrd/preseed.cfg

$(ARCH)/install.amd/initrd.gz: initrd initrd/preseed.cfg
cd initrd && find . | cpio -o -H newc | gzip -9 > 
../$(ARCH)/install.amd/initrd.gz
-->8--