The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Откат FreeBSD64 на FreeBSD32"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Откат FreeBSD64 на FreeBSD32"  
Сообщение от akuzhelev (ok) on 22-Апр-08, 08:17 
Возможно ли имея установленную на сервере FreeBSD 64bit пересобрать все и превратить систему во FreeBSD 32bit?
Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Откат FreeBSD64 на FreeBSD32"  
Сообщение от ShyLion (ok) on 22-Апр-08, 15:59 
>Возможно ли имея установленную на сервере FreeBSD 64bit пересобрать все и превратить
>систему во FreeBSD 32bit?

Учитывая, что придется пересобирать ВООБЩЕ все, оно тебе надо???

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Откат FreeBSD64 на FreeBSD32"  
Сообщение от shutdown now on 23-Апр-08, 02:48 
>>Возможно ли имея установленную на сервере FreeBSD 64bit пересобрать все и превратить
>>систему во FreeBSD 32bit?
>
>Учитывая, что придется пересобирать ВООБЩЕ все, оно тебе надо???

Возможно, особенно если у тебя в ядре есть поддержка бинариков 32 бит и соответствующие либы

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Откат FreeBSD64 на FreeBSD32"  
Сообщение от akuzhelev (ok) on 23-Апр-08, 15:00 
>>>Возможно ли имея установленную на сервере FreeBSD 64bit пересобрать все и превратить
>>>систему во FreeBSD 32bit?
>>
>>Учитывая, что придется пересобирать ВООБЩЕ все, оно тебе надо???
>
>Возможно, особенно если у тебя в ядре есть поддержка бинариков 32 бит
>и соответствующие либы

Какой план действий?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Откат FreeBSD64 на FreeBSD32"  
Сообщение от shutdown now on 24-Апр-08, 01:16 
>>>>Возможно ли имея установленную на сервере FreeBSD 64bit пересобрать все и превратить
>>>>систему во FreeBSD 32bit?
>>>
>>>Учитывая, что придется пересобирать ВООБЩЕ все, оно тебе надо???
>>
>>Возможно, особенно если у тебя в ядре есть поддержка бинариков 32 бит
>>и соответствующие либы
>
>Какой план действий?

вроде такого:
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=243646+0+archiv...

билдишь ядро и мир под i386 TARGET_ARCH=i386, потом инсталишь всё на свободный раздел, например, своп
ребутишься
при загрузке указываешь 32-х битное ядро, корневую фс - set vfs.root.mountfrom="ufs:/dev/ad0s1b"
загружаешься в сингл мод
монтируешь основную фс и инсталишь мир на неё
ещё раз ребут


я пару раз переходил с i386 на amd64, наоборот причин не было

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Откат FreeBSD64 на FreeBSD32"  
Сообщение от AMDmi3 (??) on 23-Апр-08, 22:57 
>Возможно ли имея установленную на сервере FreeBSD 64bit пересобрать все и превратить
>систему во FreeBSD 32bit?

Думаю да. Но удаленно делать бы этого не стал (или сначала попрактиковался бы на свободной машине/в vm). Проблемы тут выдятся две: во-первых, как собрать мир под другую архитектуру (по идее нужно что-то типа CFLAGS="-march=pentium4 -m32" и такие же CXXFLAGS) в /etc/make.conf. Не факт, что эти CFLAGS будут использованы _везде_. Вторая проблема - установка. Если installworld использует внешние утилиты, то система будет однозначно убита, потому что 32bit/64bit бинарники не могут работать с 64bit/32bit библиотеками, а при последовательном переписывании файлов это обязательно случится. Но возможно, что installworld все-таки использует свои утилиты из /usr/obj.

В общем, простор для экспериментов огромен (и, кстати, можно безопасно опробовать процесс на целевой системе, поставив 64bit систему в jail, и обновив ее целиком  до 32bit в этом jail'е).

Как бы то ни было, действия на живой системе примерно таковы:
1) Для начала првоерить, что в ядре есть COMPAT_IA32, потушить и выключить в rc.conf все что можно.
Далее, есть несколько вариантов.
2) На живой системе нужно будет сделать installworld (это если проканает buildworld с указанными CFLAGS, в результате получится действительно 32bit мир без 64bit кусков и если installworld не пользуется внешними утилитами).
ЛИБО, можно смонтировать iso с 32бит фрей, и сделать ./install.sh из /mnt/cdrom/7.0-RELEASE/base. В base находится большая часть мира (т.е. библиотеки, /bin /sbin /usr/bin /usr/sbin и т.д.), и инсталлится это одним процессом tar (которому после запуска будет наплевать что происходит с библиотеками).
3) После этого (если все получится) все новые процессы будут уже 32битными (надо думать и gcc будет создавать 32битные бинарники по умолчанию). Можно спокойно пересобрать мир и ядро еще рез, чтобы наверняка (по идее, уже без -m32, хотят тут я не уверен), и перезагрузиться.

Замечу, что сам я лично это делать не пробовал - так что все что написано выше - лишь теоретические размышления. Ям много, каждая приводит систему в нерабочее состояние, поэтому правильнее всего было бы установить систему на другой раздел/на другой диск. Это можно сделать не выключая систему - либо installworld/installkernel/mergemaster из 32bit jail, либо `DESTDIR=/mnt/newroot ./install.sh` для base и kernels с CD.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру