LINUX.ORG.RU

Смена ядра Gentoo на новое ядро Gentoo + модули.

 ,


1

1

Привет всем гентушникам ! Извиняюсь, но наверное совсем нубские вопросы. В общем у меня получилось с первого раза собрать ядро и установить генту, хотя и не верилось в это. Теперь моя цель настроить wi-fi.

1-ый вопрос: команда ifconfig не радует ответом, в списке только интерфейс lo и никакого wlan0 нету. Не могло ли это произойти из-за того что я невнимательно настроил menuconfig, а именно не включил все драйвера в списке, что описаны по ссылке http://wireless.kernel.org/en/users/Drivers/brcm80211 в разделе «Get the code». Карточка у меня brcm4313:4727, она точно поддерживается драйвером brcmsmac, встроенного в ядро, что можно узнать по той же ссылке. То есть включив эти опции, беспроводной интерфейс обнаружится?

2-ой вопрос: Вытекает из первого, если моя невнимательность ( забыл включить в конфиге несколько пунктов/модулей, позволяющих увидеть интерфейс) является причиной, получается мне нужно заново собрать ядро. Что я и сделал. Взяв live cd, я chroot'нулся в мою генту и там добавив в menuconfig (cd /usr/src/linux,make menuconfig) недостающие опции (что описаны по ссылке выше) заново собрал ядро. Оно получилось идентичным за исключением пары пунктов, относящихся к wi fi дровам brcmsmac для broadcom 4313. Можно ли просто так взять и заменить старое ядро на только собранное (если имя файла точно такое же/версия)? Нужно ли обновлять конфиг grub2 ля этого ? А initramfs?

Буду рад любому дельному ответу )



Последнее исправление: cetjs2 (всего исправлений: 1)

Там написано "... not fully supported...". Заведи сначала проводную сеть, потом уже о вай-фае думай.

Deleted
()

Можно ли просто так взять и заменить старое ядро на только собранное (если имя файла точно такое же/версия)?

да

Нужно ли обновлять конфиг grub2 ля этого

да

А initramfs?

да, если в initramfs есть модули и они должны быть загружены для запуска системы.

kostik87 ★★★★★
()

Конфиг граба можно не трогать если имя файла с ядром такое же, но лучше держать 2 ядра, одно 100% рабочее и второе тестовое то что ты пересобираешь.

TDrive ★★★★★
()
Ответ на: комментарий от Deleted

Вообще мне нужен работоспособный aircrack-ng, хотя бы monitor mode. Знаю что все настрадались с этим 4313, но под убунтой (13.10), где встроен brcmsmac в ядро (я просто ввел modprobe brcmsmac), wi fi отлично работает. А конкретно для 4313:4727, на оф сайте aircrack написано - Supported by airodump for Linux: YES, Supported by aireplay for Linux:MOSTLY (Forum thread) No fragmentation attack support.Recommend to use b43, see below. Но так как b43 не поддерживает мою карту, стремлюсь к brcmsmac, это пока лучший выбор (после b43 естественно) для aircrack-ng.

thatskiptkid
() автор топика

Что я и сделал. Взяв live cd, я chroot'нулся в мою генту и там добавив в menuconfig (cd /usr/src/linux,make menuconfig) недостающие опции (что описаны по ссылке выше) заново собрал ядро.

Если у тебя гента уже стоит и запускается то и собирай ядро из нее. Нафига тебе лайв сд?

TDrive ★★★★★
()
Ответ на: комментарий от thatskiptkid

А фирмварь ставил? что показывает «dmesg|grep brcmsmac»?

Deleted
()
Ответ на: комментарий от thatskiptkid
emerge -pf net-wireless/wireless-tools | grep http  | cut -f1 -d" " >> url_list

Файл забираете на систему, где есть интернет, скачиваете файлы по списку, приносите на носителе информации и кладёте в /usr/portage/distfiles.

Ну и иметь доступ к Internet только по wifi это моветон.

kostik87 ★★★★★
()

