Приветствую участников!Возникла ситуация с потерей контента папки /boot/kernel (не спрашивайте почему - ее просто нет...)
Естественно переброска с DVD диска дистрибутива /boot/kernel - ни к чему не привела) (при загрузке ОС - паника на моменте отрисовки загрузочного меню)
Существует ли рецепт сборки ядра при условии загрузки с DVD-привода? диски монтируются.. но все найденные средства - требуют чтоб целевой диск был монтирован как /, а по факту то /mnt ....
Спасибо
> Приветствую участников!
> Возникла ситуация с потерей контента папки /boot/kernel (не спрашивайте почему - ее
> просто нет...)
> Естественно переброска с DVD диска дистрибутива /boot/kernel - ни к чему не
> привела) (при загрузке ОС - паника на моменте отрисовки загрузочного меню)
> Существует ли рецепт сборки ядра при условии загрузки с DVD-привода? диски монтируются..
> но все найденные средства - требуют чтоб целевой диск был монтирован
> как /, а по факту то /mnt ....если кастомное ядро\мир, то соберите на другой машине или виртуалке и скиньте на этот сервак.
>> Приветствую участников!
>> Возникла ситуация с потерей контента папки /boot/kernel (не спрашивайте почему - ее
>> просто нет...)
>> Естественно переброска с DVD диска дистрибутива /boot/kernel - ни к чему не
>> привела) (при загрузке ОС - паника на моменте отрисовки загрузочного меню)
>> Существует ли рецепт сборки ядра при условии загрузки с DVD-привода? диски монтируются..
>> но все найденные средства - требуют чтоб целевой диск был монтирован
>> как /, а по факту то /mnt ....
> если кастомное ядро\мир, то соберите на другой машине или виртуалке и скиньте
> на этот сервак.p.s. система собрана на двух дисках средствами gmirror
Собрал на другом диске на этом же железе... то есть получил рабочую систему.. взял папочку boot и перенес на "нерабочий" массив - загружается BTX Loader.. грузит несколько модулей ядра и сваливается на перезагрузку (строк 10 кодов перед перезагрузкой - поймать через Pause не получается)
Есть ли вариант сборки ядра и мира для системы из под загруженной ОС с DVD?
Сил уже нет...
> если кастомное ядро\мир, то соберите на другой машине или виртуалке и скиньте
> на этот сервак.делал downgrade с 9.2 на 9.1 (9.2 дико глючит с реалтековскими сетевухами).. есть небольшое подозрение, что мир и ядро получились разных версий.. но как это проверить?...
>>>догадался подставить /boot из 9.2 - завелось... теперь важный вопрос как сделать downgrade.. так как мир и ядро собирал и инсталировал 9.1 .. теперь пол-системы не работает как надо)
>>>>
> догадался подставить /boot из 9.2 - завелось... теперь важный вопрос как сделать
> downgrade.. так как мир и ядро собирал и инсталировал 9.1 ..
> теперь пол-системы не работает как надо)sorry, но Вы пытаетесь через одно место все сделать, почему-то?!
допустим:
1) дано: kernel 9.2, system 9.1
что в данном случае проще заменить?
правильно: /boot со всем содержимым
про что надо помнить: про /boot/loader.conf и про modules2) дано: 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=/pathpath - то куда Вы смонтировали FS от зеркала или диска
- ну и не забыть про mergemaster (ибо make distribution не совсем то)
хотя mergemaster можно выполнить уже на рабочей системе, если все будет okВерхнее понятно?
Вопросы?