По работе пришлось столкнуться с МСВС 3.0 релиз14 (ядро 2.4.32 без smp) на процессорном модуле (одноплатный компьютер, all-in-one-module) CP306 производства Kontron.
Если в BIOS'е процессорного модуля включить только "USB controller 1", выключить "USB controller 2" и "USB controller 3", а также выключить поддержку USB2.0 (USB EHCI Host Controller), то МСВС грузится стабильно. Однако, при включении "USB controller 2" или "USB controller 3" (а также при их включении совместно) в 30-40 % случаев выполнение INIT останавливается на пункте "Инициализируется контроллер USB":
INIT: version 2.86 booting [ OK ]
Добро пожаловать в ОС МСВС 3.0 [ OK ]
Нажмите клавишу 'I' для входа в интерактивный режим. [ OK ]
Монтирование файловой системы proc [ OK ]
Конфигурирование параметров ядра: [ OK ]
Загрузка таблицы трансляции клавиатуры (ru-ms): [ OK ]
Активизация разделов swap [ OK ]
Установка имени хоста STEND_MCVC14 [ OK ]
Инициализируется контроллер USB:
Но иногда (если несколько раз пытаться загрузить ОС с помощью reset или PowerON/PowerOFF) загрузка может пройти успешно:
INIT: version 2.86 booting [ OK ]
Добро пожаловать в ОС МСВС 3.0 [ OK ]
Нажмите клавишу 'I' для входа в интерактивный режим. [ OK ]
Монтирование файловой системы proc [ OK ]
Конфигурирование параметров ядра: [ OK ]
Загрузка таблицы трансляции клавиатуры (ru-ms): [ OK ]
Активизация разделов swap [ OK ]
Установка имени хоста STEND_MCVC14 [ OK ]
Инициализируется контроллер USB: [ OK ]
Монтируется файловая система USB: [ OK ]
Инициализируются устройства USB HID: [ OK ]
Инициализируется клавиатура USB: [ OK ]
Инициализируется мышь USB: [ OK ]
Проверка корневой файловой системы [ OK ]
etc..
Наблюдения:
- при установке МСВС все стабильно (в плане USB). Более того, первые "перезагрузки" системы никогда не приводили к зависанию (если флэшка не вставлялась ни разу);
- если воспользоваться флэшкой и оставить ее в процессорном модуле, то шансы зависания при последующей перезагрузке повышаются на некоторое количество процентов;
- на виртуальной машине никогда вышеописанный баг не проявлялся - загружается без проблем;
- включение/отключение "USB controller 1" в BIOS'е процессорного модуля никак не влияет на работоспособность ОС при загрузке.
Опытным путем выяснил, что "USB controller 2" и "USB controller 3" – это разъемы, расположенные на передней панели процессорного модуля. А куда выходит "USB controller 1" – не понятно (может что-то виртуальное, не?)
Задача: обеспечить стабильность загрузки ОС. Подскажите, пожалуйста, откуда начинать копать. Понимаю, что вопрос получился размытый, без особой конкретики.. готов предоставить необходмые логи.