Загрузка с livecd используя squashfs

Здравствуйте, я пытаюсь сделать livecd для использования только на своём компьютере.
Сделал chroot в каталог для сборки, собрал ядро и минимальную систему как обычно.
Включил в ядро squashfs монолитом, и вообще постарался всё монолитом включить.
Ядро собирал руками а genkernel использовал только для создания initrid.

genkernel --kernel-config=/usr/src/linux/.config --install --no-ramdisk-modules initramfs

Затем установил sys-boot/grub:0 потому что не знаю как конфигурировать grub:2
для загрузки livecd.

menu.lst:

default 0
timeout 0
title=LiveCD
kernel /boot/vmlinuz root=/dev/ram0 scandelay=20 real_root=/dev/loop0 looptype=squashfs \
loop=/livecd.squashfs vga=791 cdroot
initrd /boot/initrid

fstab:

/dev/loop0 / squashfs defaults 0 0

Создал squashfs:

mksquashfs source/ /path_to/livecd.squashfs -comp lzo

Потом iso:

mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 \
-boot-info-table -iso-level 4 -hide-rr-moved -c boot.catalog \
-o /path_to/livecd.iso /path_to_target/

И не могу загрузиться, получаю сообщение:
invalid loop location: /livecd.squashfs ...
... reboot and pass a proper loop=...

Пару лет назад делал livecd примерно так же и получалось, может я что-то забыл?
Поделитесь пожалуйста опытом.

/livecd.squashfs - означает,

/livecd.squashfs - означает, что в корне у тебя должен лежать файл "livecd.squashfs"
Важно понимать, что есть "корень" в данный момент - это содержимое initramfs, а не тот диск, который был корнем, когда ты готовил образ

Пару лет назад делал squashfs+aufs, что бы на ноуте пошустрее работало. Для понимания как работает надо читать загрузочный скрипт genkernell, он довольно простой, если смотреть только на куски требующиеся тебе, а для отладки вставляй контрольную печать и выходы в командную строку

Я никогда не пользовался

Я никогда не пользовался genkernel-ом. Подскажите как называется его загрузочный скрипт?
/usr/share/genkernel/defaults/linuxrc это оно?

Забанен за неумение общатся на форуме.

да, еще по

да, еще по надобности:
/usr/share/genkernel/defaults/initrd.defaults и /usr/share/genkernel/defaults/initrd.scripts

_SerEga_

_SerEga_ написал(а):
/livecd.squashfs - означает, что в корне у тебя должен лежать файл "livecd.squashfs"
Важно понимать, что есть "корень" в данный момент - это содержимое initramfs, а не тот диск, который был корнем, когда ты готовил образ

Пару лет назад делал squashfs+aufs, что бы на ноуте пошустрее работало. Для понимания как работает надо читать загрузочный скрипт genkernell, он довольно простой, если смотреть только на куски требующиеся тебе, а для отладки вставляй контрольную печать и выходы в командную строку

Признаться я не понял. Каким образом в initramfs может попасть моя squashfs? На этапе создания initramfs в системе нет сжатого в squashfs образа самой системы. И быть её там не может. Разве я не правильно полагаю что в initramfs содержится ядро которое загружается в ram?
И ядро работает из памяти, пытается примонтировать файловую систему squashfs и развернуть её. А squashfs находится в корне iso.
Поправьте если у меня не верное представление.

Или Вы имеете ввиду что я должен угадать и прописать в menu.lst что-то вроде: loop=/new_path/livecd.squashfs и т.д.? Сомнительно, вчера весь день экспериментировал и гуглил и ничего подобного не встретил. Не могли бы Вы высказать свою мысль конкретнее и подробнее? Не хватало мне ещё сторонних квестов.
-------------------------------------------------------------------------------------------------
Когда в menu.lst не прописано real_root=/dev/loop0. Получаю вот такое сообщение:
Mounting /dev/loop0 as root
Using mount -t auto -o ro
mount: mounting /dev/loop on /newroot failed: Invalid argument

Я зашёл в тупик.

Забанен за неумение общатся на форуме.

Можно извратиться и положить,

Можно извратиться и положить, но правильнее будет указать реальный путь.
нет, ядро лежит отдельно - /boot/vmlinuz, а в initramfs можно положить полезные файлы/утилиты/модули, которые нужны До монтирования самого корня.
Грубо говоря, сначала initramfs монтируется как корень, потом запускается linuxrc который и монтирует реальный корень, а так же выполняет другие необходимые действия.

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

У вас три варианта: поставить баг, разобраться в документации или найти и решить проблему самому
Первые два на вашей совести, с последним у меня был опыт, которым я и пытаюсь поделиться:
Что бы не подбирать, что надо написать в тот параметр, надо разобраться где лежит ваш образ в тот момент, когда происходит монтирование для этого в linuxrc, в месте где происходит монтирование надо поставить /bin/sh или run_shell или контрольную печать т.д.

Я примерно так-же думаю.

Я примерно так-же думаю. Сначала надо попробовать документацию. Только вот пока не нашёл. Дело осложняет то что я не могу пестоянно перезагружаться и пробовать на "живом железе". Там хоть какой-то shell есть. Пробую на VirtualBox а на нём не могу использовать клавиатуру. Если подключу к VirtualBox ресивер то в реальной системе окажусь без устройств ввода. Пытаюсь найти готовое решение.
Наверное ещё можно попробовать для создания initramfs sys-kernel/dracut. Если дело действительно в genkernel.

P.S. При использовании isolinux всё происходит так-же. Это наводит на мысли что genkernel тут ни при чём.

P.S.S. Если генкернелом собирать не только initramfs а вместе с ядром то работает на ура. Если отдельно не находит cdrom.
Прописано всё было правильно loop=/livecd.squashfs.

Забанен за неумение общатся на форуме.

Значит, вы что-то лишнее

Значит, вы что-то лишнее выключили в ядре, когда собирали без genkernell
Если бы вы последовали моему совету, то знали бы что именно.
Т.к. загрузочный скрипт один и тот же и вы его не правили, то скорее всего на тот момент "/livecd.squashfs" было не верным - этого файла там не было.

ps рад, что у вас получилось, жаль, что мы так и не узнаем в чем было дело

_SerEga_ написал(а):Значит,

_SerEga_ написал(а):
Значит, вы что-то лишнее выключили в ядре, когда собирали без genkernell
Если бы вы последовали моему совету, то знали бы что именно.
Т.к. загрузочный скрипт один и тот же и вы его не правили, то скорее всего на тот момент "/livecd.squashfs" было не верным - этого файла там не было.

ps рад, что у вас получилось, жаль, что мы так и не узнаем в чем было дело

Всё не так. Это Ваши измышления основанные на ваших же фантазиях.
1) Дело было не в ядре так как genkernel собирался с тем же конфигом что и предыдущее ядро без него.
2) Значение "/livecd.squashfs" было верным и файл был на месте (старые образы сохранены в ходе экспериментов).
3) То к чему я стремился у меня не получилось. Я не хотел собирать ядро genkernel-ом.
4) Нет желания править чужие скрипты находящиеся в системе, своих хватает не доделанных. К тому же это надлежит делать посредством изменения конфигурационных файлов а в манах и хелпниках к genkernel я ничего подобного не нашёл.

P.S. Всё больше укрепляюсь в своей неприязни к sys-kernel/genkernel.

Забанен за неумение общатся на форуме.

1) Раньше genkernel включал

1) Раньше genkernel включал при сборке нужные ему опции. Да и по умолчанию кладет все модули в рамдиск(в первом посте вы делали его без модулей), т.е. могли подгрузиться нужные модули
2) Я верю, что livecd.squashfs лежало в корне livecd.iso, но вопрос был лежало ли оно корне в момент загрузки - скорее всего нет
3) Т.е. загрузка с livecd используя squashfs - была не нужна, а главное было не использовать genkernel - такого подхода я не понимаю
3.1) Коллекционирую аргументы, почему не использовать genkernel, если не сложно поделитесь
4) Напишите свои, с точки зрения работы разницы никакой. Да с примерами использования там плохо.

ps странная позиция назло себе использовать genkernel, потом огорчаться и снова использовать )

_SerEga_ написал(а): 1)

