x32 -> x64

Есть два сервера, которые собраны на x32. Сервера боевые, что-то делать с ними продолжительное время проблематично.

Давно уже чешутся руки перевести их на х64, но ставить все по новой - большой риск остаться без головы.

Вопрос такой: если загрузиться с х64 ядра и пересобрать мир и собрать под систему сооветствующее ядро, будет ли все работать?

Если сервера боевые и у вас

Если сервера боевые и у вас чешутся ручки, то советую вам их просто почесать, если не хотите искать новую работу.

А по сути загрузившись просто с 64 битным ядром у вас всё равно будет 32 битное окружение, компилятор и прочее, собрать по обычному ни чего не получится, только cross компиляция.

Да и вообще так вам уж сразу проще винты форматнуть, чем устраивать такой длительный развал системы.

По уму берёте отдельную машину, на ней всё собираете, настраиваете, ради теста можете перенести (скопировать) с ваших серверов необходимые данные и проверить их работу / использование на собранной вами системе на отдельном ПК, когда всё настроите делаете stage4, без ваших скопированных данных и разворачиваете его на одном из ваших "боевых" серверов.

Если всё удачно - то приступаете ко второму.

Но перед любыми действиями не забудьте сделать полный бэкап.

Даже в handbook`е написано, что менять CFLAGS и CHOST нельзя, особенно CHOST, а вы хотите это сделать.

.

kostik87 написал(а):
менять CFLAGS ...skipped... нельзя

Мде...

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Что-то я вас не понял. У меня

Что-то я вас не понял.

У меня есть система, собранная с '-march=amdfam10', временно пришлось использовать вместо AMD Phenom II, под который всё и собиралось AMD Athlon x2 6000+, а это уже '-march=k8', система большей частью работала, но периодически были "сегфолты".

А про замену CHOST 'i686-pc-linux-gnu' или 'i586-pc-linux-gnu' на 'x86_64-pc-linux-gnu' можно вообще не говорить, это равносильно сносу системы.

.

kostik87 написал(а):
есть система, собранная с '-march=amdfam10', временно пришлось использовать вместо AMD Phenom II, под который всё и собиралось AMD Athlon x2 6000+, а это уже '-march=k8', система большей частью работала, но периодически были "сегфолты"

Ну, и?.. Каким образом данная тирада, свидетельствующая лишь о (образно выражаясь) нежелательности принятия "внутрь" метилового спирта вместо этилового, подтверждает ваше предыдущее, ну очень мягко говоря, странное утверждение?!

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Ну и чем же оно странное.

Ну и чем же оно странное. Хватит ходить вокруг да около.

http://www.gentoo.org/doc/en/

Это хорошо, но ни вы, ни

Это хорошо, но ни вы, ни Spoiler не внимательны, если вы прочитаете описание темы ТС и моё сообщение, то поймёте, что ТС, по крайне мере я так предположил, хочет сменить CHOS с i686-pc-linux-gnu на x86_64-pc-linux-gnu, в файле /etc/make.conf, а это вообще не возможно.

Так что прежде чем что-либо говорить нужно подумать ...

вот странное утверждение:

вот странное утверждение: "Даже в handbook`е написано, что менять CFLAGS и CHOST нельзя"
Про CHOST там вообще ничего не написано, а про CFLAGS сказано:

Цитата:
CFLAGS and CXXFLAGS

The CFLAGS and CXXFLAGS variables define the optimization flags for the gcc C and C++ compiler respectively. Although we define those generally here, you will only have maximum performance if you optimize these flags for each program separately. The reason for this is because every program is different.

А x86 на x64 поменять вполне можно, только придется заэмержить бинарники gcc и glibc, а потом уже бутстрапить систему

Допустим, что моя

Допустим, что моя формулировка не совсем корректна, в вашей выдержке про CHOST ни чего не сказано, но менять кардинально архитектуру (CHOST) с i686 на x86_64 нельзя в любом случае.
И смысл, который я высказал в этой фразе всё же верен, пусть её формулировка не совсем корректна.

