LINUX.ORG.RU

Как обновлять арм собранную машину ?

 , , ,


0

1

Я собирал кернел и инитрд по этой статьей https://balau82.wordpress.com/2010/08/17/debugging-arm-programs-inside-qemu/ Запускаю машину так qemu-system-arm -M versatilepb -m 128M -kernel ./zImage -initrd ./rootfs.img.gz -append «root=/dev/ram rdinit=/sbin/init» Хочу доставить в нее пакеты, но она после перезапуска не сохраняет изменения. Как сделать чтобы можно было ставить пакеты на нее, чтобы это сохранялось после перезапуска ?

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

Нормальный ответ

Твой rootfs

./rootfs.img.gz

Пожатый образ (блочного устройства?).

Все твои изменения после загрузки идут в

/dev/ram

и сбрасываются при выключении (виртуального) девайса.

Чтобы что-то установить, тебе нужно распаковать свой rootfs.img.gz, примонтировать его в режиме rw, чрутнуться туда, установить нужное, отмонтировать его и снова сжать.

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

Это будет слишком сложно для тебя - chroot в arm. Почитай что такое chroot, и какое отношение это имеет к винде (никакого).

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

rootfs.img.gz у меня на винде лежит и стартую машину из винды. Распаковка его имелась в виду в самой арм машине ?

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

Ну а как ты думаешь делают чрут? Из под винды что-ли?) Ядро линукса нужно же, чтобы оно подхватило твои бинарники из этого gzip.

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

Компилил крос-компилятор в кали линукс, получил ядро и инитрд, их перенес на винду и запускаю через qemu-system-arm.

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

Но тогда получается мне надо мой образ готовый rootfs положить в мою файловую систему арм которая и сделать типа так find . | cpio -o --format=newc | gzip > ../../rootfs.img.gz То есть потом когда ее загружу в арм, у меня там будет вся файловая система и этот образ. Ну или по ssh туда бросить этот бинарь. Правильно я понял, что chroot указываем линуксу корень системы ? А мой rootfs для распаковки достаточно через tar сделать ? Типа так tar jvf rootfs.img.gz ?

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

Извини, я здесь тебе не смогу толком помочь - почитай в нете на английском желательно - про то как чрутятся, попробуй чрут в каком-нить Alpine linux для начала. А потом уже переходи к своей более сложной задаче, и не спеши, ты там похоже удаляешь гланды через попку.

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

в винде

Ты сайтом ошибся, дружище.

как дальше его монтировать туда ?

В венде? Представления не имею.

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

Не, вот можешь подсказать как в линуксе мне это сделать. Можешь подсказать как мой образ rootfs.img.gz распаковать там и примонтировать ?

alex841
() автор топика

Начни с чего попроще. Gentoo, LFS. Попробуй, например, в Gentoo сделать обновляемое, сжатое дерево portage. Потом посмотри как собирают LiveCD, попробуй сделать свой. Если памяти достаточно, то проблем нет. Как запаковывал, так снова запакуется. Только в скриптах автоматизации надо учесть, что что-то может пойти не так, чтобы не заменилось мусором.

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

как мой образ rootfs.img.gz распаковать

Используй tar или gunzip, что больше нравится.

примонтировать ?

А вот это зависит от того, что из себя представляет твой имаг внутре.

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