The OpenNET Project / Index page

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

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

"Восстановление ядра FreeBSD 9.x"  +/
Сообщение от Виктор email(??) on 12-Окт-13, 12:28 
Приветствую участников!

Возникла ситуация с потерей контента папки /boot/kernel (не спрашивайте почему - ее просто нет...)

Естественно переброска с DVD диска дистрибутива /boot/kernel - ни к чему не привела) (при загрузке ОС - паника на моменте отрисовки загрузочного меню)

Существует ли рецепт сборки ядра при условии загрузки с DVD-привода? диски монтируются.. но все найденные средства - требуют чтоб целевой диск был монтирован как /, а по факту то /mnt ....


Спасибо

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Восстановление ядра FreeBSD 9.x"  +/
Сообщение от Miha (??) on 12-Окт-13, 20:44 
> Приветствую участников!
> Возникла ситуация с потерей контента папки /boot/kernel (не спрашивайте почему - ее
> просто нет...)
> Естественно переброска с DVD диска дистрибутива /boot/kernel - ни к чему не
> привела) (при загрузке ОС - паника на моменте отрисовки загрузочного меню)
> Существует ли рецепт сборки ядра при условии загрузки с DVD-привода? диски монтируются..
> но все найденные средства - требуют чтоб целевой диск был монтирован
> как /, а по факту то /mnt ....

если кастомное ядро\мир, то соберите на другой машине или виртуалке и скиньте на этот сервак.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Восстановление ядра FreeBSD 9.x"  +/
Сообщение от Виктор email(??) on 12-Окт-13, 23:42 
>> Приветствую участников!
>> Возникла ситуация с потерей контента папки /boot/kernel (не спрашивайте почему - ее
>> просто нет...)
>> Естественно переброска с DVD диска дистрибутива /boot/kernel - ни к чему не
>> привела) (при загрузке ОС - паника на моменте отрисовки загрузочного меню)
>> Существует ли рецепт сборки ядра при условии загрузки с DVD-привода? диски монтируются..
>> но все найденные средства - требуют чтоб целевой диск был монтирован
>> как /, а по факту то /mnt ....
> если кастомное ядро\мир, то соберите на другой машине или виртуалке и скиньте
> на этот сервак.

p.s. система собрана на двух дисках средствами gmirror

Собрал на другом диске на этом же железе... то есть получил рабочую систему.. взял папочку boot и перенес на "нерабочий" массив - загружается BTX Loader.. грузит несколько модулей ядра и сваливается на перезагрузку (строк 10 кодов перед перезагрузкой - поймать через Pause не получается)

Есть ли вариант сборки ядра и мира для системы из под загруженной ОС с DVD?

Сил уже нет...

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Восстановление ядра FreeBSD 9.x"  +/
Сообщение от Виктор email(??) on 13-Окт-13, 00:02 

> если кастомное ядро\мир, то соберите на другой машине или виртуалке и скиньте
> на этот сервак.

делал downgrade с 9.2 на 9.1 (9.2 дико глючит с реалтековскими сетевухами).. есть небольшое подозрение, что мир и ядро получились разных версий.. но как это проверить?...


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Восстановление ядра FreeBSD 9.x"  +/
Сообщение от Виктор email(??) on 13-Окт-13, 02:54 
>>>

догадался подставить /boot из 9.2 - завелось... теперь важный вопрос как сделать downgrade.. так как мир и ядро собирал и инсталировал 9.1 .. теперь пол-системы не работает как надо)


Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

5. "Восстановление ядра FreeBSD 9.x"  +/
Сообщение от lavr email on 13-Окт-13, 15:09 
>>>>
> догадался подставить /boot из 9.2 - завелось... теперь важный вопрос как сделать
> downgrade.. так как мир и ядро собирал и инсталировал 9.1 ..
> теперь пол-системы не работает как надо)

sorry, но Вы пытаетесь через одно место все сделать, почему-то?!

допустим:

1) дано: kernel 9.2, system 9.1
что в данном случае проще заменить?
правильно: /boot со всем содержимым
про что надо помнить: про /boot/loader.conf и про modules

2) дано: kernel 9.1, system 9.2
что в данном случае проще заменить?
правильно: /boot со всем содержимым
про что надо помнить: про /boot/loader.conf и про modules

обратить внимание на то где находятся kernel modules в 9.1 и 9.2
в /boot/modules, /boot/kernel

Раз уж у Вас получилась каша и Вы не знаете что делать:

- берете флешку, ставите на нее НУЖНУЮ систему (release или stable или ...)
- получаете рабочую, загружаемую систему на USB

загружаетесь с нее:

- собираете все на флешке (это время, медленные операции I/O) и делаете следующее:
(для быстроты сборки НЕ В /usr/obj - см про MAKEOBJDIRPREFIX)

- определяете с чем Вы работаете: с зеркалом или с одним из дисков зеркала:
a) если с зеркалом, оно должно быть синхронизировано, то подгружаете gmirror
b) если с одним из дисков зеркала, то вероятно с первым и все равно fsck_ffs
c) после fsck_ffs -fy - монтируете то с чем будете работать, с FS на зеркале
из пункта a) или с FS на первом диске из зеркала из пункта b)

если у Вас на сервере / /usr разные FS, то необходимо смонтировать
в /mnt - сначала root, а затем в /mnt/usr - /usr

- допустим Вы смонтировали верхнее в /mnt, тогда у Вас CURRENT_ROOT будет /mnt
CURRENT_ROOT=/mnt и в нижнем можете вместо ${CURRENT_ROOT} просто писать /mnt
или выставить переменную среды CURRENT_ROOT=/mnt

- теперь собираете систему на USB и затем:
make build опускаю, а вот make install... ниже

# make installworld DESTDIR=${CURRENT_ROOT}
# make distribution DESTDIR=${CURRENT_ROOT} # if newfs'd
# make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=${CURRENT_ROOT}

хотя вместо сборки на USB, я обычно выполнял fsck_ffs незазеркалированной FS диска,
монтировал и сборку(make build...) выполнял не на USB (/usr/obj) а на дисковую FS
используя переменную MAKEOBJDIRPREFIX, кстати mergemaster тоже ее использует (это в тему:
make distribution DESTDIR=...)

Вот собственно и все, еще раз по шагам:

- установили FreeBSD нужного релиза на USB
- воткнули USB в проблемный сервер
- загрузились с USB
- прогнали fsck_ffs -fy на FS от зеркала или FS первого диска с зеркала
- собрали все что нам нужно (в /usr/obj на USB или через MAKEOBJDIRPREFIX на дисковую FS)
- осталось выполнить make install...:
если нужно только ядро, то: make installkernel KERNCONF=YOUR_KERNEL_HERE DESTDIR=/path
если нужно только мир, то: make installworld DESTDIR=/path
и make distribution DESTDIR=/path

path - то куда Вы смонтировали FS от зеркала или диска
- ну и не забыть про mergemaster (ибо make distribution не совсем то)
хотя mergemaster можно выполнить уже на рабочей системе, если все будет ok

Верхнее понятно?
Вопросы?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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