_SerEga_ написал(а):
1) Раньше genkernel включал при сборке нужные ему опции. Да и по умолчанию кладет все модули в рамдиск(в первом посте вы делали его без модулей), т.е. могли подгрузиться нужные модули
2) Я верю, что livecd.squashfs лежало в корне livecd.iso, но вопрос был лежало ли оно корне в момент загрузки - скорее всего нет
3) Т.е. загрузка с livecd используя squashfs - была не нужна, а главное было не использовать genkernel - такого подхода я не понимаю
3.1) Коллекционирую аргументы, почему не использовать genkernel, если не сложно поделитесь
4) Напишите свои, с точки зрения работы разницы никакой. Да с примерами использования там плохо.

ps странная позиция назло себе использовать genkernel, потом огорчаться и снова использовать )

Ответ на п.1: модули можно было не включать, ни оди н не загрузился. Я же писал что ядро монолитное.
п.2 Не понимаю. п.3 squashfs можно было не использовать это просто сжатие. Можно попробовать без него, но я не знаю как писать параметр загрузки кернела real_root=. genkernel нужен только для создания и загрузки initramfs и с этим он не справился.
Может Вы знаете другие способы кроме genkernel? Я бы с удовольствием попробовал. Я лично использую genkernel только для cryptsetup + luks.
Других необходимостей не вижу т.к. не использую модульные ядра.

Забанен за неумение общатся на форуме.

1) ядро linux в любом случае

1) ядро linux в любом случае монолитное, даже если есть модули
2) Это популярная заблуждение, считать коренем или другой папкой диск/файл которые вы под это выделили. Не смотря на мои предложения, вы так и не проверили, что у вас реально было при загрузке.
Например, очень часто путают /boot и раздел откуда грузиться grub и откуда читает ядро.
3) у ядра нет параметра real_root, это параметр инит скрипта genkernel и initramfs он тем более не грузит
Если вы не правильно используете genkernel он в этом не виноват
genkernel - это не магическая субстанция, это скрипт упрощающий сборку ядра, все что он делает можно сделать руками. Как собрать/разобрать initram, а так же примереов инит скриптов в инете много, даже не считая самого genkernel

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

ps Ожидать, что любой инструмент умеет делать, то что вам хочется, да еще и тем способом, которым вам хочется не стоит

_SerEga_ написал(а): 1) ядро

_SerEga_ написал(а):
1) ядро linux в любом случае монолитное, даже если есть модули
2) Это популярная заблуждение, считать коренем или другой папкой диск/файл которые вы под это выделили. Не смотря на мои предложения, вы так и не проверили, что у вас реально было при загрузке.
Например, очень часто путают /boot и раздел откуда грузиться grub и откуда читает ядро.
3) у ядра нет параметра real_root, это параметр инит скрипта genkernel и initramfs он тем более не грузит
Если вы не правильно используете genkernel он в этом не виноват
genkernel - это не магическая субстанция, это скрипт упрощающий сборку ядра, все что он делает можно сделать руками. Как собрать/разобрать initram, а так же примереов инит скриптов в инете много, даже не считая самого genkernel

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

ps Ожидать, что любой инструмент умеет делать, то что вам хочется, да еще и тем способом, которым вам хочется не стоит

ох. Просто предположите что я всё использовал правильно. Ну и задача genkernel понятна. Но он с ними ни когда не справлялся.
И по моим предположениям никогда не справится. Если для того чтобы понять genkernel надо быть его разработчиком то я лучше забухаю.

Забанен за неумение общатся на форуме.

я бы начал с: 1. Ревизии

я бы начал с:
1. Ревизии ядра
2. Четкого понимания, зачем в данном случае нужна инитрама. во многих случаях, когда ее используют, она на самом деле не необходима. Или же можно самому написать пару десятков строк инитрамы, обменяв универсальность на ясность.
3. Ревизии ядра с учетом п.2

Beelzebubbie написал(а):я бы

Beelzebubbie написал(а):
я бы начал с:
1. Ревизии ядра
2. Четкого понимания, зачем в данном случае нужна инитрама. во многих случаях, когда ее используют, она на самом деле не необходима. Или же можно самому написать пару десятков строк инитрамы, обменяв универсальность на ясность.
3. Ревизии ядра с учетом п.2

