На пути к сборке ядра, linux-source

Изображение пользователя nockdown.

Пользуюсь следующим howto.
Самая последняя версия ядра в репозиториях Ubuntu называется просто linux-source, без указания версии на конце. Для установки исходных кодов последней версии ядра Ubuntu Linux, выполните команду:
sudo apt-get install linux-source
Эта команда скачивает исходники ядра и размещает их в директории /usr/src.

Так и делаю, но в /usr/src помимо linux-source-3.0.0.tar.bz2 появляется ещё папка linux-source-3.0.0, в которой опять же присутствует архив linux-source-3.0.0.tar.bz2:

:~$ ls -l /usr/src/linux-source-3.0.0
итого 75428
drwxr-xr-x 10 root root 4096 2011-11-09 19:39 debian
drwxr-xr-x  8 root root 4096 2011-11-09 19:39 debian.master
-rw-r--r--  1 root root 77227655 2011-10-08 00:33 linux-source-3.0.0.tar.bz2

Далее
Распаковываем исходный код ядра.
Перейдем в директорию /usr/src и разархивируем ядро. Для этого выполните следующие команды:
cd /usr/src
sudo tar xjf linux-source-XXX.tar.bz2

А у меня уже есть папка linux-source-3.0.0. В неё что ли поверх разархивировать?

Посему назрели вопросы:
1) что эта за папка linux-source-3.0.0 (list приведён выше)
2) /usr/src/linux-source-XXX.tar.bz2 мне разархивировать в уже существующую linux-source-3.0.0?

0
vetal.44 - 11 Ноябрь, 2011 - 22:33
Изображение пользователя vetal.44.

Я так понял что в /usr/src/linux-source-3.0.0 у Вас должны быть исходники, т.е. архив нужно разархивировать в уже существующую linux-source-3.0.0 (если тот man не устарел). И создайте сиволическую ссылку, по моему (может и ошибаюсь) она обязательна.
P.S. Мне вот интиресно, чем Вас не устроило стандартное ядро????

0
nockdown - 11 Ноябрь, 2011 - 23:30
Изображение пользователя nockdown.

vetal.44, яхочу научиться собирать ядро.

И создайте сиволическую ссылку
Мне не понятно зачем уже создалась автоматом жесткая ссылка:
lrwxrwxrwx  1 root root   45 2011-10-08 00:33 linux-source-3.0.0.tar.bz2 -> linux-source-3.0.0/linux-source-3.0.0.tar.bz2

Более подробно это выглядело так:

До: ls -l /usr/src
итого 8
drwxr-xr-x 24 root root 4096 2011-11-09 11:37 linux-headers-3.0.0-12
drwxr-xr-x  7 root root 4096 2011-11-09 11:37 linux-headers-3.0.0-12-generic

Установка: :~$ sudo apt-get install linux-source
Чтение списков пакетов... Готово
Построение дерева зависимостей   
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  libkrb5-3:i386 libatk1.0-0:i386 libk5crypto3:i386 libstdc++6:i386
  libxfixes3:i386 libxcomposite1:i386 libldap-2.4-2:i386 libidn11:i386
  libnss3:i386 libwrap0:i386 nspluginwrapper libsamplerate0:i386
  libjack-jackd2-0:i386 libnspr4-0d:i386 libcairo2:i386 libgnutls26:i386
  libtasn1-3:i386 libfreetype6:i386 libexpat1:i386 libdatrie1:i386
  libavahi-common-data:i386 libjson0:i386 libgdk-pixbuf2.0-0:i386
  flashplugin-downloader:i386 libxcb1:i386 libxau6:i386 libpixman-1-0:i386
  libcups2:i386 libcurl3:i386 libxinerama1:i386 libkrb5support0:i386
  nspluginviewer:i386 libxft2:i386 libice6:i386 libspeexdsp1:i386
  libxdmcp6:i386 libgcrypt11:i386 libthai0:i386 libkeyutils1:i386
  libasound2:i386 libflac8:i386 libxrender1:i386 libnspr4:i386
  libvorbisenc2:i386 libasyncns0:i386 libtiff4:i386 libjasper1:i386
  libjpeg62:i386 libavahi-client3:i386 libx11-6:i386 libsasl2-2:i386
  libfontconfig1:i386 libpango1.0-0:i386 libsm6:i386 libpulse0:i386
  libxdamage1:i386 libxcb-render0:i386 librtmp0:i386 libgssapi-krb5-2:i386
  libxi6:i386 libvorbis0a:i386 libxcursor1:i386 libxcb-shm0:i386 libxt6:i386
  libxext6:i386 libsasl2-modules:i386 libavahi-common3:i386 libxrandr2:i386
  libnss3-1d:i386 libsndfile1:i386 libsqlite3-0:i386 libgtk2.0-0:i386
  libasound2-plugins:i386 libgpg-error0:i386 libogg0:i386
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
  gcc gcc-4.6 libc-dev-bin libc6-dev libgomp1 libquadmath0 linux-libc-dev
  linux-source-3.0.0 make manpages-dev
