Сборник статей Handbook inside ! : Linux не для идиотов inside ! : Версия 1 от 15. 07. 2007 2007



Pdf просмотр
страница34/50
Дата14.11.2016
Размер5.65 Mb.
Просмотров7986
Скачиваний0
ТипСборник статей
1   ...   30   31   32   33   34   35   36   37   ...   50
Сборка на другом компьютере
Существует много методов добиться этого, но мы используем самый удобный - тот, что работает с портежами.
Другие методы могут быть более подходящими для других ситуаций, когда главная проблема не только медленный процессор и долгое время сборки, например, если надо перенести Gentoo на систему, которая не может загружаться с CD или сети.
Скомпилировать Gentoo для старых систем x86 (например, Pentium Pro 200MHz с небольшим количеством RAM) можно на x86_64-системе с работающей Gentoo.
Обратный трюк, собрать 64-битную систему на 32-битном компьютере, невозможен.
Я собирал систему в chroot-окружении согласно Gentoo-handbook, используя мою
64bit-Gentoo вместо "живого" CD:
# mkdir /your/new/gentoo
# tar xjvpf stage3-x86-*.tar.bz2 -C /your/new/gentoo
Отредактируйте переменные CHOST и CFLAGS, соответствующие вашей целевой системе (не изменяйте CHOST, если используете стадию 2 или 3 - возмите стадию для соответствующей платформы). У меня было:
# CHOST="i686-pc-linux-gnu"
# CFLAGS="-march=pentiumpro -Os -momit-frame-pointer -pipe"
# CXXFLAGS="$CFLAGS"
Далее переходим в chroot-окружение и выполняем все шаги, описанные в
Руководстве Gentoo по установке.
Чтобы собрать ядро для i386 на x86_64-машине добавьте ARCH=i386 при конфигурации и компиляции ядра.
467

# make menuconfig ARCH=i386
# make clean dep modules modules_install bzImage ARCH=i386
# cp arch/i386/boot/bzImage /boot/vmlinuz
Размечать диск и создавать файловые системы на старом компьютере вам придется с помощью "живого" CD или другой системы Linux.
Переносим готовую систему на старый компьютер:
# cd /your/new/gentoo
# echo "/sys/*" >> tar_exclusions
# echo "/var/run/*" >> tar_exclusions
# echo "/tmp/*" >> tar_exclusions
# echo "/proc/*" >> tar_exclusions
#
# tar -C /your/new/gentoo -X tar_exclusions --preserve -cf ../gentoo.tar .
## можете добавить -v для подробного вывода или -j / -z для компрессии
# scp [-P ssh_port] ../gentoo.tar user@dest_pc:
На старой машине подготавливаем диски и распаковываем систему:
# tar -C /your/new/system --preserve -xf user/gentoo.tar
Теперь вы можете войти в chroot-окружение. Сконфигурируйте системный загрузчик и перегрузитесь. Теперь вы находитесь в новой, с иголочки, Gentoo.
Система теперь должна работать, но я заметил проблему - я не могу ничего скомпилировать. Похоже, что не работает ни C-препроцессор, ни gcc (обычно configure говорит, что /lib/cpp fails sanity check). Не знаю почему, но копирование
/usr/include из chroot-каталога с исходной машины на старый компьютер эту проблему решило.
Удачи!
Оригинал на http://gentoo-wiki.com/HOWTO_Compile_on_another_computer
Перевод Poor Fred
Прочее
468

