Руководство криворукого установщика linux
Для начала настрою рабочий компьютер, чтобы он работал в качестве шлюза моего ноутбука. Сначала - правила udev, чтобы сетевые карты не "прыгали":
Вносим изменения: из rc.conf удаляем информацию о сетевом соединении. В секцию DAEMONS /etc/rc.conf добавляем net-profiles и удаляем network Добавляем в /etc/conf.d/netcfg строчку
В /etc/network.d/interfaces создаем два файла, lan0:
После этого бился я бился, но поднять не получалось. Перезагрузился. Получил:
ОК, идем сюда и ищем vendor id своей карты:
vendor: 10b7 ("3Com Corporation"), device: 9200 ("3c905C-TX/TX-M [Tornado]")
т.е. нужен модуль 3c59x, который и так загружен. Однако, lspci -k не показал, что карточка использует какой-то модуль ядра.
Сделал rmmod 3c59x && modprobe 3c59x, глянул lspci -k - опять фигвам. Зато dmesg показал:
Здесь набрел на подобную проблему. Но это было давно. Значит, на баг забили совсем.
Заменил нерабочую из-за кривого (а уже ведь 7 лет прошло) модуля ядра сетевушку на dlink. После пляски с бубном (я менял правила udev в надежде, что карта заработает, а перед выключением забыл все восстановить, после загрузки карты поменялись местами и udevadm'ом я их "развернуть" не смог) сетевушки заработали, как надо.
Для начала - разрешаю проброс:
Разрешение прохода пакетов с "внутренней подсети" наружу:
Для начала открываем учебник.
Качаем установочный образ:
Включаем бук и по F10 заходим в биос и настраиваем загрузку с флешки. Фигвам. Не помогает. На ЛОРе обратили внимание на косяк, правильно сделать так:
Сделал. Все равно фигвам. На ЛОРе узнал, что у gentoo не существует готовых установочных образов.
ОК, в жопу gentoo. Пытаемся ставить дебиан.
Качаем:
Загружаю: сразу получаю меню, выбираю "установка", далее - язык и т.п. Потом дебиан попытался получить IP по dhcp. Что не вышло, понятное дело. Настраиваю вручную:
Пошла проверка зеркала архива...
Сеть не пошла. Блин!
Идем в гугол... Добавляю:
Итак, возвращаемся к установке дебиана. На стадии проверки все прошло нормально и пошла загрузка доп. компонентов. Далее был спрошен пароль рута и т.д., и т.п.
Потыкался, в общем, я в дебиане, и понял, что лучше ставить ту систему, к которой ты привык. А так - я даже не понял, как в этом дебиане снести всякую дрянь, вроде гнома, nouveau и прочего.
Установку я буду делать со старого образа, надеюсь, проблему с кривыми симлинками, удастся избежать легкой ценой. С нового грузиться не хочется, т.к. по слухам он сильно испоганился.
В процессе установки опять были ошибки конфликта пакетов. Установив загрузчик, я ничего хоршего не получил. Пришлось опять грузиться с флешки.
Пришлось воспользоваться в консоли pacman -Rsc, чтобы удалить практически все, что установил до этого - лишь бы не трогать уже сохраненные пакеты (форматирование бы убило все нафиг).
И опять какая-то фигня получилась, но система по идее установилась, поэтому после перезагрузки, когда я попал в меню груба, я ввел параметры из своего menu.lst и после ввода boot система загрузилась. Правда, система попыталась использовать сраный nouveau, который, естественно, упал, и я получил мелкие буковки и низкую яркость.
Логин рута был успешен (т.к. пароли-то я не задавал).
Далее мне понадобилось поставить sshfs, чтобы не качать уйму пакетов, а использовать пакеты с рабочего компьютера. Однако, оказалось, что в полученной системе даже rc.conf не было!
ОК, качаем на флешку, заодно туда же пихаем все пакеты, чтобы удобней было.
Сбрасываю все на бук, запускаю pacman -S mc и получаю ошибку, мол, надо ключи инициализировать. ОК:
После правки mc установился! О счастье! Теперь у меня есть mcedit!!!
Ставим еще sshfs, чтобы не забыть (правда, пока что она не нужна, но позже может пригодиться). Попутно выполняю установку кое-каких пакетов и настройку rc.conf.
Обнаружил, почему потускнел экран: функциональные клавиши работают задом наперед: если на нее просто нажмешь, она не работает, а если с FN, то работает. Вот такой идиотизм. Чего-нибудь вроде FNlock я не нашел, увы.
После установки initscripts и выполнения /etc/rc.d/network start, ноутбук почему-то завис. После перезагрузки отвалилась клавиатура. Возможно, перегрелся бедолага.
Подправил менюшку grub'а, заменил новоявленный пустой rc.conf на недавно правленный, поставил yaourt и еще кое что. Перезагрузился уже нормально, но сеть не полностью работает: надо подправить resolv.conf, wgetrc и воткнуть переменные прокси в /etc/profile.d/proxy.sh.
ОК, поковырялся - вуаля! yaourt -Syua заработал. Отлично. Теперь можно копировать все настройки с рабочего компьютера, доустанавливать нужные пакеты и, можно сказать, работа почти закончена. Почти - потому что мне еще надо настроить чертов bumblebee. Но я сегодня еще не завтракал, поэтому пора бы идти домой.
cat /etc/udev/rules.d/net.rules KERNEL!="eth*", GOTO="end-of-file" SUBSYSTEM=="net", ATTR{address}=="1c:6f:65:3e:9f:ab", NAME="eth0" SUBSYSTEM=="net", ATTR{address}!="1c:6f:65:3e:9f:ab", NAME="eth1" LABEL="end-of-file"
Вносим изменения: из rc.conf удаляем информацию о сетевом соединении. В секцию DAEMONS /etc/rc.conf добавляем net-profiles и удаляем network Добавляем в /etc/conf.d/netcfg строчку
NETWORKS=(lan0 lan1)
В /etc/network.d/interfaces создаем два файла, lan0:
CONNECTION='ethernet' DESCRIPTION='Static IP LAN main' INTERFACE='eth0' SKIPNOCARRIER='yes' IP='static' ADDR='192.168.3.225' NETMASK='255.255.254.0' BROADCAST='192.168.3.255' GATEWAY='192.168.2.11' DNS=('192.168.2.111' '192.168.2.11' '8.8.8.8')и lan1:
CONNECTION='ethernet' DESCRIPTION='Static IP LAN' INTERFACE='eth1' SKIPNOCARRIER='yes' IP='static' ADDR='192.168.99.1' NETMASK='255.255.255.0' BROADCAST='192.168.99.255'
После этого бился я бился, но поднять не получалось. Перезагрузился. Получил:
ifconfig eth0: flags=4163 mtu 1500 inet 192.168.3.225 netmask 255.255.254.0 broadcast 192.168.3.255 inet6 fe80::1e6f:65ff:fe3e:9fab prefixlen 64 scopeid 0x20>link> ether 1c:6f:65:3e:9f:ab txqueuelen 1000 (Ethernet) RX packets 4890 bytes 2857572 (2.7 MiB) RX errors 0 dropped 2 overruns 0 frame 0 TX packets 155 bytes 30158 (29.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 16436 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) 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отсутствие eth1 и матюги при загрузке:
Interface eth1 does not exist
ОК, идем сюда и ищем vendor id своей карты:
lspci -n -s 05:04.0 05:04.0 0200: 10b7:9200 (rev 74)(05:04.0 я узнал из выхлопа lspci без параметров). Видим по ссылочке строчку:
vendor: 10b7 ("3Com Corporation"), device: 9200 ("3c905C-TX/TX-M [Tornado]")
т.е. нужен модуль 3c59x, который и так загружен. Однако, lspci -k не показал, что карточка использует какой-то модуль ядра.
Сделал rmmod 3c59x && modprobe 3c59x, глянул lspci -k - опять фигвам. Зато dmesg показал:
[ 897.156294] 3c59x: Donald Becker and others. [ 897.156307] 0000:05:04.0: 3Com PCI 3c905C Tornado at ffffc90005624000. [ 897.156318] 3c59x 0000:05:04.0: setting latency timer to 64 [ 897.166991] *** EEPROM MAC address is invalid. [ 897.166994] 3c59x: vortex_probe1 fails. Returns -22 [ 897.167003] 3c59x: probe of 0000:05:04.0 failed with error -22
Здесь набрел на подобную проблему. Но это было давно. Значит, на баг забили совсем.
Заменил нерабочую из-за кривого (а уже ведь 7 лет прошло) модуля ядра сетевушку на dlink. После пляски с бубном (я менял правила udev в надежде, что карта заработает, а перед выключением забыл все восстановить, после загрузки карты поменялись местами и udevadm'ом я их "развернуть" не смог) сетевушки заработали, как надо.
Далее - настраиваем сеть.
Для начала - разрешаю проброс:
echo "1" > /proc/sys/net/ipv4/ip_forward echo "net.ipv4.ip_forward=1" >> /etc/sysctl.confА теперь - попытаюсь при помощи гугла сделать проброс.
Разрешение прохода пакетов с "внутренней подсети" наружу:
iptables -t filter -A FORWARD -p all -s 192.168.99.0/24 -d 192.168.2.0/23 -j ACCEPTНастраиваем подмену адреса отправителя (чтобы снаружи все было ОК):
iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -d 192.168.2.0/23 -j SNAT --to-source 192.168.3.225Нормально ли все - узнаю позже.
Устанавливаем минимум gentoo
Для начала открываем учебник.
Качаем установочный образ:
wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-stage3/install-amd64-minimal-20121013.isoЗаписываем на флешку:
dd if=install-amd64-minimal-20121013.iso of=/dev/sdb1 bs=10M
Включаем бук и по F10 заходим в биос и настраиваем загрузку с флешки. Фигвам. Не помогает. На ЛОРе обратили внимание на косяк, правильно сделать так:
dd if=install-amd64-minimal-20121013.iso of=/dev/sdb bs=10M
Сделал. Все равно фигвам. На ЛОРе узнал, что у gentoo не существует готовых установочных образов.
ОК, в жопу gentoo. Пытаемся ставить дебиан.
Ставим дебиан
Качаем:
wget http://http.us.debian.org/debian/dists/squeeze/main/installer-amd64/current/images/netboot/mini.iso
Загружаю: сразу получаю меню, выбираю "установка", далее - язык и т.п. Потом дебиан попытался получить IP по dhcp. Что не вышло, понятное дело. Настраиваю вручную:
IP 192.168.99.2 mask 255.255.255.0 gate 192.168.99.1 DNS 192.168.3.111далее - еще кое-какие настройки (сервер и т.п.), прокси...
Пошла проверка зеркала архива...
Сеть не пошла. Блин!
Идем в гугол... Добавляю:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEна всякий случай в настройках установщика дебиан меняю DNS на 192.168.99.1. Тоже ничего. Оказалось, что я забыл прописать этот интерфейс в настройках shorewall. Добавил просто
ACCEPT loc net ACCEPT net locв /etc/shorewall/rules, и все заработало. Строчка
loc eth1 detectв interfaces уже была.
Итак, возвращаемся к установке дебиана. На стадии проверки все прошло нормально и пошла загрузка доп. компонентов. Далее был спрошен пароль рута и т.д., и т.п.
Потыкался, в общем, я в дебиане, и понял, что лучше ставить ту систему, к которой ты привык. А так - я даже не понял, как в этом дебиане снести всякую дрянь, вроде гнома, nouveau и прочего.
В общем, арч.
Установку я буду делать со старого образа, надеюсь, проблему с кривыми симлинками, удастся избежать легкой ценой. С нового грузиться не хочется, т.к. по слухам он сильно испоганился.
В процессе установки опять были ошибки конфликта пакетов. Установив загрузчик, я ничего хоршего не получил. Пришлось опять грузиться с флешки.
Пришлось воспользоваться в консоли pacman -Rsc, чтобы удалить практически все, что установил до этого - лишь бы не трогать уже сохраненные пакеты (форматирование бы убило все нафиг).
И опять какая-то фигня получилась, но система по идее установилась, поэтому после перезагрузки, когда я попал в меню груба, я ввел параметры из своего menu.lst и после ввода boot система загрузилась. Правда, система попыталась использовать сраный nouveau, который, естественно, упал, и я получил мелкие буковки и низкую яркость.
Логин рута был успешен (т.к. пароли-то я не задавал).
Далее мне понадобилось поставить sshfs, чтобы не качать уйму пакетов, а использовать пакеты с рабочего компьютера. Однако, оказалось, что в полученной системе даже rc.conf не было!
ОК, качаем на флешку, заодно туда же пихаем все пакеты, чтобы удобней было.
Сбрасываю все на бук, запускаю pacman -S mc и получаю ошибку, мол, надо ключи инициализировать. ОК:
pacman-key --init (зависло) Ctrl^C pacman -S mc фигвамОК, смотрим pacman.conf - действительно, кривой. Правим (добавляем SigLevel = Never). Попутно материмся на долбаный vim.
После правки mc установился! О счастье! Теперь у меня есть mcedit!!!
Ставим еще sshfs, чтобы не забыть (правда, пока что она не нужна, но позже может пригодиться). Попутно выполняю установку кое-каких пакетов и настройку rc.conf.
Обнаружил, почему потускнел экран: функциональные клавиши работают задом наперед: если на нее просто нажмешь, она не работает, а если с FN, то работает. Вот такой идиотизм. Чего-нибудь вроде FNlock я не нашел, увы.
После установки initscripts и выполнения /etc/rc.d/network start, ноутбук почему-то завис. После перезагрузки отвалилась клавиатура. Возможно, перегрелся бедолага.
Подправил менюшку grub'а, заменил новоявленный пустой rc.conf на недавно правленный, поставил yaourt и еще кое что. Перезагрузился уже нормально, но сеть не полностью работает: надо подправить resolv.conf, wgetrc и воткнуть переменные прокси в /etc/profile.d/proxy.sh.
ОК, поковырялся - вуаля! yaourt -Syua заработал. Отлично. Теперь можно копировать все настройки с рабочего компьютера, доустанавливать нужные пакеты и, можно сказать, работа почти закончена. Почти - потому что мне еще надо настроить чертов bumblebee. Но я сегодня еще не завтракал, поэтому пора бы идти домой.
no subject
(no subject)
no subject
По поводу Fn-клавиш - ноутбук hp? У них в BIOS есть пункт про это дело.
Сам мучаюсь с генту/фанту. Какие-то кривые глюки, которых отродясь не видел.
(no subject)
no subject
Да уж... Знал бы я, какой зонд себе заказываю…
no subject
Буду копать дальше.
(no subject)
(no subject)
no subject
OpenGL на интеловской недовидюхе не работает. Optirun работает, но в режиме sync2Vbank, настроить nvidia-settings не могу, т.к. матерится, что иксы неправильно запущены.
Следующая проба - запустить icewm при помощи optirun после логина.