build режим

Добрый вечер. Пытаюсь научиться собирать калькулейт в билд режиме , но что-то неудачно. Образ записываю на флеху следующим образом (флеха 4 гига):
#dd if=/path/to/distrib/calculate.iso of=/dev/sd[x] (x - соответствующее устройство)

Запись проходит удачно-я получаю загрузочную флешку. Гружусь с нее в режиме build. Далее :
#su
#cl-build
#eix-sync
#exit
#cl-image squash

Получаю следующий выхлоп:

* Removing old images … [ ok ]
* Execute ‘dispatch-conf’ … [ ok ]
* Execute ‘mandb’ … [ ok ]
* Releasing source data … [ ok ]
* Unmount the partition bound for assemble … [ ok ]
* Failed to create the directory ‘/mnt/flash/livecd.squashfs.dir’:
* [Errno 5] Input/output error: ‘/mnt/flash/livecd.squashfs.dir’
* Failed to build the system

Прав на редактирование содержимого флехи у меня тоже нет + показывает что свободно 0 гигов ) Подскажите пожалуйста как бы мне разобраться с этой проблемой (делал все вроде по инструкции с сайта)

Попробуйте записать флэшку утилитами, а не через dd

Вечером конечно еще попробую unebootin , но хотелось бы обойтись стандартными утилитами)

Под утилитами - я имел ввиду утилиты Calculate, то есть из загруженной системы при помощи cl-install
Думаю можно с этой флэшки на соседнюю флэшку, если нету установленной системы.

Мне нужно собирать дистрибутив из загрузочной флешки, а не из ОС, установленной на флешку посредством cl-install. Или я Вас не так понял?

Использовал unetbootin для записи на флешку, вроде получилось. Но тут новая напасть - при сборке чего-нибудь небольшого все проходит успешно, но при попытке собрать ядро, thunderbird, clang, wine и т.д. пишет что No left space on device. Перед запуском cl-builder предварительно смонтировал в /var/calculate пару десятков свободных гигабайт (а то без них совсем даже небольшие проекты не хотели ставиться).

Николай Исаев wrote:

Использовал unetbootin для записи на флешку, вроде получилось. Но тут новая напасть - при сборке чего-нибудь небольшого все проходит успешно, но при попытке собрать ядро, thunderbird, clang, wine и т.д. пишет что No left space on device. Перед запуском cl-builder предварительно смонтировал в /var/calculate пару десятков свободных гигабайт (а то без них совсем даже небольшие проекты не хотели ставиться).

сборка программ происходит в /mnt/builder/var/calculate/temp/ … сборка ядра в /mnt/builder/usr/src/ . Посмотрите чтокуда монтируете и подумайте почему вам пишут что нет свободного места ))

Я честно говоря не могу понять одного - в мануалах описываются примеры с флешками небольших объемов (до 4 гигов), и никаких разговоров о том что не будет хватать места не ведется. У меня флешка 16 гигов (решил раз не хватает 4, то возьму поиграться флеху побольше), и ее не хватает … Что я делаю не так? 20 гигов я смонтировал в /mnt/builder/var/calculate … и не могу ничего толком серьезного собрать (оно кстате в директории home тоже жрет место)

например для установки firefox-bin флешки на 4гб хватит , а для firefox нехватит места (по поводу примера) … а что вы делаете не так вам видней , вы же делаете

Вы пишете, что сборка программ происходит в /mnt/builder/var/calculate , мне это было известно и я примонтировал туда 20 гигов. Но при сборке чего-либо в директории home (в которой по умолчанию 1.5 гигов свободны) начинает уменьшаться место. И как только оно достигло 0, сборка отваливается с ругательством no left space, хотя в директории /var/calculate довольно много места. Что мне необходимо сделать, добавить к home пару гигов ?

опишите подробно ВСЕ ваши действия после того как вы загрузились с флешки …