Разделы MS Windows по-русски
Введение
Достаточно часто возникает необходимость подмонтировать раздел с установленным M$ Windows.
[править]
Ядро
Для того, чтобы система могла работать с разделами FAT или NTFS, необходимо включить их поддержку в ядре. Linux Kernel Configuration: Filesystems
File systems ->
DOS/FAT/NT Filesystems ->
(M) DOS FAT fs support
(M) MSDOS fs support
(M) VFAT (Windows-95) fs support
(M) NTFS file system support
Также надо включить поддержку следующих кодировок: Linux Kernel Configuration:
Native Language Support
File systems ->
Native Language Support ->
Windows CP1251 (Bulgarian, Belarusian)
Codepage 866 (Cyrillic/Russian)
[править]
Монтирование
Теперь можно примонтировать любой windows-раздел программой mount. mount -t file_system /dev/device /mnt/dir В нашем случае в качестве file_system необходимо указывать vfat или ntfs, в зависимости от файловой системы раздела с windows.
[править]
Монтирование FAT
Для монтирования разделов FAT нужно использовать следующую команду: mount -t vfat -o codepage=866,iocharset=koi8-r,quiet,umask=000 /dev/hdd2 /mnt/win1 Для украинских символов: mount -t vfat -o codepage=866,iocharset=koi8-u,quiet,umask=000
/dev/hdd2 /mnt/win1 Мы использовали дополнительные опции iocharset, codepage, quiet и umask. Рассмотрим их внимательнее: codepage - это кодовая страница используемая на монтируемой ФС. Так как мы из
469

России,то нужно писать codepage=866. Эта опция нужна для перекодировки имен файлов. iocharset - указывает какую кодировку использовать для ввода/вывода.Нужно указать свою системную локаль. Локаль можно узнать командой locale. (Здесь под вводом/выводом понимается ввод с и вывод на терминал. Иммено поэтому нужно указывать кодировку локали, т.е. кодировку которую используют программы запущенные в терминале.) quiet - при копировании на файловую систему FAT программа попытается записать права доступа, владельца и т.д., но на FAT их сохранить нельзя и будет выведено сообщение об ошибке ( хотя файл скопируется ). Чтобы ошибки не появлялись мы просим смонтировать в "молчаливом" режиме umask - в некоторых случаях у простого пользователя может не хватить прав на чтение или запись файлов из-за неправильно установленных прав на файлы и директории. Поскольку у файловой системы FAT нет прав доступа, они выставляются операционной системой ( в данном случае Linux ) на лету в соответствии с указанным значением umask. Про umask смотрите в umask(2)
Параметры codepage и iocharset можно задать прямо в ядре. Тогда не нужно будет писать их каждый раз: Linux Kernel Configuration: FAT
File systems ->
DOS/FAT/NT Filesystems ->
(utf8) Default iocharset for FAT
(866) Default codepage for FAT
То есть вместо mount -t vfat -o codepage=866,iocharset=utf8,quiet,umask=000 /dev/hdd2
/mnt/win1 можно писать mount -t vfat -o quiet,umask=000 /dev/hdd2 /mnt/win1
[править]
Монтирование NTFS
Для монтирования NTFS разделов опции mount немного изменяться. Делаем это так: mount -t ntfs -o nls=koi8-r,umask=0,ro /dev/hdd2 /mnt/win1 Для украинских символов: mount -t ntfs -o nls=koi8-u,umask=0,ro /dev/hdd2 /mnt/win1 Вот что они значат: nls - указывает на вашу системную локаль. Отсутствие опций codepage и iocharset связано с тем,что NTFS разделы используют юникод для хранения имен файла. umask - указывает на то что читать файлы с этого раздела могут все. А вот писать не разрешает опция ro. Мы рекомендуем ее поставить,так как функция записи на разделы NTFS еще не отлажена.
В случае если вы в качестве системной кодировки используете utf-8, то опции mount должны быть следующими: mount -t ntfs -o utf8,umask=0,ro /dev/hdd2 /mnt/win1 utf8 - использовать UTF-8 для перекодировки имён файлов.
[править]
470

