LINUX.ORG.RU

emerge --root или новый чрут

 


1

3

в вообщем так..

emerge --root=<путь> <пакет>

указанный пакет ставится по указанному пути..
кстати, в этом же случае он юзает конфиг текущей системы?

emerge --root=<путь> --config-root=<путь> <пакет>

не хочет ставиться(ни один)..

ошибка одна для всех- «configure: error: C compiler cannot create executables»

ЗЫ: папка чистая.. только make.conf закинул(выкинув все флаги и заменив -m{arch,tune} на generic)

Собственно вопрос: ЧЯДНТ? в make.conf косяк?

★★

Последнее исправление: TODD (всего исправлений: 1)

Логи что ли целиком давай сборки. У тебя сейчас система какая стоит её make.conf давай.

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

логи найти не могу, указанный путь не существует.. что на хосте, что в каталоге..

make.conf «новой» системы выложил.. хоста незачем.. ибо нужно «нулевую» собрать с новыми конфигами, без привязки к железу..

убрал -march=<...>, сборка пошла, в чем фишка?

ЗЫ:: у хоста amdfan10 в march стоит.. emerge запускаю с хоста..

_________
в общем цель стоит собрать систему под 128-мб флешку(с нужным мне набором)

TODD ★★
() автор топика
Последнее исправление: TODD (всего исправлений: 1)
Ответ на: комментарий от TODD

-mtune=cpu-type Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions. The choices for cpu-type are:

generic Produce code optimized for the most common IA32/AMD64/EM64T processors. If you know the CPU on which your code will run, then you should use the corresponding -mtune option instead of -mtune=generic. But, if you do not know exactly what CPU users of your application will have, then you should use this option.

As new processors are deployed in the marketplace, the behavior of this option will change. Therefore, if you upgrade to a newer version of GCC, the code generated option will change to reflect the processors that were most common when that version of GCC was released.

There is no -march=generic option because -march indicates the instruction set the compiler can use, and there is no generic instruction set applicable to all processors. In contrast, -mtune indicates the processor (or, in this case, collection of processors) for which the code is optimized.

daemonpnz ★★★★★
()
Последнее исправление: daemonpnz (всего исправлений: 2)

только make.conf закинул(выкинув все флаги и заменив -m{arch,tune} на generic)

покажи получившийся make.conf, где он лежит и какой в <путь>/etc/portage выставлен профиль

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

make.conf в шапке.. лежит он в /etc/portage новой системы..

на данный момент в нем изменен CFLAGS :

CFLAGS=" -O -fomit-frame-pointer -pipe "

профиль дефолтный..

profiles/default/linux/amd64/13.0

тольк я думаю не уложится @system в 100мб..(без гцц).. да и с чего некоторые проги юзают libstdc от gcc? взять тот же eix..

ЗЫ:: всегда собирал «сидячие» системы под железо, а теперь понадобилось сделать маленькую.. временное решение - tinycore в 80+мб, но это не то..

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

тольк я думаю не уложится @system в 100мб

squashfs решает. У меня роутер на uclibc с кучей софта весит 55 мб в сжатом виде. А там perl, python, php, ну ты понел

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

там perl, python, php

И зачем такое дублирование функциональности? Выбери оди и стань его фанбоем, остальные удали.

anonymous
()
Ответ на: комментарий от Pinkbyte

-O да так.. экспериментривал..

симлинк верный..

Итого 4.0К
drwxr-xr-x 3 root root  100Кб 17:50 .
drwxr-xr-x 5 root root  180Кб 17:47 ..
-rw-r--r-- 1 root root 1.4KКб 17:50 make.conf
lrwxrwxrwx 1 root root   51Кб 17:43 make.profile -> ../../usr/portage/profiles/default/linux/amd64/13.0
drwxr-xr-x 2 root root   80Кб 16:39 package.use

squashfs не юзал..

TODD ★★
() автор топика
Последнее исправление: TODD (всего исправлений: 1)
Ответ на: комментарий от TODD

-fomit-frame-pointer

Включено по умолчанию на amd64 и x86.

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

В генте perl и python обязательны, выпиливать лень

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

решает? мм.. подскажи, как урезать ее.. один system(полный с деф профилем) весит 350+мб, сжатый 120+мб

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

покажи emerge -ev world относительно собранной системы. Включи USE=«minimal» в дополнение к твоему -*. Удали <путь_к_корню>/usr/share/{info,man,doc} и пропиши FEATURES=«noman noinfo nodoc»

Собирай squashfs с исключением ненужных тебе директорий. Например, у меня

