The OpenNET Project / Index page

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

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

"Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 11:15  (MSK)
Объясните пожалуйста, почему на одной машинке ядро при компиляции помещается на свое родное место /boot/kernel, а на другой в /tmp/boot/kernel и его приходится соответственно копировать, причем ставил системы с одного диска, отличия только в типе установки.
  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

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

1. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 11:25  (MSK)
>Объясните пожалуйста, почему на одной машинке ядро при компиляции помещается на свое
>родное место /boot/kernel, а на другой в /tmp/boot/kernel и его приходится
>соответственно копировать, причем ставил системы с одного диска, отличия только в
>типе установки.

смени WindowsXP на Windows2000Pro

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

2. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 11:33  (MSK)
>
>смени WindowsXP на Windows2000Pro

это смешно, или ответ...

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

3. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 11:34  (MSK)
>>
>>смени WindowsXP на Windows2000Pro
>
>это смешно, или ответ...

это грустно, у вас система OS-X?

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

4. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 11:39  (MSK)

>
>это грустно, у вас система OS-X?

freebsd 5.3

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

5. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 11:42  (MSK)
>
>>
>>это грустно, у вас система OS-X?
>
>freebsd 5.3

строку сборки ЯДРА и переменные среды в студию

ну и еще mount до кучи

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

6. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 12:03  (MSK)
>
>строку сборки ЯДРА
make depend
mske all
make install

>переменные среды в студию
_ set

addsuffix
argv ()
cwd /root
dirstack /root
echo_style bsd
edit
filec
gid 0
group wheel
history 100
home /root
killring 30
loginsh
mail /var/mail/root
owd
path (/sbin /bin /usr/sbin /usr/bin /usr/games /usr/local/sbin /usr/local/bin /usr/X11R6/bin /root/bin)
prompt bproxy#
prompt2 %R?
prompt3 CORRECT>%R (y|n|e|a)?
savehist 100
shell /bin/csh
shlvl 1
status 0
tcsh 6.13.00
term cons25r
tty ttyv0
uid 0
user root
version tcsh 6.13.00 (Astron) 2004-05-19 (i386-intel-FreeBSD) options 8b,nls,dl,al,kan,sm,rh,color,dspm,filec

TERM=cons25r
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
MAIL=/var/mail/root
BLOCKSIZE=K
FTP_PASSIVE_MODE=YES
SHELL=/bin/csh
HOME=/root
LOGNAME=root
USER=root
HOSTTYPE=FreeBSD
VENDOR=intel
OSTYPE=FreeBSD
MACHTYPE=i386
SHLVL=1
PWD=/root
GROUP=wheel
HOST=bproxy.xxx.ru
EDITOR=vi
PAGER=more

>ну и еще mount до кучи
/dev/ad0s1a on / (ufs, local)
devfs on /dev (devfs, local)
/dev/ad0s1e on /tmp (ufs, local, soft-updates)
/dev/ad0s1f on /usr (ufs, local, soft-updates)
/dev/ad0s1d on /var (ufs, local, soft-updates)
/dev/fd0 on /mnt (msdosfs, local)

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

8. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 12:10  (MSK)
>>
>>строку сборки ЯДРА
>make depend
>mske all
>make install

вместо make install выполни

# make -n install (думаю ВСЕ увидишь)

>>переменные среды в студию
>_ set

env удобней однако.

Криминала не обнаружено, значит config был выполнен с опцией -d
выяснить просто - см результат работы config
ну или альтернативно:

# cd /usr/src
# make buildkernel KERNCONF=ИМЯ_ЯДРА
# make installkernel KERNCONF...

вобщем тут все понятно.

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

14. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 12:58  (MSK)
>
>вместо make install выполни
>># make -n install (думаю ВСЕ увидишь)

if [ ! -f /tmp/boot/device.hints ] ; then  echo "You must set up a /tmp/boot/device.hints file first." ;  exit 1 ;  fi
if [ x"`grep device.hints /tmp/boot/defaults/loader.conf /tmp/boot/loader.conf`" = "x" ]; then  echo "You must activate /boot/device.hints in loader.conf." ;  exit 1 ;  fi
if [ ! -f kernel ] ; then  echo "You must build a kernel first." ;  exit 1 ;  fi
thiskernel=`sysctl -n kern.bootfile` ;  if [ "`dirname "$thiskernel"`" != /tmp/boot/kernel ] ; then  chflags -R noschg /tmp/boot/kernel ;  rm -rf /tmp/boot/kernel ;  else  if [ -d /tmp/boot/kernel.old ] ; then  chflags -R noschg /tmp/boot/kernel.old ;  rm -rf /tmp/boot/kernel.old ;  fi ;  mv /tmp/boot/kernel /tmp/boot/kernel.old ;  sysctl kern.bootfile=/tmp/boot/kernel.old/"`basename "$thiskernel"`" ;  fi
mkdir -p /tmp/boot/kernel
install -p -m 555 -o root -g wheel kernel /tmp/boot/kernel
cd ../../../modules; MAKEOBJDIRPREFIX=/usr/src/sys/i386/compile/BPROXY/modules KMODDIR=/boot/kernel MACHINE=i386 DESTDIR="/tmp" KERNBUILDDIR="/usr/src/sys/i386/compile/BPROXY" make  install