Автомонтирование
Если у вас все еще есть разделы ОС Windows на харде,то можно добавить монтирование этих разделов при загрузке.Для этого необходимо отредактировать файл /etc/fstab. Файл: /etc/fstab
/dev/hda9 /mnt/win1 vfat auto,codepage=866,iocharset=koi8-r,quiet,umask=000 0 0
#/dev/hda9 /mnt/win1 vfat auto,codepage=866,iocharset=koi8-u,quiet,umask=000 0 0
/dev/hda3 /mnt/win2 ntfs auto,nls=koi8-r,umask=0,user 0 0 еще к опциям можно добавить showexec, чтобы все файлы не выглядели исполняемыми, в случае с FAT32
Соединение с Internet
Установка пакетов
В этом HOWTO использовалось: sys-kernel/gentoo-sources (2.6.12-r10) net-dialup/ppp-2.4.2-r15 net-dialup/pptpclient-1.7.0
Установка очень проста: Code: Установка emerge sys-kernel/gentoo-dev-sources
USE="mppe-mppc pam atm dhcp" emerge ppp emerge pptpclient
Если ваш провайдер использует протокол MPPE (Microsoft Point-To-Point Encryption), то установки необходимо загрузить заплатку mppe-mppc на ядро 2.6.12 Примечание:
Для версии 2.6.15 и выше поддержка MPPE включена в стандартное ядро и соответственно качать заплатку не нужно
471

ВАЖНО: ppp лучше собирать после компиляции ядра.
ВАЖНО:
Почему-то при сборке ppp с использованием флага MPPE-MPPC для этого ядра соединение не устанавливалось, пришлось отключить
Распакуйте и наложите заплатку на ядро: Code: Наложение заплатки cd /usr/src wget http://mppe-mppc.alphacron.de/linux-2.6.12-mppe-mppc-1.3.patch.gz gunzip linux-2.6.12-mppe-mppc-1.3.patch.gz cd /usr/src/linux-2.6.12-gentoo-r10/
patch -p 0 < ../linux-2.6.12-mppe-mppc-1.3.patch
Если это не работает, то попробуйте так: Code: Наложение заплатки cd /usr/src wget http://mppe-mppc.alphacron.de/linux-2.6.12-mppe-mppc-1.3.patch.gz gunzip linux-2.6.12-mppe-mppc-1.3.patch.gz ln -s linux-2.6.12-gentoo-r10 linux-2.6.12
patch -p 0 < linux-2.6.12-mppe-mppc-1.3.patch
Теперь необходимо включить необходимые параметры в ядро: Linux Kernel
Configuration: Параметры ядра
Device Drivers --->
Network support --->
PPP (point-to-point protocol) support
Microsoft PPP compression/encryption (MPPC/MPPE);
Cryptographic options --->
SHA1 and RC4 algorithms
Теперь необходимо собрать наше ядро. Без разницы, как вы скомпилировали эти части. Вы можете вкомпилировать все в ядро или собрать модулями. В конце вы должны подгрузить модули:
472
libcrc32c ip_gre crc_ccitt ppp_async и конечно ppp_mppe_mppc.
А затем запустите modules-config.
[править]
Настройка клиента
Если все удалось, то теперь вам необходимо сконфигурировать клиента. Вот пример конфигурации /etc/ppp/peers/myvpn: pty "pptp xxx.xxx.xxx.xxx --nolaunchpppd" #xxx...это адрес сервера name myname remotename myvpn lock dump noipx
#debug #включите эту опцию,если хотите видеть отладочные сообщения(пригодиться если ничего не работает)
ipcp-accept-local ipcp-accept-remote lcp-echo-failure 4
lcp-echo-interval 30
asyncmap 0
crtscts mppe required,stateless nobsdcomp nodeflate proxyarp ipparam myvpn
Осталось только дозвониться до провайдера: pon myvpn Для вывода отладочных сообщений на этой же консоли введите: pon myvpn debug dump logfd 2
Теперь необходимо настроить таблицы маршрутизации. Обычно это делается так: route add default dev ppp0 473

[править]
Настройка с помощью pptpconfig
Для графической (GTK+) настройки PPTP используйте net-dialup/pptpconfig он пока под маской "
x86" Code: установка pptpconfig
ACCEPT_KEYWORDS="
x86" emerge pptpconfig
Или более правильно в файл /etc/portage/package.keywords добавить следующие строки: net-dialup/pptpconfig x86 dev-php4/php-gtk x86
А затем Code: установка pptpconfig emerge pptpconfig
Примечание: Для нормальной сборки необходимы флаги USE=cli pcntl pcre posix session
Наберите от рута, например в xterm: pptpconfig &
Создайте новое соединение и настройте в соответствии с параметрами указаннымы выше, плюс поправка на рекомендации провайдера.
Для настройки маршрутизации по умолчанию используется вкладка Routing , на ней используйте значение All to tunnel.
Выберите созданное соединение и нажмите Start. Все :) Примечание: если возникнут проблемы с соединением на вкладке "Miscellanyous" в опциях для pppd напишите noipdefault 50
[править]
Проверяем соединение
474

