Здравствуйте, коллеги!
Есть задумка сделать супер минималистичную систему на баз Altlinux (к сожалению в выборе донора я ограничен).
Всю систему я хочу запилить в initrd.
Пока я лишь тестирую возможности и потому загружаю все модули ядра. Понимаю, что это излишество, но оптимизировать буду потом.
На данном этапе я получил адекватный ввод в баше и поднял сеть.
Что, вообще, делается в initrd (init) на текущий момент:
1. монтируются виртуальные fs (proc, sys, dev, dev/pts, run, tmp)
2. запускается udevd
3. запускаю bash
Вот тут начинается первая проблемка: система не воспринимает Ctrl-C. Т.е. нельзя выбить программу. Видимо нужно что-то подгрузить, но что?
Дальше я назначаю статический IP:
ip a add 192.168.0.100/24 dev eth0
Соответственно, уже есть в системе сетевые адаптеры (eth0, eth1), к eth0 подключен сетевой кабель.
Поднимаю eth0
ip link set up dev eth0
Все нормально, но не совсем…
Поскольку мне нужна только локальная сеть 192.168.0.0/24 то можно не прописывать gateway. Тут по желанию. Ни на что не влияет.
Вот тут получаю первую странность:
Пингую с другой машины (192.168.0.65) адрес минисистемы 192.168.0.100 и… Destination Host Unreachable
Теперь с минисистемы пингую 192.168.0.65. Пинги проходят! Сеть жЫвет!
После «входящего» пинга 192.168.0.65 может пинговать 192.168.100. Все работает. Но… На пинги минисистема начинает отвечать лишь после того, как сама кого-то пинганула.
И еще странность: минисистема не может пинговать свой ip (192.168.0.100). Вообще ни как!
Дальше я написал на C элементарный UDP эхо сервер и запускаю его на минисистеме. Все нормально! Я с ним могу «переговариваться».
Вот только… Через какое-то время миниситема перестает отзываться и виснет наглухо. Так, что даже на Ctrl-Alt-Del перестает реагировать.
Виноват не мой эхо сервер. Минисистема так же прекрасно виснет на bashe. Вот только что жила, а теперь сдохла.
Временной интервал до зависания разный. От нескольих минут до часа. Но, тем не менее, минисистема переходит в полную «несознанку» и лечится это только резетом.
Как будто минисистема засыпает, а проснуться уже не может. Но как такое может быть???
При этом, чем дольше общаешься с минисистемой по сети или с клавиатуры, то она ведет себя адекватно. Но стоит на какое-то время ее оставить в покое, как она засыпает мертвым сном.
Почему происходят эти засыпания - вообще не понимаю.
Почему минисистема не отвечает по сети до тех пор пока сама кого-то не пинганет - не понятно.
Как заставить миниситему реагировать на Ctrl-C?