Дистр на флешку (LiveUSB)

SmiGes
ну вот с лайф сд подключи флешку, примонтируй фс, выполни chroot каталог_куда_примонтировал_фс_флешки , потом ещё раз глянь чтоб там в mkinitcpio.conf, ну и если всё правильно, то mkinitcpio -c /etc/mkinitcpio.conf -g /boot/kernel26.img, я вот вообще по http://muhas.ru/?p=2 делал
У меня сейчас к сожелению нет ниодного лайф сиди, но есть установленная убунта, проделал все данный команды и на mkinitcpio -c /etc/mkinitcpio.conf -g /boot/kernel26.img мне такой ответ :
[root@ubuntu /]# mkinitcpio -c /etc/mkinitcpio.conf -g /boot/kernel26.img
:: Begin build
/sbin/mkinitcpio: line 254: /dev/null: Отказано в доступе
FATAL: Hook 'base' can not be found.
[root@ubuntu /]# mkinitcpio --help
Или установленная убунта не поможет мне в этом деле?
Здравствуйте. У меня возник один вопрос по теме. Например следующая задача. Система сжата, изменения пишут в файл (например файл, а внутри файловая система, ну как обычно). Все это дело допустим работает на флешке. Известная ее метка или uuid. Как можно организовать? И еще по поводу aufs. Его надо добавлять как-то, да? ну в модули или еще как-то или оно уже будет? И еще вопрос сжатие в lzma, можно ли и как? По сути интересен вариант арча, при котором он бы был похож на устройство дистрибутива “мандрива флеш”. Сейчас я пока добился того, что сжат у меня лишь /usr и изменения пишут в обычную файловую систему, т.е. на флешке есть второй раздел, куда установлен арч, просто каталоги /opt и /usr я сжал. Но вот как правильно сделать, что написал выше? Я читал тему и видел как сжимали корень и писали в оверлей, но там был поиск раздела с системой, а я хочу задать, что он найден и все такое. Вообще мне первое что приходит в голову это редактирование и правильное составление файла-образа (kernel26.img) для моей задумки. Пока я в этом не шарю. Да еще там есть как минимум два файла с набором команд и функций. Может кто-то подобным занимался?
вы посмотрите мои скрипты, там все это есть. поиск убираете и прописываете свой корень, дальше то же самое остается.
aufs и lzma должно поддерживать ядро, первое модульно, второе вроде обязательно “внутривенно” так сказать :-D
у меня сжимался весь корень, оверлей можно каждый раз заново создавать или в реальную систему писать.
В целом, после небольшого ряда попыток загрузиться удалось.
Вот такое сделал содержимое файла init_functions (кусок который добавлен был)
find_root(){
echo "Search root filesystem..."
path=
type=
stat_path=0
stat_type=0
stat=0
mkdir /mnt
sleep 3
mount -t vfat /dev/disk/by-uuid/4C5A-A764 /mnt
mkdir /overlay
mount -t tmpfs none /overlay
mount -t squashfs "/mnt/root.squashfs" "$1" -o loop
mount -t aufs -o dirs=/overlay=rw:"$1"=ro none "$1"
}
Как раз пауза (sleep 3) позволяет флешке успеть прогрузиться как бы и система тогда грузится. Без этого вылетаю в шелл, а чуть спустя вижу как приаттачилась флешка… но уже поздно. Поэтому проблему решил так. Сама флешка монтируется по ууиду (хотя подумаю сделать по лэйблу) dev/disk/by-uuid/4C5A-A764

Содержимое mkinitcpio.conf менял на такого вида (весь текст, кроме комментариев):
MODULES="ata_piix ehci-hcd uhci-hcd ext3 aufs"
FILES=""
HOOKS="base udev keymap usb pata scsi sata filesystems"
COMPRESSION="lzma"
Где я добавил хук usb и убрал автодетект. А выше добавил в модулес aufs (т.к. луп уж точно есть, а этот хз).
И сборка имэйджа командой:
mkinitcpio -g /boot/kernel26usb.img
После чего помещаем файл ядра (vmlinuz26) и появившейся kernel26usb.img на флеку куда-нибудь.
Загрузка с флешки у меня была с помощью сислинукса, кусок меню:
LABEL arch
KERNEL /boot/arch/vmlinuz26
APPEND initrd=/boot/arch/kernel26usb.img ro vga=791
Где /boot/arch/ место куда я положил файлы ядра. Файл сжатой системы (root.squashfs) положил в корень флешки.

