.png)
Я работаю над приложением на загрузочном USB-накопителе, которое запускается при запуске (не дает пользователю доступа ни к чему, кроме этой программы). Я подумал, что воспользуюсь существующим дистрибутивом, удалю из него все лишнее и найду способ запустить приложение с самого начала. Я бы хотел сделать его как можно меньше, так как он будет находиться на USB-накопителе, а мне не нужно так уж много. У меня нет опыта работы с каким-либо дистрибутивом Linux. Я также рассматривал Linux From Scratch как возможность, а также другие, но я мог бы использовать несколько более опытных идей относительно того, какой дистрибутив вы могли бы мне порекомендовать. В конечном счете, мне нужен высокоуровневый доступ для ввода с клавиатуры/мыши, доступ к жесткому диску (по крайней мере, чтение [запись может осуществляться исключительно на сам USB-накопитель]) и доступ к Direct Rendering Manager (или эквивалент). Все с лицензией, которая должна разрешать коммерческое использование. Само приложение будет на C(++, если возможно, но это не обязательно).
Дополнительная заслуживающая внимания информация?: Я планирую кодировать все это на Windows, используя Visual Studios в качестве IDE, используя VisualGDB, CMake и VM Virtual Box. Как полный "новичок" в Linux, я решил, что это будет наиболее продуктивным путем, чем нырять в кодирование на Linux.
Дополнительные примечания: пользователи Stackoverflow предложили несколько вариантов, таких как TinyCore Linux, Damn Small Linux и Debian.
tl;dr: Мне нужен дистрибутив, который обеспечивает высокий уровень: ввод с клавиатуры, доступ к жесткому диску, рендеринг, может загружаться с USB и имеет лицензию, открытую для коммерческого использования. Какие мысли?
решение1
Хорошо, с удовольствием проконсультирую по поводу самодельных и стандартных дистрибутивов.
Стандарт ВСЕГДА. Даже не думайте о том, чтобы сделать что-то свое. Для новичка в Linux, даже если он опытный, усилия, необходимые для его поддержки, будут слишком высокими.
Вместо этого возьмите один из признанных barebone-дистрибутивов. Мой любимый — Debian, поскольку он стабильный, маленький и эффективный. Но у него отличная поддержка, и он выдержал испытание временем. Кроме того, если вы знаете Debian, работать с любым из основанных на Debian uber-дистрибутивов, например Ubuntu, не составит труда.
решение2
Я немного опоздал, но мета-распределениеГентубыл бы отличным выбором. Исходя из собственного опыта, я бы назвал его "Linux From Scratch made easy", и у него одна из лучших документаций, которые я когда-либо видел.
Вы начинаете с очень небольшого набора предварительно скомпилированных программ для архитектуры вашего ЦП, которые можно немедленно перекомпилировать, если нужно, у него есть менеджер пакетов, который заботится о зависимостях и позволяет вам настраивать каждый аспект компиляции программ, и вы также можете скомпилировать свое собственное ядро, что невероятно полезно для небольших и/или встроенных систем. Вы также можете компилировать драйверы вне ядра, так что вы можете поддерживать почти все мыслимое оборудование, загружая только необходимые драйверы, сохраняя систему крошечной и быстрой во время выполнения. Gentoo также использует Open RC по умолчанию, который очень прост и невероятно настраиваем.
К сожалению, кривая обучения очень крутая (даже для тех, кто имеет опыт работы с Linux), но документация — одна из лучших, что я когда-либо видел, и вы, по сути, сможете создать свой собственный дистрибутив, не беспокоясь об управлении пакетами и зависимостями.