Смысл как раз и неверен. Обе

Смысл как раз и неверен. Обе переменные можно менять (на то они и переменные, а не константы). То, что смена CHOST влечет за собой полную пересборку системы (= утановке stage1), это уже второй вопрос.

akakernel написал(а): Давно

akakernel написал(а):
Давно уже чешутся руки перевести их на х64, но ставить все по новой - большой риск остаться без головы.

Вопрос такой: если загрузиться с х64 ядра и пересобрать мир и собрать под систему сооветствующее ядро, будет ли все работать?

Lazhu написал(а):
Смысл как раз и неверен. Обе переменные можно менять (на то они и переменные, а не константы). То, что смена CHOST влечет за собой полную пересборку системы (= утановке stage1), это уже второй вопрос.

По выдержке ТС не видно, что он хочет ставить всё начиная со stage1 или полного разворачивания stage3. ТС хочет в рабочей 32 битной системе сменить CHOST на соответствующий 64 битной системе, по крайней мере я понял так, а это не возможно.

.

kostik87 написал(а):
в рабочей 32 битной системе сменить CHOST на соответствующий 64 битной системе, по крайней мере я понял так, а это не возможно

Мде...

Мы тоже не всего читали Шнитке!.. © В. Вишневский

.

kostik87 написал(а):
ни вы, ни Spoiler не внимательны, если вы прочитаете описание темы ТС и моё сообщение, то поймёте, что ТС, по крайне мере я так предположил, хочет...

Вне зависимости от того, чего хочет ТС (и даже нашей "невнимательности"), вы сказали глупость, на которую вам и указали. Ничего страшного, в первые дни нового года допустимо...

Мы тоже не всего читали Шнитке!.. © В. Вишневский

akakernel написал(а):Давно

Промахнулся.

Lazhu

Но не для случая 32 -> 64 :)

Думал примерно над тем же.
Для рабочей станции.
В итоге оказалось лень (куда проще унести наличную конфигурацию на amd64 stage3).

:wq
--
Live free or die

.

kostik87 написал(а):
чем же оно странное

Дык самой сутью своей. На то и предоставляются вам сифлаги в виде переменной (а не константы), чтобы вы могли использовать данную возможность по своему усмотрению. Ессно, если вы понимаете, что делаете, а в случае, если не понимаете - то это не ваш дистрибутив, ну или будьте готовы к тому, чтобы "...периодически были "сегфолты"..."

Мы тоже не всего читали Шнитке!.. © В. Вишневский

akakernel написал(а):Давно

akakernel написал(а):
Давно уже чешутся руки перевести их на х64, но ставить все по новой - большой риск остаться без головы.
Вопрос такой: если загрузиться с х64 ядра и пересобрать мир и собрать под систему сооветствующее ядро, будет ли все работать?

По выдержке ТС не видно, что он хочет ставить всё начиная с разворачивания stage3. ТС хочет в рабочей 32 битной системе сменить CHOST на соответствующий 64 битной системе, по крайней мере я понял так, а это не возможно.

Меняйте CHOST и CFLAGS, но не так кардинально, до смены "разрядности" системы. Основная цель моего поста была в том, что бы донести до ТС то, что он хочет и как нельзя делать.

x32-тире x64

Я тут молча поключусь к вашему разговору
может для себя чего найду
--
захотелось также переехать на 64
сразу уперлось во много пробллем
--
1 винт и разделы видятся, как xvda (ставится в ксене)
2 все grub-ы замаскированы! Размаскировка не помогает (сообщение, что это дело тянет еще за собой кучу пакетов)
Единственный вариант grub-static
3 родную комбинацию (hd0,0) вся эта хрень не хавает, хотя под boot выделен раздел в 200m и стоит в начале диска
--
может кто знает, как grub установить в загрузку?
--
в общем вот такой никакой переход