Ну начинается... Подтягиваются любители поучить жизни. Да можно начать хоть с похода в детский сад. Спасибо конечно за очень полезный урок, впредь буду руководствоваться Вашим УЧЕНИЕМ. А конкретно во вопросу что Вы можете сказать?

Забанен за неумение общатся на форуме.

Надо ж, какой эмоциоанальный…

Надо ж, какой эмоциоанальный… Даже не поленился жырным выделить.
Спасибо за нямку. Комплектацию лопаты можно начать с компилирования цитат:

1. О детском саде: genkernel использовал…Пару лет назад делал livecd примерно так же…Я никогда не пользовался genkernel-ом. Подскажите как называется его загрузочный скрипт?

2. Сельхозмеханизатор осуществляет аборт подручными средствами: Разве я не правильно полагаю что в initramfs содержится ядро которое загружается в ram?

3. Случай классический – излишек самоуверенности заменяет собой (кастую Анархиста) чтение самой-пресамой базовой документации: потому что не знаю как конфигурировать grub:2 для загрузки livecd.. Для справки – в http://wiki.gentoo.org/wiki/GRUB2 этот вопрос вполне затронут

4. На самом деле разбираться ни с чем TC не хочет: Наверное ещё можно попробовать для создания initramfs sys-kernel/dracut. По-видимому, асилить http://wiki.gentoo.org/wiki/Custom_Initramfs никак не получается.

Жду перемены блюд.

Beelzebubbie написал(а): Надо

Beelzebubbie написал(а):
Надо ж, какой эмоциоанальный… Даже не поленился жырным выделить.
Спасибо за нямку. Комплектацию лопаты можно начать с компилирования цитат:

1. О детском саде: genkernel использовал…Пару лет назад делал livecd примерно так же…Я никогда не пользовался genkernel-ом. Подскажите как называется его загрузочный скрипт?

2. Сельхозмеханизатор осуществляет аборт подручными средствами: Разве я не правильно полагаю что в initramfs содержится ядро которое загружается в ram?

3. Случай классический – излишек самоуверенности заменяет собой (кастую Анархиста) чтение самой-пресамой базовой документации: потому что не знаю как конфигурировать grub:2 для загрузки livecd.. Для справки – в http://wiki.gentoo.org/wiki/GRUB2 этот вопрос вполне затронут

4. На самом деле разбираться ни с чем TC не хочет: Наверное ещё можно попробовать для создания initramfs sys-kernel/dracut. По-видимому, асилить http://wiki.gentoo.org/wiki/Custom_Initramfs никак не получается.

Жду перемены блюд.

Наверное ни на одном форуме не обходится без балаболов . В споры с пустозвонами обычно не вступаю но кое что разжую.
Мне всё равно как называются загрузочные скрипты или библиотеки и т.д. программ которые я хочу использовать по быстрому для достижения той или иной цели. Жизнь короткая и не стоит лезть не в своё дело, надо своим заниматься. Обе ссылки в которых про grub2 и initramfs прочитаны в своё время, и кстати если Вы фапаете на gentoo wiki то не избежите разочарований. На grub2 нет исчерпывающей документации по очень многим вопросам а переписывать в конфиги фразы с забора просто глупо. У меня достаточно разных дел и затрачивать на создание livecd пару дней не входит в ближайшие планы. Не Ваше дело с чем мне надо разбираться а с чем нет. На этом разговор закончен пока не напишите хоть крупицу полезной информации. На форуме наверное есть раздел для флуда? Ступайте туда

Забанен за неумение общатся на форуме.

Автор прешел границы?

Автору: По пути ли Вам с gentoo после таких высказываний?

Какую помощь вы пытаетесь здесь получить? Отказываетесь самостоятельно изучить принципы работы того, что вы пытаетесь использовать, при этом имея кашу в голове по этому поводу (Вы полагаетесь на ошибочные собственные представления).
Вам уже указали, что придется исправить это положение самостоятельно изучив материалы. На что вы ссылаясь на недостаток времени, упорствуя в собственных представлениях продолжаете нападать и оскорблять участников форума. Вы думаете после этого кто-то имея знания будет вам разжевывать материал? А ведь этот человек должен был потратить собственное время на изучение материала.
Так что исправляйте собственные знания, это первая крупица знаний. При таком подходе она может оказаться и единственной.

