x32 -> x64
akakernel 7 января, 2012 - 18:19
Есть два сервера, которые собраны на x32. Сервера боевые, что-то делать с ними продолжительное время проблематично.
Давно уже чешутся руки перевести их на х64, но ставить все по новой - большой риск остаться без головы.
Вопрос такой: если загрузиться с х64 ядра и пересобрать мир и собрать под систему сооветствующее ядро, будет ли все работать?
»
- Для комментирования войдите или зарегистрируйтесь

Если сервера боевые и у вас
Если сервера боевые и у вас чешутся ручки, то советую вам их просто почесать, если не хотите искать новую работу.
А по сути загрузившись просто с 64 битным ядром у вас всё равно будет 32 битное окружение, компилятор и прочее, собрать по обычному ни чего не получится, только cross компиляция.
Да и вообще так вам уж сразу проще винты форматнуть, чем устраивать такой длительный развал системы.
По уму берёте отдельную машину, на ней всё собираете, настраиваете, ради теста можете перенести (скопировать) с ваших серверов необходимые данные и проверить их работу / использование на собранной вами системе на отдельном ПК, когда всё настроите делаете stage4, без ваших скопированных данных и разворачиваете его на одном из ваших "боевых" серверов.
Если всё удачно - то приступаете ко второму.
Но перед любыми действиями не забудьте сделать полный бэкап.
Даже в handbook`е написано, что менять CFLAGS и CHOST нельзя, особенно CHOST, а вы хотите это сделать.
.
Мде...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Что-то я вас не понял. У меня
Что-то я вас не понял.
У меня есть система, собранная с '-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' можно вообще не говорить, это равносильно сносу системы.
.
Ну, и?.. Каким образом данная тирада, свидетельствующая лишь о (образно выражаясь) нежелательности принятия "внутрь" метилового спирта вместо этилового, подтверждает ваше предыдущее, ну очень мягко говоря, странное утверждение?!
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Ну и чем же оно странное.
Ну и чем же оно странное. Хватит ходить вокруг да около.
http://www.gentoo.org/doc/en/
http://www.gentoo.org/doc/en/change-chost.xml
Это хорошо, но ни вы, ни
Это хорошо, но ни вы, ни Spoiler не внимательны, если вы прочитаете описание темы ТС и моё сообщение, то поймёте, что ТС, по крайне мере я так предположил, хочет сменить CHOS с i686-pc-linux-gnu на x86_64-pc-linux-gnu, в файле /etc/make.conf, а это вообще не возможно.
Так что прежде чем что-либо говорить нужно подумать ...
вот странное утверждение:
вот странное утверждение: "Даже в handbook`е написано, что менять CFLAGS и CHOST нельзя"
Про CHOST там вообще ничего не написано, а про CFLAGS сказано:
А x86 на x64 поменять вполне можно, только придется заэмержить бинарники gcc и glibc, а потом уже бутстрапить систему
Допустим, что моя
Допустим, что моя формулировка не совсем корректна, в вашей выдержке про CHOST ни чего не сказано, но менять кардинально архитектуру (CHOST) с i686 на x86_64 нельзя в любом случае.
И смысл, который я высказал в этой фразе всё же верен, пусть её формулировка не совсем корректна.
Смысл как раз и неверен. Обе
Смысл как раз и неверен. Обе переменные можно менять (на то они и переменные, а не константы). То, что смена CHOST влечет за собой полную пересборку системы (= утановке stage1), это уже второй вопрос.
akakernel написал(а): Давно
По выдержке ТС не видно, что он хочет ставить всё начиная со stage1 или полного разворачивания stage3. ТС хочет в рабочей 32 битной системе сменить CHOST на соответствующий 64 битной системе, по крайней мере я понял так, а это не возможно.
.
Мде...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
.
Вне зависимости от того, чего хочет ТС (и даже нашей "невнимательности"), вы сказали глупость, на которую вам и указали. Ничего страшного, в первые дни нового года допустимо...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
akakernel написал(а):Давно
Промахнулся.
Lazhu
Но не для случая 32 -> 64 :)
Думал примерно над тем же.
Для рабочей станции.
В итоге оказалось лень (куда проще унести наличную конфигурацию на amd64 stage3).
:wq
--
Live free or die
.
Дык самой сутью своей. На то и предоставляются вам сифлаги в виде переменной (а не константы), чтобы вы могли использовать данную возможность по своему усмотрению. Ессно, если вы понимаете, что делаете, а в случае, если не понимаете - то это не ваш дистрибутив, ну или будьте готовы к тому, чтобы "...периодически были "сегфолты"..."
Мы тоже не всего читали Шнитке!.. © В. Вишневский
akakernel написал(а):Давно
По выдержке ТС не видно, что он хочет ставить всё начиная с разворачивания 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.
.
Не обязательно. В своё время с успехом использовал 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. Вы тут уже сами передрались и без меня =)
Упрётся - купят новый сервер,
Упрётся - купят новый сервер, и на него можно перетянуть виртуалки. Все счастливы ничего не упало.