кроме "You must activate /boot/device.hints in loader.conf."
я вроде ничего такого не увидел. А что там тогда должно быть?
Ведь на первой машине я перекомпилировал ядро таким же образом как и здесь.


>
>Криминала не обнаружено, значит config был выполнен с опцией -d
>выяснить просто - см результат работы config

я делал просто config имя_ядра

>ну или альтернативно:
># cd /usr/src
># make buildkernel KERNCONF=ИМЯ_ЯДРА
># make installkernel KERNCONF...
>вобщем тут все понятно.
таким образом еще не пробовал, но разве это не одно и то-же?


И всё таки мне непонятно что надо сделать чтобы изменить путь.

>прочитай ВНИМАТЕЛЬНО то что я тебе написал, только ВНИМАТЕЛЬНО и влегкую
>решишь свою проблему

извините, но недоходит (

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

7. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 12:05  (MSK)
На этой машинке ядро компилится в /tmp/boot/kernel
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Установка нового ядра" 
Сообщение от Skif Искать по авторуВ закладки(ok) on 09-Июн-05, 12:24  (MSK)
>На этой машинке ядро компилится в /tmp/boot/kernel


содержимое /etc/make.conf приведи

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

10. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 12:30  (MSK)
>>содержимое /etc/make.conf приведи

такой файл отсутствует.
А что в нем должно примерно быть?

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

11. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 12:34  (MSK)
>>>содержимое /etc/make.conf приведи
>
>такой файл отсутствует.
>А что в нем должно примерно быть?

прочитай ВНИМАТЕЛЬНО то что я тебе написал, только ВНИМАТЕЛЬНО и влегкую
решишь свою проблему

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

15. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 13:08  (MSK)
>>>>содержимое /etc/make.conf приведи
>>
>>такой файл отсутствует.
>>А что в нем должно примерно быть?
>
>прочитай ВНИМАТЕЛЬНО то что я тебе написал, только ВНИМАТЕЛЬНО и влегкую
>решишь свою проблему

Ну нашел в makefile in /usr/src/sys/i386/compile/BPROXY т.е. дир. созданной после config строку DESTDIR=/tmp. А как сделать чтобы по умолчанию при config, была DESTDIR=/boot ???

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

17. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 13:16  (MSK)
>>>>>содержимое /etc/make.conf приведи
>>>
>>>такой файл отсутствует.
>>>А что в нем должно примерно быть?
>>
>>прочитай ВНИМАТЕЛЬНО то что я тебе написал, только ВНИМАТЕЛЬНО и влегкую
>>решишь свою проблему
>
>Ну нашел в makefile in /usr/src/sys/i386/compile/BPROXY т.е. дир. созданной после config строку
>DESTDIR=/tmp. А как сделать чтобы по умолчанию при config, была DESTDIR=/boot
>???

бог мой!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Она именно ПО УМОЛЧАНИЮ /boot/kernel, а уж КТО выполнил config
с -d или куда-то вставил DESTDIR - это тебе видней.

Чтобы высечь - удали ВСЕ из /usr/obj/*
удали все что РАЗРЕШЕНО из /sys/i386/compile/

после чего ПОПРОБУЙ СНОВА собрать ядро и вместо make install:

make -n install (объяснять ключ -n не вижу необходимости)

Если снова DESTDIR=/tmp... - вот уж тогда ИЩИ откуда лезут ноги, сделать
это НЕ СЛОЖНО.

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

12. "Установка нового ядра" 
Сообщение от Skif Искать по авторуВ закладки(ok) on 09-Июн-05, 12:37  (MSK)
>>>содержимое /etc/make.conf приведи
>
>такой файл отсутствует.
>А что в нем должно примерно быть?

есть просто такой файлик
/usr/src/sys/conf/kern.pre.mk

который берет для своей работы данные из make.conf... Вот например такие:
# Can be overridden by makeoptions or /etc/make.conf
KERNEL_KO?=     kernel
KERNEL?=        kernel
KODIR?=         /boot/${KERNEL}

Соотвественно, если в make.conf означены отличные от дефолтных переменных значения(или здесь), то и компилиться будет по другому и в другие места

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

13. "Установка нового ядра" 
Сообщение от Skif Искать по авторуВ закладки(ok) on 09-Июн-05, 12:39  (MSK)
Хотя присоединюсь к lavr  - его вариант в данном случае выглядит проще.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

16. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 13:13  (MSK)
lavr, Skif посмотрите пожалуйста мои ответы, не уяснил я себе ситуацию до конца.


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

18. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 14:38  (MSK)
>lavr, Skif посмотрите пожалуйста мои ответы, не уяснил я себе ситуацию до
>конца.

Есть ДВА способа сборки ЯДРА:

1) старый, традиционный, используется только при НЕИЗМЕННОМ релизе, в том числе и после применения патчей к ЭТОМУ релизу:

# /usr/sbin/config MYKERNEL
# cd ../compile/MYKERNEL    (для 4x)
# cd ../../compile/MYKERNEL (для 5.x)
# make depend
# make
# make install

2) новый, универсальный
# 1.  `cd /usr/src'       (or to the directory containing your source tree).
# 2.  `make buildworld'
# 3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
# 4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
# 5.  `reboot'        (in single user mode: boot -s from the loader prompt).
# 6.  `mergemaster -p'
# 7.  `make installworld'
# 8.  `mergemaster'
# 9.  `reboot'

из верхнего для ЯДРА нужно только 3) и 4)

Теперь ЧТО у нас тут участвует:

- утилита config (традиционный метод), man config, где-то закралась
опция -d, или где-то есть хитрая переменная среды, ЛИБО - подмена
config - оригинал у нас /usr/sbin/config

[alone]~ > file /usr/sbin/config
/usr/sbin/config: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 5.3.0, dynamically linked (uses shared libs), stripped
[alone]~ >

допустим мы запускаем config - те без указания полного пути, если в среде
у нас все чисто на предмет DESTDIR или похожего, значит может быть
подмена config, те самописный скрипт или alias, проверяется ЕСЛИ вместо
config набирать полный путь: /usr/sbin/config

далее make (man make) - должен вызываться РОДНОЙ, системный make:
/usr/bin/make и опять же он может хавать переменные установленные
в среде или /etc/make.conf или см. man make; man make.conf, ну и опять
же не должно быть подмены или alias'а

теперь когда мы собираем 2'ым способом:

# cd /usr/src
# make buildkernel KERNCONF=ядро
...

снова make, снова alias, снова среда, снова подмены и +
/usr/src/Makefile[.inc] - там какой-нить умник мог задать DESTDIR,
ну или где-то глубже в другом makefile'е

Как бы НИЧЕГО сложного - надо только сесть и искать-искать-искать.

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

19. "Установка нового ядра" 
Сообщение от lavr emailИскать по авторуВ закладки on 09-Июн-05, 14:48  (MSK)
>>lavr, Skif посмотрите пожалуйста мои ответы, не уяснил я себе ситуацию до
>>конца.
>
>Есть ДВА способа сборки ЯДРА:
>
>1) старый, традиционный, используется только при НЕИЗМЕННОМ релизе, в том числе и
>после применения патчей к ЭТОМУ релизу:
>
># /usr/sbin/config MYKERNEL
># cd ../compile/MYKERNEL    (для 4x)
># cd ../../compile/MYKERNEL (для 5.x)
># make depend
># make
># make install
>
>2) новый, универсальный
># 1.  `cd /usr/src'       (or
>to the directory containing your source tree).
># 2.  `make buildworld'
># 3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is
>GENERIC).
># 4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
># 5.  `reboot'        (in
>single user mode: boot -s from the loader prompt).
># 6.  `mergemaster -p'
># 7.  `make installworld'
># 8.  `mergemaster'
># 9.  `reboot'
>
>из верхнего для ЯДРА нужно только 3) и 4)
>
>Теперь ЧТО у нас тут участвует:
>
>- утилита config (традиционный метод), man config, где-то закралась
>опция -d, или где-то есть хитрая переменная среды, ЛИБО - подмена
>config - оригинал у нас /usr/sbin/config
>
>[alone]~ > file /usr/sbin/config
>/usr/sbin/config: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD
>5.3.0, dynamically linked (uses shared libs), stripped
>[alone]~ >
>
>допустим мы запускаем config - те без указания полного пути, если в
>среде
>у нас все чисто на предмет DESTDIR или похожего, значит может быть
>
>подмена config, те самописный скрипт или alias, проверяется ЕСЛИ вместо
>config набирать полный путь: /usr/sbin/config
>
>далее make (man make) - должен вызываться РОДНОЙ, системный make:
>/usr/bin/make и опять же он может хавать переменные установленные
>в среде или /etc/make.conf или см. man make; man make.conf, ну и
>опять
>же не должно быть подмены или alias'а
>
>теперь когда мы собираем 2'ым способом:
>
># cd /usr/src
># make buildkernel KERNCONF=ядро
>...
>
>снова make, снова alias, снова среда, снова подмены и +
>/usr/src/Makefile[.inc] - там какой-нить умник мог задать DESTDIR,
>ну или где-то глубже в другом makefile'е
>
>Как бы НИЧЕГО сложного - надо только сесть и искать-искать-искать.


на всякий случай, обязательно!!! учесть то что Skif написал, я выше
это не написал подразумевая что сие понятно из man make/make.conf и
тем более что Skif УЖЕ написал про это. Потом подумал, лучше добавить,
а то мало ли кто как подойдет к изложенному

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

20. "Установка нового ядра" 
Сообщение от Wital Искать по авторуВ закладки on 09-Июн-05, 15:09  (MSK)
Спасибо, буду разбираться.
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


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

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




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

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