Gentoo Archives: gentoo-user-ru

From: Alex Efros <powerman@×××××××.ua>
To: gentoo-user-ru@l.g.o
Subject: Re: [OBORONA-SPAM] Re: [gentoo-user-ru] Gentoo Handbook does not contain information about bootstrap?
Date: Fri, 02 Dec 2005 16:58:15
Message-Id: 20051202165734.GW30325@home.power
In Reply to: Re: [gentoo-user-ru] Gentoo Handbook does not contain information about bootstrap? by Norguhtar
1 Hi!
2
3 On Fri, Dec 02, 2005 at 12:26:14PM +0500, Norguhtar wrote:
4 > Для те кто не собирал дают stage3. Просто если человек слабо понимает
5 > что и зачем он делает ему хватит и stage3. Для тех кто понимает может
6 > взять stage1. Вот объясни мне какой сакроментальный смысл ставить из
7 > stage1 ?
8
9 Все pros и cons установки из stage1 по сравнению с stage2 и stage3 отлично
10 описаны в предыдущих версиях handbook:
11 http://www.gentoo.org/doc/en/handbook/2004.2/handbook-x86.xml?part=1&chap=2
12
13 Если опустить такие "не материальные" вещи как "ощущение большего контроля
14 над системой" и "более глубокое понимание устройства системы", то у нас
15 останется только одно: возможность повлиять на toolchain и system-пакеты
16 нашими CHOST, CFLAGS и USE.
17
18 Поскольку в stage2/3 юзер уже не может изменять CHOST, то разработчики Gentoo
19 вынуждены предоставлять stage2/3 в нескольких вариантах с разными значениями
20 CHOST. Помимо необходимости держать это в голове, выкачивать несколько
21 вариантов stage2/3 и опасности нечаянно распаковать не ту версию, есть ещё
22 один факт: вариантов CHOST больше, чем текущих сборок stage2/3 - вот
23 инфа из handbook (только x86 платформа, для примера):
24 Architecture Subarchitecture CHOST Setting
25 x86 i386 i386-pc-linux-gnu
26 x86 i486 i486-pc-linux-gnu
27 x86 i586 i586-pc-linux-gnu
28 x86 i686 and above (incl. athlon) i686-pc-linux-gnu
29 а вот список доступных stage2/3 для 2005.1-r1:
30 x86
31 лежат в каталоге со stage1, надо полагать это i386-pc-linux-gnu
32 i686
33 pentium3
34 pentium4
35 athlon-xp
36 это всё i686-pc-linux-gnu с разными CFLAGS
37 Отсюда выводы:
38 - из stage2/3 вы не можете получить систему оптимизированную под 486/586,
39 - в stage2/3 вы не можете настроить CFLAGS для toolchain и system чтобы
40 максимально оптимизировать систему под своё железо (например под athlon
41 (не XP) - это если не обращать внимание на море разных флагов gcc кроме
42 -march которыми тоже можно очень сильно повлиять на производительность)
43 - не смотря на то, что "system" он как бы и в Африке "system", на самом деле
44 на него очень сильно влияют USE-флаги (простой пример - из-за юзе флагов
45 в system может входить/не входить такая мелочь как Xorg) - таким образом
46 в stage2/3 вы получаете довольно большое кол-во system-пакетов собранных
47 без учёта нужных вам USE-флагов
48 - из stage2/3 вы не можете установить ~x86 версии system-пакетов (например,
49 новый gcc)
50
51 Безусловно, все эти проблемы stage2/3 можно решить ручками пересобрав ВСЁ:
52 emerge linux-headers glibc binutils gcc-config gcc
53 # изменить gcc, если нужно
54 gcc-config имя_или_номер_нового_gcc
55 source /etc/profile
56 emerge glibc binutils gcc portage
57 emerge -e system
58 но возникает вопрос - нах с этим морочится если можно просто поставить stage1?
59
60 IMHO разработчики Gentoo просто выбрали не ту дорогу. Гораздо проще
61 поддерживать _один_ stage1 чем _кучу_ разных stage2/3. Что касается проблем,
62 которые "у многих возникали при сборке из stage1" - я с таким не сталкивался.
63 По сути чтобы получить из stage1 stage3 нужно всего-лишь:
64 1) установить CHOST, CFLAGS, USE
65 2) вызвать bootstrap-скрипт
66 3) вызвать emerge system
67 Если у людей на этом этапе возникают проблемы, то либо они не в состоянии
68 выставить корректно значения CHOST/CFLAGS/USE - в этом случае пусть лучше
69 учатся это делать либо не лезут в Gentoo вообще, если учиться не хотят;
70 либо в stage1 есть глюки, которые разработчики Gentoo должны пофиксить -
71 вместо того чтобы выпускать и поддерживать море разных stage2/3.
72
73 Что касается возможности устанавливать Gentoo "для ленивых" - из stage3 плюс
74 откомпилированные пакеты - IMHO это нужно вообще вынести в отдельный проект
75 а-ля RedHat/SuSe, наваять графический инсталлятор и получить ещё один обычный
76 дистрибутив со своим менеджером пакетов, чем-то лучший других, чем-то худший.
77
78
79 P.S. Что касается проблемы "файлов, которые остаются на диске после установки
80 из stage1 и про которые не знает emerge и не может их вычистить" - во-первых
81 они никому не мешают и их не так много, а во-вторых ничего не мешает
82 разрабочикам Gentoo написать clean-up скрипт который бы при установке из
83 stage1 после bootstrap/emerge system удалил бы все файлы не принадлежащие
84 ни одному пакету.
85
86 --
87 WBR, Alex.
88 --
89 gentoo-user-ru@g.o mailing list

Replies