64-разрядная операционная система с полностью включенной, от загрузчика до пользователя.
Lensoros мигрирует от Github, в пользу Foss Codeberg.
Lensoros на Codeberg
Бесплатные, совместимые виртуальные машины:
Если вы просто заинтересованы в том, чтобы выкапывать Лензорос, а не редактировать код, я рекомендую предварительно построенный релиз со страницы релизов. Он будет включать в себя все необходимые ресурсы и инструкции о том, как запустить Lensoros. Имейте в виду, что в нем не будет много функций, чтобы обеспечить максимальную совместимость между системами. Создавая из источника, вы можете создать для своей точной системы и получить все возможные функции.
ПРИМЕЧАНИЕ. На данный момент нет автоматизации, кроме QEMU. Однако есть инструкции о том, как настроить виртуальную машину в Wirtualbox и VMware Workstation Player.
Когда создается система сборки Cmake, она ищет QEMU в вашей системе; Если он найдет, это добавит следующие цели в проект. Признайте их, чтобы запустить Qemu из соответствующего Lensoros Boot Media, после того, как он построил его, если он не обновлен.
Цели:
run_qemu - прямо из каталога, который имитирует Lensoros.imgrunimg_qemu - lensoros.imgruniso_qemu - lensoros.isorunhda_qemu - lensoros.bin (наиболее распространенный)Для целей, которые в настоящее время не поддерживают разделы GPT (то есть ISO, IMG и прямо из каталога), на самом деле нет доступного пространства для пользователей . Я имею в виду, что это возможно, но вам придется изменить вещи, чтобы поместить процессы и библиотеки пользователя в разделе загрузки вместо разделения данных пользователя, а затем также изменять ядро для загрузки их оттуда.
Предполагая, что система сборки Cmake была сгенерирована в bld/ Subercectory, вызок как:
cmake --build bld --target < name of target > New кнопку, чтобы создать новую виртуальную машину (VM).Other и версии Other/Unknown (64-bit) .Do not add a virtual hard disk .Create , чтобы создать новую виртуальную машину.Settings .System в списке слева.ICH9 .Enable EFI (special OSes only) .Storage в списке слева.IDE ) и выберите Remove Controller .Storage Devices и выберите AHCI (SATA) .Optical Drive , либо Hard Disk в зависимости от того, хотите ли вы загрузиться из .iso или .bin соответственно.Add в новом окне селектора виртуального медиа, которое появляется.Optical Drive или Hard Disk , выберите LensorOS.iso или LensorOS.bin .Network в списке слева.Serial Ports в списке слева.Enable Serial Port , выбран COM1 , IRQ - 4 , а I/O Port - 0x3F8 . Home в списке с левой стороны. Нажмите Create a New Virtual Machine справа».I will install the operating system later. вариант.Other и версию Other 64-bit .Customize Hardware... .New CD/DVD слева, затем нажмите Advanced... справа».SATA , затем нажмите OK .Use ISO image file , а затем нажмите Browse... .LensorOS.iso (расположенный в bin/ ).Remove вблизи нижнего центра.Close внизу справа», чтобы закрыть окно конфигурации оборудования.Finish ..vmx в текстовом редакторе.firmware="efi" . Вам придется выбрать UEFI Shell после того, как VMware Workstation Boots в Lensoros (даже если она говорит что -то вроде Unsupported ).
В процессе сборки Lensoros есть несколько шагов, изложенных здесь.
ПРИМЕЧАНИЕ. Ожидается, что все блоки команд оболочки начнутся с рабочего каталога в корне репозитория.
Загрузите и установите следующие зависимости всего проекта, если у вас их еще нет, или если версия, которую вы имеете, не обновлена.
sudo apt install build-essential makeЗатем клонируйте исходный код из репозитория. Если вы хотите отредактировать код и внести свой вклад, обязательно разделите сначала и клонируйте из этого репозитория.
git clone https://codeberg.org/LensPlaysGames/LensorOS.git Это создаст подкаталог под названием LensorOS с содержанием этого хранилища в текущем рабочем каталоге.
Примечание. Этот раздел изменится , и любая информация здесь может стать неверной или устаревшей в любой момент. Это связано с тем, что находится в середине мигрирующих загрузчиков в само изготовленный загрузчик радиусов.
Bootloader - это приложение EFI; В частности, загрузчик ОС, записанный для спецификации UEFI. (В настоящее время v2.9). Эта спецификация описывает использование исполняемых файлов PE32+ с определенной подсистемой. Как вы, возможно, знаете, формат PE32+ также используется Windows в качестве исполняемого формата. Это означает, что компилятор, который генерирует исполняемые файлы Windows, будет генерировать правильный формат исполняемого файла для приложения EFI, учитывая модификацию подсистемы. Тем не менее, двадцать или около того года назад, GNU решил написать пользовательские сценарии линкеров -переезда, которые создают исполняемые файлы PE32+ из исполняемых файлов ELF. Это означает, что используется компилятор, который генерирует исполняемые файлы ELF, тогда этот исполняемый файл преобразуется в исполняемый файл PE32+ с помощью соответствующей подсистемы для приложения EFI. К счастью, все это обрабатывается системой сборки.
Если у вас уже есть система сборки, вы можете использовать следующее для обновления загрузчика (цель существует только в UNIX ):
cmake --build bld --target bootloaderПри запуске свежо вы можете запустить систему сборки Bootloader вручную.
Создайте зависимости для загрузчика:
cd gnu-efi
make Это должно быть сделано только один раз, чтобы генерировать libgnuefi.a .
Отсюда, исполняемый файл bootloader может быть создан с использованием bootloader Make Target:
cd gnu-efi
make bootloaderСмотрите инструмент readme
Как только инструмент будет использован, продолжите здесь.
Я рекомендую взглянуть на toolchain/config.cmake и посмотреть, с чем есть, чтобы позаботиться, но по умолчанию так же хорошо.
Во -первых, генерируйте систему сборки с помощью Cmake. Если вы выберете другую систему сборки, имейте в виду не все системы сборки, уважайте наш запрос использовать пользовательский инструмент. Я рекомендую Ninja, так как это может ускорить время сборки. Еще один совет, чтобы ускорить время сборки; Установите ccache . Сценарии Cmake в этом проекте обнаруживают и используют его автоматически.
cmake -G Ninja -B bldПожалуйста, имейте в виду, что в выводе вышеуказанной команды есть критические сообщения, которые могут детализировать критические цели, не были созданы из -за того, что программы не найдены в системе.
Чтобы создать LIBC, программы пользователей и, наконец, исполняемый файл ядра, вызовите систему сборки, созданную CMAKE:
cmake --build bldCmake создаст определенные цели, если в системе обнаружены надлежащие зависимости.
Чтобы увидеть список всех доступных целей, используйте следующую команду:
cmake --build bld --target helpНаиболее используемые цели объектива:
runhda_qemuimage_gptimage_vdiuserspacekernelВот список текущих целей сборки, связанных с генерацией загрузочных носителей, а также их зависимости, перечисленных под каждым.
image_raw -объедините встроенные исполняемые файлы и ресурсы для создания UEFI-совместимых Boot32 Boot Media.gnu-efi/x86_64/bootloader/main.efi .Kernel (полагается на boot/LensorOS/kernel.elf ).sudo apt install mtoolsimage_gpt -создание GPT-Partitionsed, загружаемого образа жесткого диска от Boot32 Boot Media.image_rawscripts .image_iso -создать загрузочное изображение CD-ROM iso-9660 «El-Torito» от Boot32 Boot32.image_rawsudo apt install xorrisoimage_vdi -преобразовать изображение сырого диска с GPT-partitionsed в формат изображения виртуального диска ( .vdi ).image_gptВ качестве примера, форматированное UEFI-картинное изображение, совместимое с UEFI, может быть сгенерировано с использованием следующей команды:
cmake --build bld --target image_rawТребуется только одна команда, чтобы построить ядро Lensoros, генерировать новый загрузочный носитель, а затем запустить виртуальную машину Qemu в Lensoros.
cmake --build bld --target runhda_qemuРабота над Лененросом началась 9 января 2022 года.
scripts/sysroot.sh ).