Руководство криворукого установщика linux
Oct. 30th, 2012 07:47 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Для начала настрою рабочий компьютер, чтобы он работал в качестве шлюза моего ноутбука. Сначала - правила 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
Date: 2012-10-30 04:46 pm (UTC)no subject
Date: 2012-10-31 04:28 am (UTC)