В начало → Сборка на другом компьютере
Gentoo-doc HOME В начало

Сборка на другом компьютере


Существует много методов добиться этого, но мы используем самый удобный — тот, что работает с портежами.

Другие методы могут быть более подходящими для других ситуаций, когда главная проблема не только медленный процессор и долгое время сборки, например, если надо перенести Gentoo на систему, которая не может загружаться с CD или сети.

Скомпилировать Gentoo для старых систем x86 (например, Pentium Pro 200MHz с небольшим количеством RAM) можно на x86_64-системе с работающей Gentoo. Обратный трюк, собрать 64-битную систему на 32-битном компьютере, невозможен.

Я собирал систему в chroot-окружении согласно Gentoo-handbook, используя мою 64bit-Gentoo вместо "живого" CD:

# mkdir /your/new/gentoo

# tar xjvpf stage3-x86-*.tar.bz2 -C /your/new/gentoo

Отредактируйте переменные CHOST и CFLAGS, соответствующие вашей целевой системе (не изменяйте CHOST, если используете стадию 2 или 3 — возмите стадию для соответствующей платформы). У меня было:

# CHOST="i686-pc-linux-gnu"

# CFLAGS="-march=pentiumpro -Os -momit-frame-pointer -pipe"

# CXXFLAGS="$CFLAGS"

Далее переходим в chroot-окружение и выполняем все шаги, описанные в Руководстве Gentoo по установке.

Чтобы собрать ядро для i386 на x86_64-машине добавьте ARCH=i386 при конфигурации и компиляции ядра.

# make menuconfig ARCH=i386

# make clean dep modules modules_install bzImage ARCH=i386

# cp arch/i386/boot/bzImage /boot/vmlinuz

Размечать диск и создавать файловые системы на старом компьютере вам придется с помощью "живого" CD или другой системы Linux.

Переносим готовую систему на старый компьютер:

# cd /your/new/gentoo

# echo "/sys/*" >> tar_exclusions

# echo "/var/run/*" >> tar_exclusions

# echo "/tmp/*" >> tar_exclusions

# echo "/proc/*" >> tar_exclusions

#

# tar -C /your/new/gentoo -X tar_exclusions --preserve -cf ../gentoo.tar .

## можете добавить -v для подробного вывода или -j / -z для компрессии

# scp [-P ssh_port]  ../gentoo.tar user@dest_pc:

На старой машине подготавливаем диски и распаковываем систему:

# tar -C /your/new/system --preserve -xf ~user/gentoo.tar

Теперь вы можете войти в chroot-окружение. Сконфигурируйте системный загрузчик и перегрузитесь. Теперь вы находитесь в новой, с иголочки, Gentoo.

Система теперь должна работать, но я заметил проблему — я не могу ничего скомпилировать. Похоже, что не работает ни C-препроцессор, ни gcc (обычно configure говорит, что /lib/cpp fails sanity check). Не знаю почему, но копирование /usr/include из chroot-каталога с исходной машины на старый компьютер эту проблему решило.

Удачи!

Оригинал на http://gentoo-wiki.com/HOWTO_Compile_on_another_computer

Перевод Poor Fred

В начало
В начало → Сборка на другом компьютере