LINUX.ORG.RU

Если генту собрать на виртуалке, ее придется пересобирать на реальной системе?

 


0

1

Если я соберу генту в virtualbox’e и перенесу ее в реальную систему, то мне нужно будет ее полностью пересобирать? Т.е она в виртуалке соберется без полного перечня CFLAGS и тд

★★★★

виртуалка нафиг не нужна, есть chroot

выставь наименьшие общие CFLAGS и тд, и всё запустится

anonymous
()

Наверное соберётся, только смысл? Её же всё время обновлять нужно. Вы хотите все обновления собирать в виртуалке? Тогда бинарные пакеты. А так есть calculate linux.

CFLAGS по дефолту будет, march определит сам компилятор, x86-64, скорее всего.

то мне нужно будет ее полностью пересобирать?

Если ваша gentoo из virtualbox запустится на реальном железе, то её не нужно пересобирать, а если не запустится, так она и пересобрать себя не сможет.

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

Я так делал.

Да, заработало.

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

Так что если у тебя такой же кейс - собрать на виртуалке на мощном холодном компе, чтобы потом перенести на слабый греющийся под нагрузкой ноутбук, - учти этот фактор. Ну, или упарывайся в Cross build environment. Или бери бинарный дистр, хотябы тот же Calculate aka бинарная Gentoo.

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

А смысл собирать в виртуалке? Чем чрут не угодил? Ведь в чруте не будет потерь на виртуализацию. Или я чего-то не понимаю?

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

А смысл собирать в виртуалке? Чем чрут не угодил? Ведь в чруте не будет потерь на виртуализацию. Или я чего-то не понимаю?

Есть вещи, которые в chroot не посмотришь, можно проверить только на вритуалке или сделав reboot машины: корректность конфигурации ядра, initrd, список сервисов в автозагузке, fstab, работа с LVM и др.

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

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

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

genkernel сделает тебе ядро/инит которые запустятся на любом железе, если сам вручную не сможешь сконфигурировать.

Chord ★★★
()
Последнее исправление: Chord (всего исправлений: 1)
Ответ на: комментарий от bryak
$ cat /etc/portage/make.conf
# Basic settinges
# ACCEPT_KEYWORDS="amd64"
MAKEOPTS="-j3"
# FEATURES="distcc"

# Hardware platform
CHOST="x86_64-pc-linux-gnu"
CFLAGS="-march=x86-64 -O2 -pipe"
CXXFLAGS="${CFLAGS}"

CPU_FLAGS_X86="" # https://wiki.gentoo.org/wiki/CPU_FLAGS_X86
VIDEO_CARDS="vesa"
INPUT_DEVICES="evdev"
ALSA_CARDS=""

# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"

# PORTAGE_TMPDIR="/profile/etc/portage/tmp/tmp_02G"
source "/etc/portage/env/tmp_02G.conf"

# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C

source "/etc/portage/make_use.conf"

LINGUAS="en en_US en_GB ru ru_RU ru_RU_0 uk uk_UA zh zh_CN" # (For gettext-based programs). Full list is here: /usr/portage/profiles/desc/linguas.desc
L10N="en en_US en_GB ru uk zh zh_CN" # (For non-gettext-based programs): Full list is here: /usr/portage/profiles/desc/l10n.desc

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

genkernel сделает тебе ядро/инит которые запустятся на любом железе, если сам вручную не сможешь сконфигурировать.

На самом деле дефолтный конфиг ванильного ядра запустится на 99% железа. Я там только добавляю отдельные фишки, как то Magic SysRq, поддержку файловых систем , cardreader, шифрования для wifi и др.

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

Генту собирается не под текущую систему (если флаги не стоят auto), а так, как вы в конфиге написали. Так что если флаги работоспособны для реальной системе, то всё замечательно. Единственный возможный косяк: системные пакеты не должны внезапно замениться на неработоспособные версии. Т.е. виртуалка должна мочь исполнить то, что вы там понасобирали.

kirill_rrr ★★★★★
()

5 часов собирал. Собрал. Запустил dwm и dmenu. Пробую набирать в dmenu - dmenu пропадает(отлуп на нажатие клавиш). Xorg собран с evdev. Откатился на debian. Следующий эксперимент после нг. Они как раз 2 питон выпилят))

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

Я между компами переносил, просто пересобрав ядро под другую матплату. Оптимизации под процессор уже потом, из рабочей системы.

Вряд ли ведь в виртуалке есть инструкции процессора, которых нет на хосте?

alfix
()
Последнее исправление: alfix (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.