Запомняне

» Здравейте
[ Вход :: Регистриране ]
 » Начало » Li Форуми » Help & Support » Kernels & Drivers » Компилиране на ядро
Тема: Компилиране на ядро, Убунту 7.04
Мнение #1 Skip to the next post in this topic.
Написано на: Декември 19 2007, 18:58
bashi

Avatar




Група: Li fans
Мнения: 182
Регистриран: Март 2007

Оценка: няма

Offline
Привет! Опитвам се да си прекомпилирам ядрото понеже бих искал да си добавя няколко модула. Сега съм с
Код: 
root@bashi-desktop:/usr/src/linux-2.6.8# uname -r
2.6.20-15-generic
Намерих си за инсталиране linux-2.6.8 Четох тази статия:
http://valery.zonebg.com/downloa....el.html
При make menuconfig ми дава грешка:
Код: 
root@bashi-desktop:/usr/src/linux-2.6.8# make menuconfig
 HOSTCC  scripts/kconfig/mconf.o
scripts/kconfig/mconf.c:91: error: static declaration of ‘current_menu’ follows non-static declaration
scripts/kconfig/lkc.h:63: error: previous declaration of ‘current_menu’ was here
make[1]: *** [scripts/kconfig/mconf.o] Error 1
make: *** [menuconfig] Error 2
Какво може да съм объркал? Искам да попитам и дали има опция ако нещо се обърка да се върне старото ядро или поне при старт на системата да ме пита кое да пусне? Предварително благодаря!
Контакти:  bashi
WEB  
Мнение #2 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 19 2007, 20:25
nikolavp

Avatar




Група: Li maniacs
Мнения: 560
Регистриран: Юли 2006

Оценка: 4

Offline
Ще ти трябват някои библиотеки(май ncurses ncurses-devel), build-essentials. Можеш да погледнеш и скрипта по - надолу. Можеш да погледнеш скрипта, ако те мързи, да го правиш ръчно, но първо ще трябва да си пуснеш make menuconfig :)
Промени make oldconfig на make menuconfig, защото компилираш за първи път
П.С. Скрипта


Редактирано от nikolavp на Декември 19 2007, 20:27

Контакти:  nikolavp

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #3 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 20 2007, 07:05
bashi

Avatar




Група: Li fans
Мнения: 182
Регистриран: Март 2007

Оценка: няма

Offline
Благодаря за скрипта! А можете ли да ми кажете хранилища за тези библиотеки, понеже давам да се инсталират и пише, че няма такива. Още веднъж благодаря!
Контакти:  bashi
WEB  
Мнение #4 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 20 2007, 09:16
phantomlord
Phantom Lord
Avatar




Група: Li maniacs
Мнения: 665
Регистриран: Август 2005

Оценка: няма

Offline
Не е необходимо да прекомпилираш цялото ядро ако искаш само да компилираш нови модули, които да се зареждат към ядрото. Влизаш в
/usr/src/папката_със_сорса, пускаш make menuconfig, избираш си модулите, които искаш да добавиш (не можеш да интегрираш модули към ядрото, защото тогава то трябва да се прекомпилира цялото) и изпълняваш:

Код: 
make modules
make modules_install


Така ще се компилират само новите модули, които си добавил.
Още инфо


Редактирано от phantomlord на Декември 20 2007, 09:18

Debian lenny/sid, 2.6.24-phantomlord, KDE 3.5.9
http://myfreesoft.net/phpBB2/index.php?c=7
The knowledge is to be shared...
Помогни си сам, за да ти помогне и Господ
Контакти:  phantomlord

  • AOL  AOL:
  • ICQ  ICQ: 322393169
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #5 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 20 2007, 13:08
stumps

Avatar




Група: Li psychos
Мнения: 1311
Регистриран: Април 2005

Offline
Цитат:  (phantomlord @ Декември 20 2007,09:16)

Не е необходимо да прекомпилираш цялото ядро ако искаш само да компилираш нови модули, които да се зареждат към ядрото. Влизаш в
/usr/src/папката_със_сорса, пускаш make menuconfig, избираш си модулите, които искаш да добавиш (не можеш да интегрираш модули към ядрото, защото тогава то трябва да се прекомпилира цялото) и изпълняваш:

Код: 
make modules
make modules_install


Така ще се компилират само новите модули, които си добавил.
Още инфо

bashi, това Е правилното решение!

Два месеца работа с компютъра спестява два часа четене на документация

Бизнесът на Microsoft е бизнес за трима: Един пише вируси, друг прави антивирусни, а третият продава (псевдо)операционна система за тях.
Контакти:  stumps

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #6 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 20 2007, 15:33
bashi

Avatar




Група: Li fans
Мнения: 182
Регистриран: Март 2007

Оценка: няма

Offline
Добре, приемам този вариант. Появи се обаче пак проблем - имам в /usr/src две директории - linux-headers-2.6.20-15  и linux-headers-2.6.20-15-generic В която е от двете да вляза и да дам make menuconfig ми изкарва този целия списък с грешки и предупреждения.
Код: 
root@bashi-desktop:/usr/src/linux-headers-2.6.20-15# make menuconfig
 HOSTCC  scripts/kconfig/lxdialog/checklist.o
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:32:20: error: curses.h: No such file or directory
In file included from scripts/kconfig/lxdialog/checklist.c:24:
scripts/kconfig/lxdialog/dialog.h:97: error: expected specifier-qualifier-list before ‘chtype’
scripts/kconfig/lxdialog/dialog.h:187: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:193: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:195: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:196: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:197: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:198: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/dialog.h:200: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:31: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:59: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c:95: error: expected ‘)’ before ‘*’ token
scripts/kconfig/lxdialog/checklist.c: In function ‘dialog_checklist’:
scripts/kconfig/lxdialog/checklist.c:116: error: ‘WINDOW’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:116: error: (Each undeclared identifier is reported only once
scripts/kconfig/lxdialog/checklist.c:116: error: for each function it appears in.)
scripts/kconfig/lxdialog/checklist.c:116: error: ‘dialog’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:116: error: ‘list’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:116: warning: left-hand operand of comma expression has no effect
scripts/kconfig/lxdialog/checklist.c:129: warning: implicit declaration of function ‘getmaxy’
scripts/kconfig/lxdialog/checklist.c:129: error: ‘stdscr’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:130: error: ‘KEY_MAX’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:131: warning: implicit declaration of function ‘getmaxx’
scripts/kconfig/lxdialog/checklist.c:137: error: ‘COLS’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:138: error: ‘LINES’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:140: warning: implicit declaration of function ‘draw_shadow’
scripts/kconfig/lxdialog/checklist.c:142: warning: implicit declaration of function ‘newwin’
scripts/kconfig/lxdialog/checklist.c:143: warning: implicit declaration of function ‘keypad’
scripts/kconfig/lxdialog/checklist.c:143: error: ‘TRUE’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:145: warning: implicit declaration of function ‘draw_box’
scripts/kconfig/lxdialog/checklist.c:146: error: ‘struct dialog_color’ has no member named ‘atr’
scripts/kconfig/lxdialog/checklist.c:146: error: ‘struct dialog_color’ has no member named ‘atr’
scripts/kconfig/lxdialog/checklist.c:147: warning: implicit declaration of function ‘wattrset’
scripts/kconfig/lxdialog/checklist.c:147: error: ‘struct dialog_color’ has no member named ‘atr’
scripts/kconfig/lxdialog/checklist.c:148: warning: implicit declaration of function ‘mvwaddch’
scripts/kconfig/lxdialog/checklist.c:150: warning: implicit declaration of function ‘waddch’
scripts/kconfig/lxdialog/checklist.c:151: error: ‘struct dialog_color’ has no member named ‘atr’
scripts/kconfig/lxdialog/checklist.c:154: warning: implicit declaration of function ‘print_title’
scripts/kconfig/lxdialog/checklist.c:156: error: ‘struct dialog_color’ has no member named ‘atr’
scripts/kconfig/lxdialog/checklist.c:157: warning: implicit declaration of function ‘print_autowrap’
scripts/kconfig/lxdialog/checklist.c:164: warning: implicit declaration of function ‘subwin’
scripts/kconfig/lxdialog/checklist.c:171: error: ‘struct dialog_color’ has no member named ‘atr’
scripts/kconfig/lxdialog/checklist.c:171: error: ‘struct dialog_color’ has no member named ‘atr’
scripts/kconfig/lxdialog/checklist.c:189: warning: implicit declaration of function ‘print_item’
scripts/kconfig/lxdialog/checklist.c:192: warning: implicit declaration of function ‘print_arrows’
scripts/kconfig/lxdialog/checklist.c:195: warning: implicit declaration of function ‘print_buttons’
scripts/kconfig/lxdialog/checklist.c:197: warning: implicit declaration of function ‘wnoutrefresh’
scripts/kconfig/lxdialog/checklist.c:199: warning: implicit declaration of function ‘doupdate’
scripts/kconfig/lxdialog/checklist.c:202: warning: implicit declaration of function ‘wgetch’
scripts/kconfig/lxdialog/checklist.c:210: error: ‘KEY_UP’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:210: error: ‘KEY_DOWN’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:220: error: ‘FALSE’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:221: warning: implicit declaration of function ‘scrollok’
scripts/kconfig/lxdialog/checklist.c:222: warning: implicit declaration of function ‘wscrl’
scripts/kconfig/lxdialog/checklist.c:232: warning: implicit declaration of function ‘wrefresh’
scripts/kconfig/lxdialog/checklist.c:293: warning: implicit declaration of function ‘delwin’
scripts/kconfig/lxdialog/checklist.c:297: error: ‘KEY_LEFT’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:298: error: ‘KEY_RIGHT’ undeclared (first use in this function)
scripts/kconfig/lxdialog/checklist.c:310: warning: implicit declaration of function ‘on_key_esc’
scripts/kconfig/lxdialog/checklist.c:312: error: ‘KEY_RESIZE’ undeclared (first use in this function)
make[1]: *** [scripts/kconfig/lxdialog/checklist.o] Error 1
make: *** [menuconfig] Error 2
Пробвах да инсталирам build-essentials, обаче не го намери. Какво може да се направи?
Контакти:  bashi
WEB  
Мнение #7 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 20 2007, 17:27
nikolavp

Avatar




Група: Li maniacs
Мнения: 560
Регистриран: Юли 2006

Оценка: 4

Offline
Вече ти казах, че нямаш ncurses или ncurses-devel потърси си пакета при твоята дистрибуция.
Код: 
apt-cache search ncurses
Успех!

Контакти:  nikolavp

  • AOL  AOL:
  • ICQ  ICQ:
  • MSN  MSN:
  • YIM  Yahoo IM:
WEB  
Мнение #8 Skip to the next post in this topic.
Skip to the previous post in this topic. Написано на: Декември 20 2007, 19:56
phantomlord
Phantom Lord
Avatar




Група: Li maniacs
Мнения: 665
Регистриран: Август 2005

Оценка: няма

Offline
А ти въобще сорса на ядрото свалил ли си? Би трябвало да е като при Дебиан. Там пакета се казва:
Цитат:

~$ apt-cache search linux-source
................
linux-source-2.6.20 - Linux kernel source for version 2.6.20 with Debian patches
linux-source-2.6.21 - Linux kernel source for version 2.6.21 with Debian patches
................

Като добавиш пакета, в /usr/src се появява архив:
Цитат:

:~$ ls /usr/src/linux-source*
/usr/src/linux-source-2.6.21.tar.bz2  /usr/src/linux-source-2.6.23.tar.bz2
/usr/src/linux-source-2.6.22.tar.bz2


Трябва да го разархавираш за да се появи папка примерно: /usr/src/linux-source-2.6.22
В нея трябва да изпълниш make menuconfig
Чети тука. Пише ти и какви зависимости ти трябват. За какво си мислиш, че съм ти дал линка предишния път?


Редактирано от phantomlord на Декември 20 2007, 19:58

Debian lenny/sid, 2.6.24-phantomlord, KDE 3.5.9
http://myfreesoft.net/phpBB2/index.php?c=7
The knowledge is to be shared...
Помогни си сам, за да ти помогне и Господ
Контакти:  phantomlord

  • AOL  AOL:
  • ICQ  ICQ: 322393169
  • MSN  MSN:
  • YIM  Yahoo IM:
Мнение #9
Skip to the previous post in this topic. Написано на: Декември 20 2007, 21:02
bashi

Avatar




Група: Li fans
Мнения: 182
Регистриран: Март 2007

Оценка: няма

Offline
Благодаря на всички! Дадох make config и уж тръгна нещо. Отговорих на доста въпроси - почти на всички с yes после дадох make modules и
make modules_install и май някъде ми даде грешка и аз се отказах. После рестартирах и модула, който ми трябваше беше вече инсталиран. Може да е било на късмет.
Контакти:  bashi
WEB  
Общо 8 отговор(а) от Декември 19 2007, 18:58 до сега
 » Начало » Li Форуми » Help & Support » Kernels & Drivers » Компилиране на ядро

© 2014 Linux Index Project
Powered by iF 1.0.0 © 2006 ikonForums