lib/grub
root/*
sbin/grub*
usr/bin/addr2line
usr/bin/bison
usr/bin/cpp-*
usr/bin/file
usr/bin/flex
usr/bin/gcc*
usr/bin/*-gentoo-linux-uclibc-*
usr/bin/lex
usr/bin/m4
usr/bin/yacc.bison
usr/*-gentoo-linux-uclibc
usr/include
usr/lib/*.a
usr/lib/*.la
usr/lib/binutils
usr/lib/gcc/*/*/*.a
usr/lib/gcc/*/*/*.la
usr/lib/gcc/*/*/include
usr/lib/lighttpd/*.la
usr/lib/php5/include
usr/lib/pkgconfig
usr/lib/portage
usr/libexec/gcc
usr/bin/rc-config
usr/share/aclocal*
usr/share/autoconf
usr/share/automake*
usr/share/baselayout
usr/share/binutils-data
usr/share/busybox
usr/share/consoletrans
usr/share/doc
usr/share/eselect
usr/share/info
usr/share/misc/magic.mgc
usr/share/misc/usb.ids
usr/share/libtool
usr/share/man
usr/share/portage
usr/share/sandbox
var/cache/edb
var/cache/revdep-rebuild
var/db
var/lib/gentoo
var/lib/portage
var/log/emerge*
var/log/news
var/log/portage
var/log/sandbox
etc/resolv.conf

Логика в большинстве случаев проста: на целевой системе компилятор и portage без надобности

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

мир еще не пересобирал, видно, что юзы изменены..
emerge-epv-world
emerge-info
make.conf

./usr/share/{man,info,doc} не существует..

сорцов ядра нет, как и портежа.. tmp пуст..

даже с твоим exclude-листом(разбираться не стал) 140 метров от 550(фулл) осталось..(180 без листа) или база большая, или я криворук..

TODD ★★
() автор топика
Последнее исправление: TODD (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

забыл упомянуть: текущая система на базе «последнего» uclibc-stage'а.. который сам весит 480м..

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

от меня часами будет загружаться (( инет не ахти, отдача хреновая

TODD ★★
() автор топика
Последнее исправление: TODD (всего исправлений: 1)

Конфиг-рут должен быть минимальной гентой, то есть полностью весь портаж, с базами, варом, и прочей требухой.

Просто рут может развернуть генту для чрута или на соседний хард (по вкусу), просто начни с @system.

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

system-база, упакованная(с выкидыванием гцц и портежа) не влезает на флешку.. флаги тоже выкинуты..

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

не влезает на флешку

256 MB? Я в 512 MB помещал генту с портажем и гцц, но это было год-полтора назад, возможно, что-то изменилось, гарантировать не могу.

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

При всём желании гента не влезет. Разве что перелопатить ВСЕ юзы (не отключить всё бездумно, конечно, но почистить и поправить) и вычистить @system от хлама (который там не может не быть). Это приблизит результат к желаемому, но вряд ли влезет без сжатия.

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

со сжатием @system c exclude листом (см. выше) не влезает..

думаю придется ковырять мелочь типа tiny, как оное там сотворено..

ЗЫ: как вариант создать свой сет (аля @system|@world) c нужным набором пакетов..

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

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

Да и вообще, если тебе на замену recovery/rescue, то busybox + procps + grep + sed + gawk + efibootmgr + file + pciutils + usbutils + ещё что по вкусу хватит за глаза.

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

Затем, что когда я делал этот роутер musl еще был в зачаточном состоянии. А пересобирать всё мне лень.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от r3lgar

эм.. это-то да.. но круг намного ширше.. ssh, vnc в обязательном порядке(а vnc без иксов я так понимаю не пойдет)

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

Ну, ssh нужен, да, но зачем на resque-флэшке vnc? Кроме того, что оно требует Xorg (возможно, оно будет работать и во фреймбуффере, не интересовался), так зачем оно на флэшке? Тебе для починки линуксоа, или как карманный линукс? Если второе, то в объём флэшки ты при всём желании не уложишься.

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

У ТСа флэшка на 128 MB, если ты тред не читал.

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

Но я так и не понял, зачем resque-системе вообще иксы? Чтобы убунтоиды могли пользоваться? Так им всё равно ничего не грозит — убунту не вылечит ничто, если она всё, да и должен остаться диск/флэшка с установки — там тоже есть live-режим.

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

tinycore пока висит(80м образ), но с ним не разбирался еще..

TODD ★★
() автор топика
18 июня 2016 г.

тема все еще актуальна..

у меня жесткий на ноуте «полетел» (система видит, но не читает его, моунт виснет сразу, сам жд «скрипит»)

ЗЫ: сижу-думаю, че теперь с ним делать..

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