Предлагаемые пакеты:
  gcc-multilib autoconf automake1.9 libtool flex bison gcc-doc
  gcc-4.6-multilib libmudflap0-4.6-dev gcc-4.6-doc gcc-4.6-locales libgcc1-dbg
  libgomp1-dbg libquadmath0-dbg libmudflap0-dbg binutils-gold glibc-doc
  libncurses-dev ncurses-dev kernel-package libqt3-dev make-doc
Рекомендуемые пакеты:
  libc-dev
НОВЫЕ пакеты, которые будут установлены:
  gcc gcc-4.6 libc-dev-bin libc6-dev libgomp1 libquadmath0 linux-libc-dev
  linux-source linux-source-3.0.0 make manpages-dev
обновлено 0, установлено 11 новых пакетов, для удаления отмечено 0 пакетов, и 12 пакетов не обновлено.
Необходимо скачать 80,9 MB/92,1 MB архивов.
После данной операции, объём занятого дискового пространства возрастёт на 124 MB.
Хотите продолжить [Д/н]? y
Получено:1 http://ru.archive.ubuntu.com/ubuntu/ oneiric/main linux-source-3.0.0 all 3.0.0-12.20 [79,2 MB]
Получено:2 http://ru.archive.ubuntu.com/ubuntu/ oneiric/main linux-source all 3.0.0.12.14 [2 342 B]
Получено:3 http://ru.archive.ubuntu.com/ubuntu/ oneiric/main make amd64 3.81-8.1ubuntu1 [118 kB]
Получено:4 http://ru.archive.ubuntu.com/ubuntu/ oneiric/main manpages-dev all 3.27-1ubuntu2 [1 627 kB]
Получено 80,9 MБ за 18с (4 293 kБ/c)   
Выбор ранее не выбранного пакета libgomp1.
(Чтение базы данных ... на данный момент установлено 104593 файла и каталога.)
Распаковывается пакет libgomp1 (из файла .../libgomp1_4.6.1-9ubuntu3_amd64.deb)...
Выбор ранее не выбранного пакета libquadmath0.
Распаковывается пакет libquadmath0 (из файла .../libquadmath0_4.6.1-9ubuntu3_amd64.deb)...
Выбор ранее не выбранного пакета gcc-4.6.
Распаковывается пакет gcc-4.6 (из файла .../gcc-4.6_4.6.1-9ubuntu3_amd64.deb)...
Выбор ранее не выбранного пакета gcc.
Распаковывается пакет gcc (из файла .../gcc_4%3a4.6.1-2ubuntu5_amd64.deb)...
Выбор ранее не выбранного пакета libc-dev-bin.
Распаковывается пакет libc-dev-bin (из файла .../libc-dev-bin_2.13-20ubuntu5_amd64.deb)...
Выбор ранее не выбранного пакета linux-libc-dev.
Распаковывается пакет linux-libc-dev (из файла .../linux-libc-dev_3.0.0-12.20_amd64.deb)...
Выбор ранее не выбранного пакета libc6-dev.
Распаковывается пакет libc6-dev (из файла .../libc6-dev_2.13-20ubuntu5_amd64.deb)...
Выбор ранее не выбранного пакета linux-source-3.0.0.
Распаковывается пакет linux-source-3.0.0 (из файла .../linux-source-3.0.0_3.0.0-12.20_all.deb)...
Выбор ранее не выбранного пакета linux-source.
Распаковывается пакет linux-source (из файла .../linux-source_3.0.0.12.14_all.deb)...
Выбор ранее не выбранного пакета make.
Распаковывается пакет make (из файла .../make_3.81-8.1ubuntu1_amd64.deb)...
Выбор ранее не выбранного пакета manpages-dev.
Распаковывается пакет manpages-dev (из файла .../manpages-dev_3.27-1ubuntu2_all.deb)...
Обрабатываются триггеры для man-db ...
Настраивается пакет libgomp1 (4.6.1-9ubuntu3) ...
Настраивается пакет libquadmath0 (4.6.1-9ubuntu3) ...
Настраивается пакет gcc-4.6 (4.6.1-9ubuntu3) ...
Настраивается пакет gcc (4:4.6.1-2ubuntu5) ...
Настраивается пакет libc-dev-bin (2.13-20ubuntu5) ...
Настраивается пакет linux-libc-dev (3.0.0-12.20) ...
Настраивается пакет libc6-dev (2.13-20ubuntu5) ...
Настраивается пакет linux-source-3.0.0 (3.0.0-12.20) ...
Настраивается пакет linux-source (3.0.0.12.14) ...
Настраивается пакет make (3.81-8.1ubuntu1) ...
Настраивается пакет manpages-dev (3.27-1ubuntu2) ...
Обрабатываются триггеры для libc-bin ...
ldconfig deferred processing now taking place

После: ls -l /usr/src
:~$ ls -l /usr/src
итого 12
drwxr-xr-x 24 root root 4096 2011-11-09 11:37 linux-headers-3.0.0-12
drwxr-xr-x  7 root root 4096 2011-11-09 11:37 linux-headers-3.0.0-12-generic
drwxr-xr-x  4 root root 4096 2011-11-11 21:17 linux-source-3.0.0
lrwxrwxrwx  1 root root   45 2011-10-08 00:33 linux-source-3.0.0.tar.bz2 -> linux-source-3.0.0/linux-source-3.0.0.tar.bz2

ls -l /usr/src/linux-source-3.0.0
ls -l /usr/src/linux-source-3.0.0
итого 75428
drwxr-xr-x 10 root root 4096 2011-11-11 21:17 debian
drwxr-xr-x  8 root root 4096 2011-11-11 21:17 debian.master
-rw-r--r--  1 root root 77227655 2011-10-08 00:33 linux-source-3.0.0.tar.bz2

ls -l /usr/src/linux-source-3.0.0/debian
итого 352
-rw-r--r-- 1 root root 214378 2011-10-07 18:50 changelog
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 commit-templates
-rw-r--r-- 1 root root   2 2011-10-07 18:50 compat
-rw-r--r-- 1 root root  58482 2011-10-07 18:50 control
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 control-scripts
-rw-r--r-- 1 root root  28107 2011-10-07 18:50 control.stub
-rw-r--r-- 1 root root   1292 2011-10-07 18:50 copyright
-rw-r--r-- 1 root root 21 2011-10-07 18:50 debian.env
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 docs
-rwxr-xr-x 1 root root   8135 2011-10-07 18:50 rules
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 rules.d
drwxr-xr-x 3 root root   4096 2011-11-11 21:17 scripts
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 source
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 tests
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 tools

ls -l /usr/src/linux-source-3.0.0/debian.master
:~$ ls -l /usr/src/linux-source-3.0.0/debian.master
итого 476
drwxr-xr-x 3 root root   4096 2011-11-11 21:17 abi
-rw-r--r-- 1 root root 214378 2011-10-07 18:50 changelog
-rw-r--r-- 1 root root 173103 2011-10-07 18:50 changelog.historical
drwxr-xr-x 7 root root   4096 2011-11-11 21:17 config
-rw-r--r-- 1 root root  28107 2011-10-07 18:50 control
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 control.d
-rw-r--r-- 1 root root  28107 2011-10-07 18:50 control.stub
-rw-r--r-- 1 root root   3892 2011-10-07 18:50 control.stub.in
-rw-r--r-- 1 root root   1292 2011-10-07 18:50 copyright
drwxr-xr-x 6 root root   4096 2011-11-11 21:17 d-i
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 etc
-rw-r--r-- 1 root root 231 2011-10-07 18:50 NOTES
drwxr-xr-x 2 root root   4096 2011-11-11 21:17 rules.d