Это — незавершённая статья. Вы можете помочь проекту, исправив и дополнив материал.
Теперь все готово. Можно навестить Gentoo-Wiki ;)
Проверить соединение можно командой:
# ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol inet addr:xxx.xxx.xxx.xxx P-t-P:xxx.xxx.xxx.xxx Mask:xxx.xxx.xxx.xxx.xxx
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:72 (72.0 b) TX bytes:78 (78.0 b)
Настройка VPN-соединения для Gentoo
Настройка маршрутизации для VPN-соединений
[править]
Настройка выхода через DIAL-UP
Это — незавершённая статья. Вы можете помочь проекту, исправив и дополнив материал.
[править]
Подключение модема
[править]
Последовательный порт
Подключение данного типа модема заключается в физическом "втыкании" в один из
COM портов дата кабеля модема, включении модема в розетку и подсоединения к нему телефонной лини. Все это можно прочитать в руководстве к модему. Как извесно последовательные порты в Линукс именуются /dev/ttySx (где x - номер порта, /dev/ttyS0 = COM1 и т.д.) Вам нужно будет знать имя порта на который Вы "повесили свой модем"...скорее всего у вас их два или даже один, поэтому ошибиться здесь довольно сложно. Либо /dev/ttyS0, либо /dev/ttyS1.
475

