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

Материал из Gentoo Linux Wiki

Перейти к: навигация, поиск
Вернуться в раздел руководства

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

Другие методы могут быть более подходящими для других ситуаций, когда главная проблема не только медленный процессор и долгое время сборки, например, если надо перенести 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 -fomit-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

Это — незавершённая статья. Вы можете помочь проекту, исправив и дополнив материал.
Личные инструменты
На других языках