если есть желание автоматизировать все рекомендую почитать ман genkernel-next в конфиге в том числе есть опция позволяющая добавлять свежесобраные ядра в конфиг граба( как 1го так и 2го)

останется только следить за тем чтобы он брал правильные конфиги для новых ядер.

Slackware_user ★★★★★
()

на моем стареньком ноуте кроме дров и фирмвари обязательно нужно включать Networking support -> wireless -> cfg80211 wireless extensions compatibility

punya ★★
()
Ответ на: комментарий от thatskiptkid

Придя домой, занялся этой проблемой. (версия ядра 3.10.25) Сразу скажу, что у меня черно-белая нокиа и нету фотоаппарата, поэтому вывод команд писал ручкой на листочек ) Таковы итоги со старым ядром без опций:

Network device support

-> Wireless LAN -> < > Broadcom IEEE802.11n PCIe SoftMAC WLAN driver -> < > Broadcom IEEE802.11n embedded FullMAC WLAN driver -> [ ] SDIO bus interface support for FullMAC driver -> [ ] USB bus interface support for FullMAC driver

Вывод команды lspci|grep Broadcom (ну или grep Network): выводит название моего wi fi модуля, то есть broadcom 4313. dmesg|grep Network: e100:Intel(R) PRO/100 e1000: Intel (R) PRO/100 net driver (как я понял это совсем не относится к моему железу, наверное на будущее включил)

Таковы итоги с новым ядром, с включением опций, представленных выше: команды lspci|grep Network и dmesg|grep Network дают результат, идентичный со старым ядром (то есть корректно отображают мой Broadcom 4313:4727).

Что нового я заметил? Со старым ядром, при вводе modprobe brcmsmac на выходе: FATAL:Module not found. С новым ядром: после ввода команды никаких сообщений, как я понял он подгрузился ? Но я так и не понял почему я не вижу его в выводе lsmod. К тому же, по прежнему iwconfig:bash - command not found и ifconfig радует лишь интерфейсом lo и не видит беспроводной.

На счет проводного соединения с интернетом, в моих условиях, к сожалению, это невозможно.

thatskiptkid
() автор топика
Ответ на: комментарий от kostik87

Кстати я попробовал «просто так взять» и заменить старое ядро на новое и всё получилось! ) Без правки груба и чего либо еще, ядра одной версии/одинаковое имя.

thatskiptkid
() автор топика
Ответ на: комментарий от Pinkbyte

Знакомлюсь с линуксом впервые и решил начать с генту. Знаю это самоистязания, но ответьте пожалуйста на еще один нубский вопрос, вот сейчас я на работе сижу под виндой, хочу скачать linux firmware по ссылке https://packages.gentoo.org/package/sys-kernel/linux-firmware. Можно ли его скачать себе на винду и потом в оффлайн установить в генте?

thatskiptkid
() автор топика
Ответ на: комментарий от thatskiptkid

Да. Скачиваете tarball(узнать ссылку на него можно в поле SRC_URI в eбилде linux-firmware), кладете в distfiles(по умолчанию это /usr/portage/distfiles) любым удобным вам способом и потом уже из под Gentoo - устанавливаете.

Пример: sys-kernel/linux-firmware-20130728(текущий stable). Скачиваем tarball, кладем на флешку, загружаемся в Gentoo, монтируем флешку, перекладываем tarball в /usr/portage/distfiles

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

Огромное спасибо за ответ, домой приду проверю, отпишусь.

anonymous
()
Ответ на: комментарий от Pinkbyte

Еще один вопрос, связанный со скачиванием драйвера (но теперь уже другого ). Например есть проприетарный драйвер broadcom-sta, ссылка на него вот: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-wireless/broadcom...