Экономя собственное время, вы даже не сможете осознать, что данный форум очень специфический (держите эту информацию нахаляву). Помочь решить проблему здесь могут, но халявщих, да еще хамящих, здесь не принимают.

А теперь ответьте еще раз для себя на первый мой вопрос.

ТС – занятой человек. Ему

ТС – занятой человек. Ему некогда и незачем разбираться, как и что работает. Это же наша обязанность – разобраться и разжевать удобным для него способом. А в противном случае мы можем потерять одного из ценнейших участников форума, нанеся невосполнимый урон всему сообществу.

Я как бы так понял, трепаться

Я как бы так понял, трепаться тут много гораздых. Я ваш дом труба шатал. Топикстартер продолжит заниматься делами о которых вы только в книжках читаете. Продолжайте примеривать чужие презирвативы. Удачи. Она вам понадобится.

Забанен за неумение общатся на форуме.

Beelzebubbie написал(а): ТС –

Beelzebubbie написал(а):
ТС – занятой человек. Ему некогда и незачем разбираться, как и что работает. Это же наша обязанность – разобраться и разжевать удобным для него способом. А в противном случае мы можем потерять одного из ценнейших участников форума, нанеся невосполнимый урон всему сообществу.

По поводу ценности не понятно. Но замечаю на форуме свои топики пятилетней давности и они очень проиндексированы в поисковых системах.
Значит востребованно. И другой давности есть. Я пользу приношу и вопросами и ответами и программами которые пишу. А ты?

Забанен за неумение общатся на форуме.

не понятно Конечно непонятно

не понятно
Конечно непонятно – это называется сарказм.

…замечаю на форуме свои топики пятилетней давности и они очень проиндексированы в поисковых системах. Значит востребованно
Что, даже круче Попова? :D

и вопросами и ответами и программами
То бишь, в меру своих скромных сил озаряете убогих килолюменами своего интеллекта? Зеленый питомец именно от этого пухнет или просто дурная наследственность? ;)

Но замечаю на форуме свои

Но замечаю на форуме свои топики пятилетней давности и они очень проиндексированы в поисковых системах.

Общее имя (cn)
Михаил Литовкин
Имя (givenName)
Михаил
Фамилия (sn)
Литовкин
Журнал записей
Участник
6 дней 2 часа

Исчо один забанный неадекват ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

кстати, вот только со второго

кстати, вот только со второго раза задумался... как можно очень проиндексировать в поисковых системах?

творю непотребства и потом жалуюсь на форуме, ибо gentoo позволяет, since 2009

© зачем пинать дохлого пса?

© зачем пинать дохлого пса? :)

Kevol написал(а): Автору: По

Kevol написал(а):
Автору: По пути ли Вам с gentoo после таких высказываний?

Какую помощь вы пытаетесь здесь получить? Отказываетесь самостоятельно изучить принципы работы того, что вы пытаетесь использовать, при этом имея кашу в голове по этому поводу (Вы полагаетесь на ошибочные собственные представления).
Вам уже указали, что придется исправить это положение самостоятельно изучив материалы. На что вы ссылаясь на недостаток времени, упорствуя в собственных представлениях продолжаете нападать и оскорблять участников форума. Вы думаете после этого кто-то имея знания будет вам разжевывать материал? А ведь этот человек должен был потратить собственное время на изучение материала.
Так что исправляйте собственные знания, это первая крупица знаний. При таком подходе она может оказаться и единственной.

Экономя собственное время, вы даже не сможете осознать, что данный форум очень специфический (держите эту информацию нахаляву). Помочь решить проблему здесь могут, но халявщих, да еще хамящих, здесь не принимают.

А теперь ответьте еще раз для себя на первый мой вопрос.

Ты дружище слишком высокого мнения о себе если думаешь что можешь оказать помощ. Иди оказывать скорую помощ в места которые тебе по силам
. Я задаю вопросы в порядке обсуждения. Заведомо зная что на них нет ответа для таких как ты (читай использование поисковиков).
А по поводу халявы: радуйся что родился, и скажи родителям спасибо. Оправдывай их надежды и не учи людей которые старше тебя в три раза.

Забанен за неумение общатся на форуме.

Ну шта, в этот раз ты,

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

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".