На этом подключение модема к последовательному порту можно считаль законченым.
[править]
Подключение через USBLinux Kernel Configuration: Установка пакетов "USB support" >>
<*>"USB Modem (CDC ADCM)support" устройство будет называться /dev/ttyACM0
[править]
Win модемы
Для работы Win-модема нужно установить драйвер. Не все win-модемы поддерживаються поэтому Вам остается надеяться на лучшее. За драйверами идем на http://www.linmodems.org/ Там можно взять отличную софтину под названием scanModem которая опросит Ваш модем и выдаст (или не выдаст) URL откуда взять драйвер. Тянем. Распаковываем. Читаем INSTALL. Ставим. Еще можно почитать эту статью: linmodems
[править]
Для всех типов модемов
Для удобства можно создать симлинк вида /dev/modem на соответствующее модему устройство: ln -s /dev/ttyS0 /dev/modem и в дальшейшем в настройках использовать устройство ( /dev/modem )...хотя никто и не запрещает использовать устройство модема без симлинка /dev/tyySx
[править]
Проверка работоспособности, возможные грабли
После подключения модема и установки всех необходимых драйверов необходимо проверить его работоспособность. Я делаю это так: запускаю утилиту minicom и даю команду AT. Если все в порядке, я в ответ получаю ОК, и не получаю если что-то не так. Если ОК не получен, то самое первое, что нужно сделать - это проверить настройки minicom. Если модем ответил "ОК", можно попробовать позвонить провайдеру:
ATDP 554554 - для пульсового набора или
ATDT 554554 - для тонового набора если модемы соединились и на экране появилось приглашение ввести логин или посыпался мусор в виде фигурных скобок ({{{{{{), можете себя поздравить и переходить к настройке програмного обеспечения, модем у вас работает.
476

[править]
Настройка програмного обеспечения
[править]
Включение поддержки PPP в ядре в ядре должны быть включены опции отвечающие за ppp: Linux Kernel Configuration:
Установка пакетов
Device Drivers--------->
Networking support--------->
<*>PPP (point-to-point protocol) support
<*>PPP support for async serial ports
<*>PPP Deflate compression
<*>PPP BSD compression
[править]
Установка необходимых пакетов вопервых нужно установить пакет который реализует поддержку протокола точка- точка (point-to-point protocol) emerge ppp вовторых нужна звонилка или скрипт для автоматизирования процеса установления соединения.
Обзор звонилок и примеры скриптов смотри ниже...
[править]
Настройка соединения с помощью chat-script
Прежде чем писать скрипт, необходимо настроить pppd:
в /etc/ppp/pap-secrets пропишем свои Логин/Пароль Code: /etc/ppp/pap-secrets login * password * где login и password выданые Вашим провайдером Вам логин и пароль соответственно... в /etc/ppp/options пропишем: Code: /etc/ppp/options
477
nodetach defaultroute lock crtscts в /etc/resolv.conf прописываем один или несколько ip-адресов DNS серверов
(спросить у провайдера адрес его сервера) Code: /etc/resolv.conf nameserver xx.xx.xx.xx xx.xx.xx.xx - заменить на ip-адресс DNS сервера
В каталоге /usr/share/doc/ppp-*/scripts лежат примеры скриптов, нам нужны:
ppp-on ppp-off ppp-on-dialer подправляем в них логин, номер телефона, пароль...и вуаля...ppp-on поднимает соединение, ppp-off разрывает его, а ppp-on-dialer -воспомогательный скрипт для осуществления дозвона. замечу только что для тонового набора используется AT-команда ATDT, а для пульсового - ATDP.
[править]
Обзор звонилок
Хорошая звонилка избавит Вас от процеса написания скриптов, вникания в опции pppd, и сделает настройку соединения довольно тривиальной
[править]
kppp
[править]
chestnut-dialer
Замечательная звонилка которая к сожалению не поставляется в стандартных портах gentoo. ebuild можна взять тут http://vin.lug.org.ua/
Из плюсов
478

Настройка тривиальна
Умеет работать в консоли
Умеет работать в GUI (имеет GTK+ и Qt интерфейсы)
Умеет call back
Нетребавательна к ресурсам "Местного разлива" - можно пообщаться с автором на родном языке, что для многих немаловажно.
Из минусов
Не входит в официальное дерево портов
[править]
Настройка Call back pppd должен быть собран с поддержкой CALLBACK. В gentoo это делается по умолчанию, так что вам нужно просто собрать pppd штатными средствами.
Самый простой скрипт для CALLBACK был обнаружен в /usr/doc/ppp-
2.4.2/README.cbcp:
#!/bin/sh pppd debug nodetach /dev/modem 115200 crtscts modem \
callback СВОЙ_НОМЕР name ЛОГИН \
connect 'chat -v "" atz OK atdtНОМЕР_ПРОВАЙДЕРА CONNECT "
--"'
sleep 1
pppd debug nodetach /dev/modem 115200 crtscts modem \
name ЛОГИН defaultroute \
connect 'chat -v RING ATA CONNECT "\c"'
ИМЯ_СОЕДИНЕНИЯ должно соответствовать записи в /etc/ppp/chat-secrets
(/etc/ppp/pap-secrets). В /etc/resolv.conf нужно прописать адрес DNS-сервера (можно добавить опцию usepeerdns в /etc/ppp/options для получения списка DNS серверов от провайдера).
Также можно использовать kppp или chestnut-dialer для установки callback соединения. Настройки их достаточно тривиальны.
Самым сложным может оказаться правильно подобрать строку инициализации для модема. Рекомендуют отключить CallerID. Приведу несколько строк инициализации для примера, но лучше берите документацию от модема (часто идет только на сидироме хотя иногда бывает и в бумажном виде), смотрите что каждая из AT комманд означает и экспериментируйте.
Для модемов Lucent:
479
ats0=1s38=0s37=17-v90=0
ats0=1s38=0s37=17-v90=0+vcid=0
значение регистра s37 можна понижать до 14
Для модемов GVC Vector K2D:
ATS0=1+VCID=0&U1
Я лично подобрав подходящую строку инициализации, сохранил ее прямо в профиле модема...
[править]
Настройка выхода через GPRS
Если вы подключаетесь через GPRS с помощью звонилки (kppp, chestnut-dialer), может быть важным использование опции pppd - noipdefault !!!
[править]
Требуемая аппаратура
Для соединения по GPRS потребуется следующее:
Мобильный телефон, поддерживающий технологию GPRS
Кабель COM или USB для подключения к компьютеру ("data-кабель") либо IrDA- интерфейс.
[править]
Подключение с помощью USB-кабеля
Убедитесь, что в конфигурационном файле Вашего ядра присутствуют следующие опции:
"Device Drivers" >>
[*]"Networking support" >>
[*] "Network device support"
"PPP (point-to-point protocol) support"
"PPP support for async serial ports"
"PPP support for sync tty ports"
"PPP Deflate compression"
"PPP BSD-Compress compression"
Для data-кабелей на основе микросхем Profilic 2303 (используются для подключения большинства телефонов, в том числе Siemens, Motorola, Nokia и др.) проверьте наличие:
"USB support" >>
480

"USB Serial Converter support" >>
"USB Prolific 2303 Single Port Serial Driver"
После компиляции ядра проверьте модуль: modprobe pl2023
Теперь кабель представлен в системе как устройство /dev/usb/tts/0 (возможно
/dev/ttyUSB0), которое может быть использовано в качестве обычного модема.
Для телефонов Motorola, которые подключаются кабелем mini-USB (например
С380,С390) достаточно включить "USB support" >>
<*>"USB Modem (CDC ADCM)support" устройство будет называться /dev/ttyACM0
[править]
Подключение с помощью COM-кабеля
Тут все просто, "втыкаем" и используем...как любой модем на последовательном порту.
[править]
Подключение через Bluetooth
Предполагается что вы уже настроили соединение телефона с компьютером через bluetooth,например по этой статье :Работа с мобильными телефонами через bluetooth.Итак устройства сопряжены.Теперь нам необходимо подключить телефон как модем.Для этого мы выполним привязку bluetooth-сервиса 1(то есть Dial-Up) к устройству /dev/rfcomm0.Начнем по порядку.
Поищем телефон
#hcitool scan
Scanning ...
00:60:57:D5:3B:BE Gtbear
Подключим его к rfcomm0
#rfcomm bind 0 00:60:57:D5:3B:BE 1
Этой командой мы подключили в rfcomm0 канал 1. Теперь телефон готов к работе.Осталось настроить соединения в конфигах pppd.
Создадим файл /etc/ppp/peers/gprs.В него запишем следующее: lcp-echo-failure 0
lcp-echo-interval 0 481

/dev/rfcomm0
connect /etc/ppp/peers/suct-connect # Это скрипт соединения,такое имя выбрано в честь моего оператора:
115200 #Южно-Уральский Сотовый Телефон :)
crtscts local ipcp-accept-local noauth usepeerdns user suct defaultroute noipdefault
Теперь сделаем скрипт соединения:
#!/bin/bash exec chat -vS \
'' \rAT \
TIMEOUT 12 \
OK ATH \
OK ATE1 \
OK 'AT+CGDCONT=1,"IP","internet.usi.ru"' \
OK ATD*99***1# \
TIMEOUT 22 \
SAY "\nWaiting for connect...\n" \
CONNECT "" \
SAY "\nGPRS connected.Enjoy.."
Впринципе все готово.Для запуска соединения можно использовать команду pppd call vpn nodetach
[править]
Подключение через IrDA
Пакеты: emerge irda-utilsLinux Kernel Configuration: Ядро 2.6
Device Drivers --->
[*] Networking support
<*> IrDA (infrared) subsystem support --->
<*> IrCOMM protocol
Infrared-port device drivers --->
<*> IrDA USB dongles
482

<*> SigmaTel STIr4200 bridge (EXPERIMENTAL)
Когда ядро будет готово можно запускать команду: irattach irda0 -s
Теперь если поднести телефон к инфракрасному порту он должен определиться...
Дальше можно поднимать ppp как для обычного модема
[править]
Настройка выхода через CDMA (SKYLINK)
[править]
Подключение аппаратуры
AnyDATA ADU-E100A
[править]
Настройка программного обеспечения
Устанавливаем пакет который реализует поддержку протокола точка-точка (point-to- point protocol)
# emerge ppp
Редактируем файл /etc/ppp/chap-secrets Code: /etc/ppp/chap-secrets
# Secrets for authentication using CHAP
# client server secret IPaddresses
"mobile" * "internet" *
Создаем файл /etc/ppp/peers/cdma Code: /etc/ppp/peers/cdma debug
/dev/ttyUSB0 921600
noipdefault defaultroute ipcp-accept-local lcp-echo-interval 60
lcp-echo-failure 5
usepeerdns nopcomp noauth
483
noaccomp nodetach user "mobile"
connect "/usr/sbin/chat -s -S -V -t 5 -f /etc/ppp/cdma.chat"
Создаем файл /etc/ppp/cdma.chat Code: /etc/ppp/cdma.chat
'' '' # "Это не кавычки, а два знака, который на клавиатуре слева от единички '' 'ATZ' # "Это не кавычки, а два знака, который на клавиатуре слева от единички 'OK' 'ATI'
'OK' 'ATDT#777'
'CONNECT' 'ATO'
Пробуем
# pon cdma
Udev
Настройка системы
[править]
Установка необходимых программ emerge udev hotplug coldplug
[править]
Конфигурация ядра
Для активизации udev нам необходимо ядро 2.6. Лично у меня 2.6.12-mm1.
General setup --->
[*] Support for hot-pluggable devices
File systems --->
Pseudo filesystems --->
[ ] /dev file system support (OBSOLETE)
[ ] Automatically mount at boot (NEW)
[*] Virtual memory file system support (former shm fs)Примечание: devfs Может быть включен, но автоматическое монтирование обязано быть выключено. А с учетом того, что из 2.6.13 его вообще собираются убрать... ну смотрите сами.
Примечание: Во всяком случае, из 2.6.14 убрали
484

Ядро собираем и устанавливаем.
[править]
Конфигурация системы
Не буду рассматривать как udev работает из таррбола, рассматриваю вариант чистого udev.
/etc/conf.d/rc:
RC_DEVICE_TARBALL="no"
RC_DEVFSD_STARTUP="yes"
...Примечание: Последнюю опцию можно поставить в "no", когда мы убедимся в нормальной работоспособности udev rc-update add coldplug boot rc-update add hotplug default
[править]
Конфигурация процесса загрузки
[править]
GrUB
К строке kernel от старого ядра необходимо дописать: kernel /boot/kernel-2.6.9-r4 root=/dev/hda3 gentoo=noudev
А в строке kernel для нового ядра прописать: kernel /boot/kernel-2.6.10-r6 root=/dev/hda3 gentoo=nodevfs
[править]
Troubleshuting
[править]
Попытка номер раз
В принципе можно перегружаться, но нас ждет одно неприятное сообщение. Вот примерно такое:
WARNING: Unable to open an initial console
485

Для того чтобы все было хорошо, нам необходимо загрузиться с другого носителя
(например любой LiveCD) подмонтировать наш корневой раздел, и в каталоге /dev
(каталог по идее должен оказаться абсолютно пустым) проделать следующее: Code:
# mknod -m 660 console c 5 1
# mknod -m 660 null c 1 3
POMAH007: Зачем же так жестоко - заставлять грузиться с компакта? Согласно udev guide с www.gentoo.org (http://www.gentoo.org/doc/en/udev-guide.xml), доступ к девственному /dev можно получить альтернативно: Code: Code Listing 3.1: Listing device nodes available at boot
# mkdir test
# mount --bind / test
# cd test/dev
# ls
[править]
Попытка номер два
С консолью вроде все в порядке, а вот иксы не хотят... грузимся в шелл и в файле конфигурации Xorg прописываем в разделе мыши:
Option "Device" "/dev/input/mice"
[править]
PS
Ну теперь вроде все так как было раньше. и старая конфигурация тоже работает.
Если старая конфигурация не нужна, то убираем все из загрузчика, ставим в
/etc/conf.d/rc - "no" и живем спокойно под udev.
[править]
PPS
Кстати тарболл может потребоваться пользователям нестандартных устройств, а так же некоторых сторонних модулей ядра
486
1   ...   30   31   32   33   34   35   36   37   ...   50


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал