LINUX.ORG.RU

История изменений

Исправление kostik87, (текущая версия) :

Не вижу проблем.

Если распаковывать и запаковывать под пользователем, то слетят права на файлы.

Архитектура, на которой ramfs собран?

Там из бианрников в самом простом случае только busybox, а все остальные «бинарники» ссылки к нему. А остальное это init сценарий, конфиги, прочие файлы для него. Если используете LVM, то может быть так же статически слинковынный бинарник lvm с некоторым количеством символичесих ссылок на него:

vgcfgbackup  -> lvm  
vgconvert  -> lvm
vgextend  -> lvm
vgmknodes  -> lvm
vgs  -> lvm
vgcfgrestore  -> lvm
vgcreate  -> lvm
vgimport  -> lvm
vgreduce  -> lvm
vgscan  -> lvm
vgchange  -> lvm
vgdisplay  -> lvm
...

Если ядро 64 битное и с поддержкой выполнения 32 битных бинарников, то без разницы какой архитектуры ( x86 || x86_64 ) бинариники в initramfs, они всё равно статические. Если ядро 32 битное, а бинарники 64 битные, то из системы можно скопировать статический бинарник busybox и lvm (должен быть собран с флагом static). Всё, можно запаковывать.

Исправление kostik87, :

Не вижу проблем.

Если распаковывать и запаковывать под пользователем, то слетят права на файлы.

Архитектура, на которой ramfs собран?

Там из бианрников в самом простом случае только busybox, а все остальные «бинарники» ссылки к нему. А остальное это init сценарий, конфиги, прочие файлы для него. Если используете LVM, то может быть так же статически слинковынный бинарник lvm с некоторым количеством символичесих ссылок на него:

vgcfgbackup  -> lvm  
vgconvert  -> lvm
vgextend  -> lvm
vgmknodes  -> lvm
vgs  -> lvm
vgcfgrestore  -> lvm
vgcreate  -> lvm
vgimport  -> lvm
vgreduce  -> lvm
vgscan  -> lvm
vgchange  -> lvm
vgdisplay  -> lvm
...

Если ядро 64 битное и с поддержкой выполнения 32 битных бинарников, то без разницы какой архитектуры ( x86 || x86_64 ) бинариники в initramfs, они всё равно статические. Если ядро 32 битное, то из системы можно скопировать статический бинарник busybox и lvm (должен быть собран с флагом static). Всё, можно запаковывать.

Исходная версия kostik87, :

Не вижу проблем.

Если распаковывать и запаковывать под пользователем, то слетят права на файлы.

Архитектура, на которой ramfs собран?

Там из бианрников в самом простом случае только busybox, а все остальные «бинарники» ссылки к нему. А остальное это init сценарий, конфиги прочие файлы для него. Если используете LVM, то может быть так же статически слинковынный бинарник lvm с некоторым количеством символичесих ссылок на него:

vgcfgbackup  -> lvm  
vgconvert  -> lvm
vgextend  -> lvm
vgmknodes  -> lvm
vgs  -> lvm
vgcfgrestore  -> lvm
vgcreate  -> lvm
vgimport  -> lvm
vgreduce  -> lvm
vgscan  -> lvm
vgchange  -> lvm
vgdisplay  -> lvm
...

Если ядро 64 битное и с поддержкой выполнения 32 битных бинарников, то без разницы какой архитектуры ( x86 || x86_64 ) бинариники в initramfs, они всё равно статические. Если ядро 32 битное, то из системы можно скопировать статический бинарник busybox и lvm (должен быть собран с флагом static). Всё, можно запаковывать.