grub 0.97 (grub legacy)

grub 0.97 (grub legacy) собирается только в 32 битную сборку, если у вас 64 битная система и профиль не multilib тогда придётся размаскировать grub2 (grub-1.99) и собирать его, либо использовать lilo.

.

kostik87 написал(а):
grub 0.97 (grub legacy) собирается только в 32 битную сборку, если у вас 64 битная система и профиль не multilib тогда придётся размаскировать grub2

Не обязательно. В своё время с успехом использовал sys-boot/grub-static

Мы тоже не всего читали Шнитке!.. © В. Вишневский

да профиль multilib поставил

да
профиль multilib
поставил grub-static
--
но grub> root(hd0,0) уперто не пролазит
-

Ну даже не знаю, у меня

Ну даже не знаю, у меня профиль multilib и установлен обычный grub-0.97.

$ eselect profile list
Available profile symlink targets:
  [1]   default/linux/amd64/10.0
  [2]   default/linux/amd64/10.0/desktop
  [3]   default/linux/amd64/10.0/desktop/gnome *
  [4]   default/linux/amd64/10.0/desktop/kde
  [5]   default/linux/amd64/10.0/developer
  [6]   default/linux/amd64/10.0/no-multilib
  [7]   default/linux/amd64/10.0/server
  [8]   hardened/linux/amd64
  [9]   hardened/linux/amd64/selinux
  [10]  hardened/linux/amd64/no-multilib
  [11]  hardened/linux/amd64/no-multilib/selinux
  [12]  selinux/2007.0/amd64
  [13]  selinux/2007.0/amd64/hardened
  [14]  selinux/v2refpolicy/amd64
  [15]  selinux/v2refpolicy/amd64/desktop
  [16]  selinux/v2refpolicy/amd64/developer
  [17]  selinux/v2refpolicy/amd64/hardened
  [18]  selinux/v2refpolicy/amd64/server
$ eix -I grub
[I] sys-boot/grub
     Available versions:  
	(0)	*0.92-r1 0.94-r1 0.96-r1 0.96-r2 ~0.96-r3 ~0.97 0.97-r2 0.97-r3 0.97-r4 0.97-r5 0.97-r6 ~0.97-r8 0.97-r9 0.97-r10
	(2)	[M]~1.99-r2 **9999
	{custom-cflags debug device-mapper efiemu grub_platforms_coreboot grub_platforms_efi-32 grub_platforms_efi-64 grub_platforms_emu grub_platforms_ieee1275 grub_platforms_loongson grub_platforms_multiboot grub_platforms_pc grub_platforms_qemu grub_platforms_qemu-mips grub_platforms_yeeloong ncurses netboot nls sdl static truetype}
     Installed versions:  0.97-r10(15:08:16 15.09.2010)(ncurses -custom-cflags -netboot -static)
     Homepage:            http://www.gnu.org/software/grub/
     Description:         GNU GRUB boot loader

Так и должно быть, почему у вас на miltilib профиле не получается поставить обычный grub не ясно.

(*)

Рассказываете руководству о рисках (я не знаю, придумайте что-нибудь) и под это дело требуете у них ТРЕТИЙ сервер, который у вас благополучно с нуля 64-битный. Теперь, когда у вас есть три сервера, один из старых можно заменить на новый, а освободившийся старый обратно делаете 64-битным. Наконец и третий сервер делаете 64-битным. Как-то так.

Самое простое

Самое простое это по методу пустого стакана. Но вот скана нет.

По поводу проблемы, пока все работает, но рано или поздно упрется в масштабируемость. Сейчас там крутится OpenVZ ядро, 32 битное, а хотелось бы Xen х64.

Так что придется ждать, пока руководству петух не клюнет во всем известное место :)

P.S. Вы тут уже сами передрались и без меня =)

Упрётся - купят новый сервер,

Упрётся - купят новый сервер, и на него можно перетянуть виртуалки. Все счастливы ничего не упало.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".