부트 로더에서 사용자 공간에 이르기까지 64 비트 올 인 클루 시브 운영 체제.
Lensoros는 Foss Codeberg를 위해 Github에서 멀어지고 있습니다.
Codeberg의 Lensoros
무료, 호환 가상 머신 :
코드를 편집하지 않고 Lensoros 주위를 찌르는 데 관심이 있다면 릴리스 페이지에서 사전 제작 된 릴리스를 권장합니다. 렌즈 소로를 운영하는 방법에 대한 필요한 모든 자원과 지침이 포함됩니다. 시스템 간 호환성을 최대한 활용하기 위해 많은 기능이 없을 것입니다. Source를 구축하면 정확한 시스템을 위해 빌드하고 가능한 모든 기능을 활성화 할 수 있습니다.
참고 : 현재 QEMU를 제외하고는 자동화가 없습니다. 그러나 VirtualBox 및 VMware Workstation Player에서 가상 머신을 설정하는 방법에 대한 지침이 있습니다.
CMAKE 빌드 시스템이 생성되면 시스템에서 QEMU를 찾습니다. 그것을 찾으면 프로젝트에 다음 목표를 추가합니다. 해당 Lensoros Boot Media에서 QEMU를 시작하여 최신 상태가 아닌 경우 제작 한 후 QEMU를 발사하도록 호출하십시오.
목표 :
run_qemu -lensoros.img를 모방하는 디렉토리에서 직접runimg_qemu -lensoros.imgruniso_qemu -lensoros.isorunhda_qemu -lensoros.bin (가장 일반적인)현재 GPT 파티션 (예 : ISO, IMG 및 디렉토리에서 직접)을 지원하지 않는 대상의 경우 실제로 사용 가능한 사용자 공간이 없습니다 . 가능하지만 사용자 공간 데이터 파티션 대신에 사용자 공간 프로세스 및 라이브러리를 부팅 파티션에 넣기 위해 물건을 수정 한 다음 커널을 수정하여 여기에서로드합니다.
CMAKE 빌드 시스템이 bld/ 하위 디렉토리에서 생성되었다고 가정하면 다음과 같이 호출하십시오.
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) 선택하십시오..iso 또는 .bin 에서 부팅할지 여부에 따라 Optical Drive 또는 Hard Disk 선택하십시오.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 의 게스트 OS와 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" . VMware 워크 스테이션 부츠를 Lensoros에 부팅 한 후에는 UEFI Shell 선택해야합니다 ( Unsupported 것과 같은 말을하더라도).
Lensoros 빌드 프로세스에는 여러 단계가 있습니다.
참고 : 주어진 모든 쉘 명령 블록은 저장소의 루트에있는 작업 디렉토리로 시작될 것으로 예상됩니다.
이미없는 경우 다음 프로젝트 전체 의존성을 다운로드하여 설치하십시오.
sudo apt install build-essential make다음으로 저장소에서 소스 코드를 복제하십시오. 코드를 편집하고 기부하려면 먼저 포크하고 해당 저장소에서 클론하십시오.
git clone https://codeberg.org/LensPlaysGames/LensorOS.git 이렇게하면 현재 작업 디렉토리 에이 저장소의 내용이있는 LensorOS 라는 제목의 서브 디렉토리가 생성됩니다.
참고 :이 섹션은 변경 될 예정이며 여기의 모든 정보는 언제라도 부정확하거나 구축되지 않을 수 있습니다. 이는 부트 로더를 자체 제작 RADII BOOTLOWER로 마이그레이션하는 중간에 있기 때문입니다.
부트 로더는 EFI 응용 프로그램입니다. 특히 UEFI 사양을 위해 작성된 OS 로더입니다. (현재 v2.9). 이 사양은 특정 서브 시스템과 함께 PE32+ 실행 파일의 사용을 간략하게 설명합니다. 아시다시피, PE32+ 형식은 Windows에서 실행 가능한 형식으로 사용됩니다. 이는 Windows 실행 파일을 생성하는 컴파일러가 서브 시스템 수정을 고려할 때 EFI 응용 프로그램에 대한 적절한 형식의 실행 파일을 생성한다는 것을 의미합니다. 그러나 20 년 전, GNU는 ELF 실행 파일에서 PE32+ 실행 파일을 생성하는 사용자 정의 재배치 링커 스크립트를 작성하기로 결정했습니다. 이는 ELF 실행 파일을 생성하는 컴파일러가 사용 된 다음 실행 파일이 EFI 응용 프로그램을위한 적절한 서브 시스템을 사용하여 PE32+ 실행 파일로 변환 함을 의미합니다. 운 좋게도이 모든 것은 빌드 시스템에 의해 처리됩니다.
이미 빌드 시스템이있는 경우 다음을 사용하여 부트 로더를 업데이트 할 수 있습니다 (대상은 UNIX에만 존재 함).
cmake --build bld --target bootloaderFresh를 시작할 때 부트 로더 빌드 시스템을 수동으로 실행할 수 있습니다.
부트 로더의 종속성 구축 :
cd gnu-efi
make libgnuefi.a 생성하기 위해 한 번만해야합니다.
여기에서 부트 로더 실행 파일은 bootloader 제작 대상을 사용하여 구축 할 수 있습니다.
cd gnu-efi
make bootloader도구 체인 readme를 참조하십시오
도구 체인을 사용할 수 있으면 여기에서 계속하십시오.
toolchain/config.cmake 살펴보고 바이올린이 무엇인지 보는 것이 좋습니다. 그러나 기본값으로가는 것도 마찬가지입니다.
먼저 CMAKE를 사용하여 빌드 시스템을 생성하십시오. 다른 빌드 시스템을 선택하는 경우 모든 빌드 시스템이 사용자 정의 도구 체인 사용 요청을 존중하지는 않습니다. 빌드 시간 속도를 높일 수 있으므로 닌자를 추천합니다. 빌드 시간 속도를 높이는 또 다른 팁; ccache 설치하십시오. 이 프로젝트의 CMAKE 스크립트는 자동으로 감지하고 사용합니다.
cmake -G Ninja -B bld위의 명령의 출력에 시스템에서 찾을 수없는 프로그램으로 인해 중요한 대상이 생성되지 않았을 수있는 중요한 메시지가 있음을 알려주십시오 .
LIBC, 사용자 공간 프로그램 및 마지막으로 커널 실행 파일을 구축하려면 CMAKE가 생성 한 빌드 시스템을 호출합니다.
cmake --build bldCMAKE는 시스템에서 적절한 종속성이 감지되면 특정 대상을 생성합니다.
사용 가능한 모든 대상의 목록을 보려면 다음 명령을 사용하십시오.
cmake --build bld --target help렌즈의 가장 많이 사용되는 대상 :
runhda_qemuimage_gptimage_vdiuserspacekernel다음은 부팅 미디어 생성과 관련된 현재 빌드 대상 및 각 아래에 나열된 종속성 목록입니다.
image_raw 내장 실행 파일과 리소스를 결합하여 UEFI 호환 FAT32 부트 미디어를 생성합니다.gnu-efi/x86_64/bootloader/main.efi 에서 구축 된 부트 로더 EFI 응용 프로그램.Kernel 빌드 대상 ( boot/LensorOS/kernel.elf 에 의존).sudo apt install mtoolsimage_gpt FAT32 부팅 미디어에서 GPT 파티션, 부팅 가능한 하드 드라이브 이미지를 만듭니다.image_rawscripts 서브 디렉토리에서 자동 빌드 + 설치 스크립트를 사용하십시오.image_iso -FAT32 부팅 미디어에서 ISO-9660 "EL-TORITO"부팅 가능한 CD-ROM 이미지를 만듭니다.image_rawsudo apt install xorrisoimage_vdi gpt- 정당화 된 원시 디스크 이미지를 가상 디스크 이미지 형식 ( .vdi )으로 변환합니다.image_gpt예를 들어, FAT32 형식의 UEFI 호환 부팅 이미지가 다음 명령을 사용하여 생성 될 수 있습니다.
cmake --build bld --target image_rawLensoros 커널을 구축하고 새로운 부트 미디어를 생성 한 다음 QEMU 가상 머신을 Lensoros로 시작하려면 하나의 명령이 필요합니다.
cmake --build bld --target runhda_qemuLensoros에 대한 작업은 2022 년 1 월 9 일에 시작되었습니다.
scripts/sysroot.sh ).