Как загрузить Linux прямо в приложение на консоли без входа в систему

3268
fixer1234

У меня есть необходимость запустить приложение при загрузке на консоли Linux, и у меня нет необходимости для входа в систему или безопасности. Мне не нужны виртуальные консоли ALT-F1, F2 и т. Д., Но я хотел бы разрешить SSH-доступ через сетевой порт для отладки, загрузки и т. Д.

Приложение представляет собой графическую программу SDL, работающую с fbcon в качестве SDL_VIDEODRIVER, если это имеет значение. В настоящее время я использую Fedora 10 и 12, но любой дистрибутив, который поддерживает SDL с использованием кадрового буфера fbcon, будет приемлемым.

3

2 ответа на вопрос

1
Ignacio Vazquez-Abrams

«Классический» способ сделать это - добавить запись /etc/inittabв программу. С помощью upstart способ сделать это изменился, но на F12 этот файл содержит дополнительные инструкции о том, как узнать, как это сделать.

Thanks, I'm familiar with inittab and upstart. The app starts ok when I create an upstart file and stick it in event.d however I still get system messages on the console and I see the login prompt for a few seconds before the app starts. I thought there would be a cleaner way. I guess the question should be how do I re-direct the console output somewhere else? I can probably find the answer to that. 14 лет назад 0
Также ... клавиатурный ввод не попадает в приложение. 14 лет назад 0
Похоже, приложение не запускается на текущем VT. Попробуйте отключить событие `tty1` и вместо этого поместите ваше приложение в VT1. Ignacio Vazquez-Abrams 14 лет назад 0
Not sure I did this right... I disabled the tty1 by commentating out the exec statement. That stopped the login from appearing, but I still have system messages writing over the application and no keys are getting to the app. Not sure what you meant by "put your app on VT1" 14 лет назад 0
К сожалению, я не знаю, как заставить SDL использовать определенный VT. Ignacio Vazquez-Abrams 14 лет назад 0
Thanks for your comments anyway, I've made a little progress. This has got to be something that is done frequently. 14 лет назад 0
0
ypnos

Вероятно, для вашего приложения лучше всего использовать Arch Linux, который очень легкий и по умолчанию поставляется без какого-либо графического интерфейса. Он по-прежнему использует /etc/inittab, как упоминалось в другом ответе, но вы также можете просто написать что-нибудь, что будет сделано во время загрузки /etc/rc.local. Нерест виртуальных консолей также может быть легко отключен.

Просто упомяните, что у вас есть тег «embedded-linux», и кажется, что вам нужна только минимальная установка (с точки зрения запуска сервисов).

Я посмотрел на ArchLinux и думаю, что он подойдет, так как я все равно не использую большую часть Fedora. Но для разработки гораздо проще иметь дело с Fedora. Вы знаете, поддерживает ли ArchLinux fbcon? 14 лет назад 0
Почему это не должно поддерживать это? Вы можете посмотреть конфигурацию Arch Kernel по умолчанию здесь: http://repos.archlinux.org/wsvn/packages/kernel26/trunk/config, так как вы видите соответствующие настройки для консоли framebuffer. Я запускаю свою консоль в разрешении 1600x1200, но я не использую специальные приложения fb. PS: Если вы хотите, чтобы я мог проверить что-то для вас дома, скажите мне, что нужно запустить типичное приложение SDL, и я попробую. ypnos 14 лет назад 0
I'm always leery when I switch distros about what the new one supports. The CONFIG defaults look promising and the fact that you can run at 1600x1200 sounds like it works. Oh wow... thanks for the offer to try to run a SDL app but it's more work to setup SDL than I would ask someone to go through. You would need to compile SDL and then the app... as far as I know there are no "canned" apps. Just knowing that your running your console with it makes me think it will be fine. Thanks! 14 лет назад 0

Похожие вопросы