Там по ней: SRC_BASE="http://www.broadcom.com/docs/linux_sta/hybrid-v35" SRC_URI=«x86? ( ${SRC_BASE}-nodebug-pcoem-${PV//\./_}.tar.gz) amd64? ( ${SRC_BASE}_64-nodebug-pcoem-${PV//\./_}.tar.gz )

По вашему примеру беру SRC_URI, подставляю в ${SRC_BASE} -»http://www.broadcom.com/docs/linux_sta/hybrid-v35", а вот что такое - ${PV//\./_}, никак не пойму.

thatskiptkid
() автор топика
Ответ на: комментарий от thatskiptkid

а вот что такое - ${PV//\./_}, никак не пойму.

Это замена точек знаком '_' средствами bash. Если сложно ломать голову самому с этим, тогда сначала на Gentoo делаем emerge -fO broadcom-sta, достаём ссылку, на которую пытается ломится wget и уже по ней скачиваем и приносим в distfiles нужное.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Здравствуйте еще раз! Поставил себе цель на выходных наконец-то поднять wi fi (сеть у меня WPA2-PERSONAL, dhcp). Опишу что я сделал сегодня утром,по шагам.

1. Под Ubuntu Live CD,установил в свою генту wpa_supplicant (emerge wpa_supplicant), по глупости забыл выставить use flag в значение -qt4 (мне графический интерфейс не нужен), поэтому всё это дело заняло около часа.

1.1 Установил sys-kernel/linux-firmware (emerge sys-kernel/linux-firmware). Как я понял, этот пакет необходим для моей карточки, увидел это по ссылке - https://wiki.gentoo.org/wiki/Wifi. Напомню, что моя карточка Broadcom 4313:4727.

1.2 Установил net-wireless/wireless-tools (emerge net-wireless/wireless-tools) , как я понял позже он мне не нужен и как мне кажется я исправил этот конфликт далее при правки конфига (очень ниже это описано)

2. В хендбуке прочитал следующее: Important: You have to have CONFIG_PACKET enabled in your kernel for wpa_supplicant to work. Try running grep CONFIG_PACKET /usr/src/linux/.config to see if you have it enabled in your kernel.

Вывод команды grep CONFIG_PACKET /usr/src/linux/.config

CONFIG_PACKET=y
CONFIG_PACKET_DIAG=y

Значит у меня в ядре он имеется.

3. Прочитав еще раз https://wiki.gentoo.org/wiki/Wifi, убедился, что у меня в .config не выбрана следующая опция:

Networking support --->
Wireless --->
cfg80211 wireless extensions compatibility

На это также указал юзер punya.

Делаю вывод - надо заново собирать ядро, что я и сделал (make -j4 && make modules install).

3.1 Собрал ядро, заменил, загрузился.

4. Пишу ifconfig выдаёт один интерфейс lo, пишу ifconfig -a, выдает (опять же, сотовый черно-белый, фотоаппарата нету):

lo:тут не буду перепечатывать, он не интересен.

tunl0: flags=128<NOARP> mtu 0
tunnel txqueuelen 0 (IPIP Tunnel)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp9s0:flags=4098<BROADCAST,MULTICAST> mtu 1500
ether e4:d5:3d:a8:d5:74 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

В начале удивился,что за wlp9s0, потом прочитал - http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceN..., стало немного ясно, полностью ситуацию прояснила следующая команда «dmesg|grep network», ее вывод:

netconsole:network logging started
systemd-udevd[3484]:renamed network interface wlan0 to wlp9s0

5.Ну хоть что-то с места сдвинулось, уже рад (= Курю хендбук, там написано:

Some wireless cards are deactivated by default. To activate them, please consult your hardware documentation. Some of these cards can be unblocked using the rfkill application. If that is the case, use «rfkill list» to see the available cards and «rfkill unblock <index>» to activate the wireless functionality. If not, you might need to unblock the wireless card through a button, switch or special key combination on your laptop.

Пробую ifconfig wlp9s0 up, вывод

SIOCSIFFLAGS:Operation not possible due to RF-kill

Делаю rfkill, вывод:

-bash:rfkill:command not found

Сделал emerge rfkill (из Ubuntu Live CD). Вывод команды rfkill list в генте:

0:phy1:Wireless LAN
Soft blocked: no
Hard blocked: no

Выполнил ifconfig wlp9s0 up и о чудо никаких ругательств не было!

6.Пишу nano -w /etc/conf.d/net, содержание:

config_wlan0=«dhcp»

Дописал туда modules=«wpa_supplicant». Тут возник вопрос, необходимо ли мне изменить «config_wlan0» на «config_wlp9s0» ?

Вывод команды iwconfig (я здесь не буду писать вывод по отношении к lo и tunl0):

wlp9s0 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point:Not-Associated Tx-Power=19dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power managment:off

На всякий случай, вывод lspci -k:

Network controller: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter (rev 01)
Subsystem:Hewlett-Packard Company Device 1795
Kernel driver in use:bcma-pci-bridge

7.По хэндбуку,правят /etc/wpa_supplicant/wpa_supplicant.conf, но у меня его не оказалось, мне его получается надо самому создать?. Кстати там же в хенбуке написано, что пример взят из /usr/share/doc/wpa_supplicant-<version>/wpa_supplicant.conf.gz, не могу понять как его прочитать, это ведь архив? Но tar говорит что это не архив, как его просмотреть, этот пример ? Сейчас мне нужно срочно уходить, вернусь через часа 2-3.

thatskiptkid
() автор топика
Ответ на: комментарий от thatskiptkid

Тут возник вопрос, необходимо ли мне изменить «config_wlan0» на «config_wlp9s0» ?

Да, конечно. wlan0 - это имя интерфейса, в вашем случае это wlp9s0.

7.По хэндбуку,правят /etc/wpa_supplicant/wpa_supplicant.conf, но у меня его не оказалось, мне его получается надо самому создать?.

Да, именно так.

Кстати там же в хенбуке написано, что пример взят из /usr/share/doc/wpa_supplicant-<version>/wpa_supplicant.conf.gz, не могу понять как его прочитать, это ведь архив? Но tar говорит что это не архив, как его просмотреть, этот пример ? Сейчас мне нужно срочно уходить, вернусь через часа 2-3.

Да, архив, но это не tarball, это просто файл, сжатый gzip-ом. Прочитать его можно утилитами - аналогами обычных cat/less, названия их начинаются с z, например zcat или zless.

Пример wpa_supplicant.conf(утянул со своей Raspberry Pi):

ctrl_interface=/run/wpa_supplicant

# Ensure that only root can read the WPA configuration
ctrl_interface_group=0

# Let wpa_supplicant take care of scanning and AP selection
ap_scan=1

network={
        ssid="pinkbyte"
        psk="very_secret_password_lol"
        # The higher the priority the sooner we are matched
        priority=5
}

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Огромное спасибо! Продолжу. Содержимое файла /etc/conf.d/net:

config_wlp9s0="dhcp"
modules="wpa_supplicant"
wpa_supplicant_wlp9s0="bcma-pci-bridge"

Правильно ли я его указал wpa_supplicant какой драйвер необходимо использовать (bcm-pci-bridge) ? Я его выставил на основе данных от lspci -k, там Network controller - kernel driver in use:bcma-pci-bridge.

Содержимое /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ssid="uFi_BA6C43"
psk="very very secret"
priority=5
}

Перезагрузился, сделал

ifconfig wlp9s0 up
Меня настораживает вывод команды iwconfig, а именно:

Access Point:Not-Associated

Вроде все должно работать, но ping ya.ru - unknown host пишет, что еще мне нужно сделать? У меня вот такой девайс - http://altel4g.kz/internet-magazin/?mc_site_catalog_id_category=22, на нем еще есть кнопка «wps», может тут собака зарыта?

thatskiptkid
() автор топика
Ответ на: комментарий от thatskiptkid

Что в ifconfig(IP адрес устройство получило?)? Что на стороне DHCP-сервера/точки доступа?

Если IP-адрес есть и шлюз(точка доступа) пингуется по IP, дальше надо курить DNS. Если нет - смотреть логи wpa_supplicant-а.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

Сейчас я создал симлинк

 ln -s net.lo net.wlp9s0 
Теперь у меня (ls -l /etc/init.d)
net.wlan0 -> net.lo 

и 

net.wlp9s0 -> net.lo

первый я сделал когда дошел по хендбуку до пункта 8.b (параметры сети там)

thatskiptkid
() автор топика
Ответ на: комментарий от Pinkbyte

Команд ifconfig по прежнему выдаёт:

wlp9s0:flags=4098<UP,BROADCAST,MULTICAST> mtu 1500
ether e4:d5:3d:a8:d5:74 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Как я понял оно ip получило.

Что на стороне DHCP-сервера/точки доступа?

Немного не понял вопроса.

thatskiptkid
() автор топика
Ответ на: комментарий от Pinkbyte

УРА! Всё заработало! Проблема была вот в чём, при первоначальной настройки я делал так

rc-update add net.wlan0 default
предполагая что он у меня будет называться стандартно, но так как имя интерфейса было изменено на wlp9s0, то мне всего лишь надо было сделать
rc-update del net.wlan0 default

rc-update add net.wlp9s0 default

Всем огромное спасибо за помощь! Конечно эти посты были не по теме, надо было назвать «проблемы с wi fi» )) Тему считаю закрытой!

thatskiptkid
() автор топика
Ответ на: комментарий от thatskiptkid

В хендбуке описан общий случай в вакууме необходимый для минимального понимания тех телодвижений и процессов которые необходимо совершить для того чтоб получить некую обобщенную генту в своем обобщенном вакууме…

А мозги тебе нужны не для того чтобы ссылаться на рукокниги и на то что в них описано а для того чтобы иногда при помощи них думать самому.

Дальше только факты для размышлений.

Какая у тебя версия ядра ты не озвучил однако «проприетарный драйвер broadcom-sta» несовместим с веткой ядра 3.13. О том с какими версиями оно совместимо можно узнать из его же исходников.

wifi можно поднять при помощи того openrc-шного бреда который описан в рукокниге либо при помощи любого из инструментов: net-misc/dhcpcd+net-wireless/wpa_supplicant, net-misc/wicd, net-misc/connman… Или вообще при помощи net-misc/networkmanager. И намеренно упарыватся openrc-шным вариантом стоит в самую последнюю очередь и только если оно тебе действительно надо.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за критику, я прекрасно понимаю, что нельзя всецело опираться на хендбук.Я еще очень зелен в гну/линукс, в частности в генту, поэтому мой результат меня очень радует и дает дальнейшую мотивацию в изучении. Ядро у меня 3.10.25, никаких графических утилит я не предполагаю использовать в ближайшем будущем. Честно говоря последний абзац не понял, буду гуглить/читать.

thatskiptkid
() автор топика
Ответ на: комментарий от thatskiptkid

Честно говоря последний абзац не понял, буду гуглить/читать.

В основе любого из этих способов все равно модуль твоего wifi в ядре + net-misc/dhcpcd + net-wireless/wpa_supplicant. Т.е. этого минимально достаточно для того чтобы поднять и настроить wifi сеть.

Но так для многих нудно и неудобно поэтому придумали: net-misc/wicd, net-misc/connman, net-misc/networkmanager и вот то самое «управление сетью» из sys-apps/openrc описанное в хэндбуке.

И главное в том что openrc-шная ерунда устраивает только тех у кого сервера. Если же ты ставишь любой dm/wm то чаще всего по зависимостям ты все равно получаешь все тот же net-misc/networkmanager… Который хоть с гуями хоть без гуёв в своем CLI варианте все равно гораздо интереснее того что описано в хэндбуке. А данная инфа из хэндбука полезна только в том плане что учит как обойтись минимумом.

anonymous
()
Ответ на: комментарий от anonymous

Какая у тебя версия ядра ты не озвучил

Придя домой, занялся этой проблемой. (версия ядра 3.10.25)

thatskiptkid
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.