snoopcatt |
|
Темы:
33
Сообщения:
286
Участник с: 16 января 2010
|
всмысле как? просто поставил, как на хард, в mkinitcpio в хукс добавил юсб. |
kest |
|
Темы:
10
Сообщения:
79
Участник с: 18 января 2010
|
ааа.. я думал именно лайвфлеш с возможностью установки. |
shaman |
|
Темы:
26
Сообщения:
379
Участник с: 13 декабря 2009
|
хехе, я тож такую штуку хочу сделать :) пока теорию изучаю, и есть вопросы. планируется, что дистрибутив будет уметь загружаться с любого устройства, поэтому есть проблема поиска корня, который сжат в squashfs в случае с флешками можно организовать сохранение настроек. в принципе как найти корень я знаю, уже скриптик набросал. вот только куда его вставлять. пока что самым рациональным решением мне кажется изменение initrd образа который создаст mkinitcpio, ибо вручную его собирать не охота. читал его init скрипт, получается что в нем надо заменить блок где монтируется корень, на свой, так? но я в том блоке что-то запутался, можете объяснить что там делается? зы я раньше со скриптами не сталкивался, непонятны именно конструкции, которые там используются ззы я бы его полностью выбросил и по своему сделал, но не уверен, что так будет правильно. как я вижу алгоритм монтирования корня: ищем корень, в итоге получим имя устройства (например /dev/sda1) создаем папку (пусть /real_root) монтируем squashfs в эту папку накладываем с помощью aufs или unionfs фс для чтения/записи заходим в real_root (chroot) и запускаем init дальше как бы все. |
snoopcatt |
|
Темы:
33
Сообщения:
286
Участник с: 16 января 2010
|
у меня вопрос: насколько целесообразно сжимать корень в сквашфс? как видно на скрине, несжатый / занимает ~1024мб. Сколько будет весить сжатый корень? (мне желательно rw-систему.) |
snoopcatt |
|
Темы:
33
Сообщения:
286
Участник с: 16 января 2010
|
+ещё..можно ли реализовать распаковку сквашфс <куда-то>, как это сделано в инсталлере убунты (там ведь именно так, да?(: ) ? |
shaman |
|
Темы:
26
Сообщения:
379
Участник с: 13 декабря 2009
|
раз: http://linuxopen.ru/2008/10/09/primer-i … ashfs.html два: unsquashfs --help SYNTAX: unsquashfs [options] filesystem [directories or files to extract] -v[ersion] print version, licence and copyright information -d[est] <pathname> unsquash to <pathname>, default "squashfs-root" -n[o-progress] don't display the progress bar -p[rocessors] <number> use <number> processors. By default will use number of processors available -i[nfo] print files as they are unsquashed -li[nfo] print files as they are unsquashed with file attributes (like ls -l output) -l[s] list filesystem, but don't unsquash -ll[s] list filesystem with file attributes (like ls -l output), but don't unsquash -f[orce] if file already exists then overwrite -s[tat] display filesystem superblock information -e[f] <extract file> list of directories or files to extract. One per line -da[ta-queue] <size> Set data queue to <size> Mbytes. Default 256 Mbytes -fr[ag-queue] <size> Set fagment queue to <size> Mbytes. Default 256 Mbytes -r[egex] treat extract names as POSIX regular expressions rather than use the default shell wildcard expansion (globbing) |
snoopcatt |
|
Темы:
33
Сообщения:
286
Участник с: 16 января 2010
|
ок, учту (; осталось попробывать забутять систему со образом..надо пытать :D |
snoopcatt |
|
Темы:
33
Сообщения:
286
Участник с: 16 января 2010
|
[[email protected] ~]$ sudo mksquashfs /media/disk/ ~/root-squashfs Пароль: Parallel mksquashfs: Using 2 processors Creating 4.0 filesystem on /home/neko/root-squashfs, block size 131072. [================================================================/] 58367/58367 100% Exportable Squashfs 4.0 filesystem, data block size 131072 compressed data, compressed metadata, compressed fragments duplicates are removed Filesystem size 330961.41 Kbytes (323.20 Mbytes) 39.30% of uncompressed filesystem size (842203.40 Kbytes) Inode table size 605041 bytes (590.86 Kbytes) 27.66% of uncompressed inode table size (2187574 bytes) Directory table size 618879 bytes (604.37 Kbytes) 39.40% of uncompressed directory table size (1570640 bytes) Number of duplicate files found 5186 Number of inodes 66322 Number of files 55611 Number of fragments 3447 Number of symbolic links 2311 Number of device nodes 11 Number of fifo nodes 0 Number of socket nodes 0 Number of directories 8389 Number of ids (unique uids + gids) 11 Number of uids 3 root (0) neko (1000) dbus (81) Number of gids 10 root (0) disk (6) neko (104) ftp (11) users (100) locate (21) mail (12) tty (5) dbus (81) games (50) [[email protected] ~]$ [[email protected] ~]$ du -h root-squashfs 324M root-squashfs мне кажетса что что-то не тоо… с какого это он записал мой УИД в образ? О_О почему так быстро? (меньше 2 минут) я просто примонтировал sdf2 (mount /dev/sdf2 /media/disk) и сделал mksquashfs /media/disk ~/root-squashfs… [[email protected] ~]$ sudo mount root-squashfs /media/iso -o loop [[email protected] ~]$ cd /media/iso [[email protected] iso]$ ls bin/ dev/ home/ lost+found/ mnt/ proc/ sbin/ sys/ usr/ boot/ etc/ lib/ media/ opt/ root/ srv/ tmp/ var/ Алсо, хотелось бы узнать побольше о Arch Installation Framework - если вдруг я захочу сделать инсталляцию Арча на носитель. Смотрим: [[email protected] ~]$ sudo mount -o loop ~/www/downloads/distros/archlinux-2009.08-core-i686.iso /media/iso0 [[email protected] ~]$ cat /media/iso0/isomounts # archiso isomounts file # img - location of image/directory to mount relative to addons directory # arch - architecture of this image # mount point - absolute location on the post-initrd root # type - either 'bind' or 'squashfs' for now # syntax: <img> <arch> <mount point> <type> # ORDER MATTERS! Files take top-down precedence. Be careful overlay.sqfs i686 / squashfs core-pkgs.sqfs i686 /src/core/pkg squashfs root-image.sqfs i686 / squashfs Значит пакеты берутса из core-pkgs, не так ли? [[email protected] ~]$ sudo mount -o loop core-pkgs.sqfs /media/iso [[email protected] ~]$ ls /media/iso | grep db.tar.gz core.db.tar.gz Т.е. если поступить как с локальным репозитарием - может получитса вполне себе собственный _установочный_ диск с Арчиком? :) А если еще и подменить root-image, то плюс к этому еще и Live-система? :) –upd– посмотрел, как устроена Chakra. Она вообще базируется на скриптах larch.. –upd2– как примонтировать ФС squashfs для _записи_? [[email protected] ~]$ sudo mount -t aufs -o dirs=/rw:/ro=ro root-squashfs /mnt mount: wrong fs type, bad option, bad superblock on /home/neko/root-squashfs, missing codepage or helper program, or other error В некоторых случаях полезная информация может быть найдена в syslog - попробуйте dmesg | tail или что-то в этом роде Разобрался: [[email protected] ~]$ sudo mount -t squashfs root-squashfs /mnt/ -o loop [[email protected] ~]$ mount | grep loop0 /dev/loop0 on /mnt type squashfs (rw) [[email protected] mnt]$ mkdir test mkdir: невозможно создать каталог «test»: Файловая система доступна только для чтения |
shaman |
|
Темы:
26
Сообщения:
379
Участник с: 13 декабря 2009
|
Для записи никак не примонтируешь нужно создать папку куда пишутся изменения и при помощи unionfs или aufs наложить на сквасшфс |
snoopcatt |
|
Темы:
33
Сообщения:
286
Участник с: 16 января 2010
|
а по-подробнее? и как все это реализовать на live-системе? |