Исходные данные :
0) Флешка размером 16 Гигов.

  1. Последний стейдж калькулейта (x86_64), поставленный на оную флешку посредством утилиты unetbootin (поскольку утилитой dd хоть и можно это делать, но потом с cl-builder играться не получиться)

Порядок действий после загрузки :
0) # mount /dev/test /var/calculate (/dev/test это 20 гиговый “лишний” раздел)

  1. # cl-builder
  2. # eix-sync (Ибо иначе он нифига не может поставить. В следствии этого действия размер и так небольшой директории /home уменьшается в два раза и стает равным 600 метров)
  3. # emerge wine

После непродолжительной процедуры скачивания и распаковки сорцов оно начинает долго его комплилить. Во время компиляции размер /home методично уменьшается до нулевого размера, в следствии чего установка завершается с ошибкой о нехватке места.

cl-builder

далее открой 2 терминал и от рута

mount /чего/монтируешь /mnt/builder/var/calculate

и почитайте внимательно http://www.calculate-linux.ru/main/ru/interactive_system_build

Проблема заключается в том, что при загрузке с флешки размер корневой ФС ограничивается 2.2 Gb, т.е. именно таким размером, который имел *.iso до “закатки” на флешку (и размер флешки к сожалению может быть хоть в 10 раз больше - это никак не повлияет на размер корня). И как исправить эту ситуацию я к сожалению не понимаю - ведь “тупо” смонтировать /dev/большой_лишний_раздел в корень - не вариант?

1) ну так залей образ на флешку unetbootin’om и размер флешки будет иметь значение
2) “тупо” смонтировать /dev/большой_лишний_раздел в корень - не вариант? - да , не вариант … неужели вы так и не поняли что /var/calculate не то-же самое что /mnt/builder/var/calculate ?
Проблема в непонимание того что вы делаете … потренируйтесь в vitualbox’e (да , там можно собирать)

В том то и дело, что образ залит unetbootin’ом. Я понимаю разницу - я разобрался с тем как работают слои в режиме builder. Осталось разобраться с размером корня (как я написал выше после unetbootin размер так и не увеличился). Конечно можно просто установить дистрибутив на флешку, но хотелось бы все-таки на live дистрибутив

Filesystem Size Used Avail Use% Mounted on
rootfs 1.9G 552M 1.4G 29% /
udev 10M 0 10M 0% /dev
none 1.9G 552M 1.4G 29% /
tmpfs 1.9G 552M 1.4G 29% /mnt/scratch/delta
tmpfs 1.9G 552M 1.4G 29% /mnt/scratch/workspace
none 1.9G 552M 1.4G 29% /mnt/builder
/dev/loop0 2.2G 2.2G 0 100% /mnt/scratch/calculate
tmpfs 1.9G 1.2M 1.9G 1% /run
cgroup_root 10M 0 10M 0% /sys/fs/cgroup
shm 1.9G 164K 1.9G 1% /dev/shm
/dev/sdb1 16G 2.2G 13G 15% /run/media/guest/B3FD-72A9

Т.е. на флешке еще места навалом (/dev/sdb1), а вот rootfs почему то очень маленький)) Есть идеи как расширить ?

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

Вам место на root и не понадобится если забиндить все нужные директории как надо.

mkdir -p /run/media/guest/B3FD-72A9/{calculate,mnt,portage}
mount -o bind /run/media/guest/B3FD-72A9/calculate /var/calculate
mount -o bind /run/media/guest/B3FD-72A9/mnt /mnt
mount -o bind /run/media/guest/B3FD-72A9/portage /usr/portage
cl-builder

Как то так… Если какого-то каталога здесь нет, через который идет утечка свободного места на / то нужно добавить аналогично.
З.Ы. А вообще, чем не устраивает “установленная” на флешку система? Зачем Live?

Дело в том, что установку на флешку тоже пробовал. Результат непонятно почему остался неизменным - все место не используется