Что теперь надо еще. Не вижу как смонтировать флешку или получить доступ (она же ведь смонтирована уже во время подключения сжатой фс). Ну и вот теперь думаю как сделать заместо /overlay запись в файловую систему. но не просто а в некий луп файл, т.к. писать на фат32 думаю не стоит. Лучше сделать это в файл.
Да и какой должен иметь вид fstab на сжатойфс? А то во время загрузки была небольшая ругань на чего-то там / (не успел прочитать слишком быстро промелькало).
Я там убрал на мой взгляд лишнее и привел лишь к следующему виду:
devpts                 /dev/pts      devpts    defaults            0      0
shm                    /dev/shm      tmpfs     nodev,nosuid        0      0
tmpfs /var/log tmpfs size=10M 0 0
tmpfs /var/tmp tmpfs size=20M 0 0
tmpfs /var/cache/pacman/pkg tmpfs size=300M 0 0
/dev/cdrom /media/cdrom   auto    ro,user,noauto,unhide   0      0
/dev/dvd /media/dvd   auto    ro,user,noauto,unhide   0      0
/dev/dvdrw /media/dvdrw   auto    ro,user,noauto,unhide   0      0
Может че лишнее или надо что-то добавить?
как вариант на флешке делать несколько разделов, в последние запихивать чисто линуху, а на первый данные :)
а что бы сохранять в файл пишешь скрипт который перед выключением сожмет overlay в файл и запишет на флешку.
Да я понимаю, что это простой способ. но слегка слеповатый в тоже время (не видно файловую систему как положено). Мне вот интересно сама задумка для реализации одного лишь раздела на флешке. Сейчас я правда немного успокоился. Я пользуюсь вариантом: на флешке два раздела. Первый фат32, а второй ext2. Сделано для того, что если флешку воткнуть в комп с виндой, то винда видит лишь первый раздел у флешки. На разделе фат32 поместил загрузчик и два файла от арча (vmlinuz26 и kernel26.img) Для небольшой экономии каталог opt и usr сжаты посредством squashfs и aufs для возможности записи в них. В целом такой вариант меня устраивает, но вот хотелось чего-то большего.
Сейчас думаю, а вот поддержка lzma идет в ядре по поводу squashfs? Сам squashfs он входит в ядро или что? Просто я поставил squashfs-tools-lzma но сжатый каталог не монтируется, в dmesg вижу:
SQUASHFS error: Filesystem uses "lzma" compression. This is not supported
а зачем винде раздел с линухой?? имхо незачем, да и живность, которая табунами с флешки на флешку бегает не покоцает линь :) мало ли, придумает файлик с фс переименовать :-D раздел с осью изолирован от раздела с данными, так что вполне нормальный вариант. а я бы и vmlinuz26 и kernel26.img запихнул во второй раздел, вместе с загрузчиком. :)
на момент моих экспериментов поддержка lzma была реализована в очень старой версии ядра, для новых версий, я патчей не нашел.
Кто-нибудь замерял разницу в скорости liveUSB c ФС ext2 и ext4 без журнала?
Я с помощью larch сделал livecd моего установленного арча. Залил на флешку, все загружается, работает как надо. Подскажите, как через larch сделать чтобы этот мой livecd можно было не только загрузить на другом компе например, но и установить с него систему на комп? Наподобие ремастерса в убунте.
www.linux32.ru - новости и статьи о Linux
Arch Linux Installation Framework или aif, в репах есть
 
Зарегистрироваться или войдите чтобы оставить сообщение.