$ cd /usr/src/linux-source-3.0.0
$ sudo tar xf linux-source-3.0.0.tar.bz2
$ ls -l /usr/src/linux-source-3.0.0/linux-source-3.0.0
итого 496
drwxrwxr-x 26 root root   4096 2011-10-08 00:29 arch
drwxrwxr-x  2 root root   4096 2011-10-08 00:29 block
-rw-rw-r--  1 root root  18693 2011-07-22 06:17 COPYING
-rw-rw-r--  1 root root  94495 2011-07-22 06:17 CREDITS
drwxrwxr-x  3 root root   4096 2011-10-08 00:29 crypto
drwxrwxr-x 93 root root  12288 2011-10-08 00:29 Documentation
drwxrwxr-x 94 root root   4096 2011-10-08 00:30 drivers
-rw-rw-r--  1 root root 50 2011-10-07 18:50 dropped.txt
drwxrwxr-x 38 root root   4096 2011-10-08 00:30 firmware
drwxrwxr-x 72 root root   4096 2011-10-08 00:30 fs
drwxrwxr-x 21 root root   4096 2011-10-08 00:30 include
drwxrwxr-x  2 root root   4096 2011-10-08 00:30 init
drwxrwxr-x  2 root root   4096 2011-10-08 00:30 ipc
-rw-rw-r--  1 root root   2464 2011-07-22 06:17 Kbuild
-rw-rw-r--  1 root root 252 2011-07-22 06:17 Kconfig
drwxrwxr-x  9 root root   4096 2011-10-08 00:30 kernel
drwxrwxr-x  8 root root   4096 2011-10-08 00:30 lib
-rw-rw-r--  1 root root 195358 2011-10-07 18:50 MAINTAINERS
-rw-rw-r--  1 root root  53948 2011-10-07 18:50 Makefile
drwxrwxr-x  2 root root   4096 2011-10-08 00:30 mm
drwxrwxr-x 53 root root   4096 2011-10-08 00:30 net
-rw-rw-r--  1 root root  17459 2011-07-22 06:17 README
-rw-rw-r--  1 root root   3371 2011-07-22 06:17 REPORTING-BUGS
drwxrwxr-x 10 root root   4096 2011-10-08 00:30 samples
drwxrwxr-x 13 root root   4096 2011-10-08 00:30 scripts
drwxrwxr-x  9 root root   4096 2011-10-08 00:30 security
drwxrwxr-x 22 root root   4096 2011-10-08 00:30 sound
drwxrwxr-x  9 root root   4096 2011-10-08 00:30 tools
drwxrwxr-x  9 root root   4096 2011-10-08 00:30 ubuntu
drwxrwxr-x  2 root root   4096 2011-10-08 00:30 usr
drwxrwxr-x  3 root root   4096 2011-10-08 00:30 virt

+1
vetal.44 - 12 Ноябрь, 2011 - 01:35
Изображение пользователя vetal.44.

Я имел ввиду это:
sudo ln -s linux-source-2.6.27 linux
Взято с Вашего HowTo.
И еще для практики сборки ядра больше всего подходит Gentoo. Знаю о чем говорю, где то год юзал.

0
useless_dream - 11 Ноябрь, 2011 - 23:48
Изображение пользователя useless_dream.

ну как там ядро то

+2
Mike - 12 Ноябрь, 2011 - 08:06
Изображение пользователя Mike.

заржавело

0
nockdown - 12 Ноябрь, 2011 - 08:31
Изображение пользователя nockdown.

vetal.44 , хорошо.

Только у меня остался ещё вопрос
какой разорхивировать архив и куда?
Этот /usr/src/linux-source-3.0.0.tar.bz2 (жесткая ссылка)
или этот /usr/src/linux-source-3.0.0/linux-source-3.0.0.tar.bz2?
И куда? В /usr/src/ или /usr/src/linux-source-3.0.0/

0
vetal.44 - 12 Ноябрь, 2011 - 08:51
Изображение пользователя vetal.44.

Если я все правильно понял, любой в /usr/src/linux-source-3.0.0/
P.S. Єто не жесткая ссылка, а символическая. Жесткую Вы бы так не увидели.

0
nockdown - 12 Ноябрь, 2011 - 12:16
Изображение пользователя nockdown.

Виноват.

А куда разорхивировать архив?
В /usr/src/ или /usr/src/linux-source-3.0.0/
Если в /usr/src/, что логичнее имхо, то папка linux-source-3.0.0 уже существует.

0
useless_dream - 12 Ноябрь, 2011 - 14:01
Изображение пользователя useless_dream.

vetal.44, еще чучуть и собирёте ядро

0
nockdown - 12 Ноябрь, 2011 - 17:08
Изображение пользователя nockdown.

Всем спасибо. Ядро собрано, грузится, работает. Теперь, думаю, стоит почитать про kernel-package.

Отправить комментарий

CAPTCHA на основе изображений
Введите цифры