나는 운영 체제에 대해 매우 열정적이며 관련 과정을 따르고 있습니다. 그래서 저는 프로젝트로서 간단한 운영 체제를 구현하는 일을 맡게 되었습니다.
그들은 나에게 다음과 같은 간단한 운영 체제 구현을 제공했습니다.조롱.
주어진 모든 지침을 따르고 NASM 어셈블러를 사용하여 부트 섹터와 기본적인 커널 부분을 컴파일할 수 있습니다. 또한 기계의 추가 정보를 표시하기 위해 내 코드를 추가했습니다.
요약하자면,조롱플로피 디스크 드라이브에서 부팅하도록 설계된 운영 체제입니다. 하지만 플로피 디스크 드라이브를 사용할 수 있는 장치가 없습니다.
JOSH 디자이너는 dd if=boot.bin bs=512 count=1 of=/dev/fd0
boot.bin 파일을 플로피 디스크에 넣기 위해 제공했습니다.
가상 플로피 디스크 부분을 USB 드라이브에 생성할 수 있는지, 그리고 거기서 이 운영 체제를 부팅할 수 있는지 알아야 합니다.
나는 우분투를 사용하기 때문에 누군가 내 USB에 가상 플로피 디스크를 만드는 방법과 boot.bin 및 kernel.bin 파일을 해당 가상 드라이브에 넣는 방법을 설명해 주시면 정말 감사하겠습니다.
내가 이해했듯이 이 boot.bin 파일에는 일종의 512바이트 섹터가 있어야 합니다.
누군가가 이 문제를 도와줄 수 있다면 정말 감사하겠습니다.
답변1
당신은 조사해야PXE 부팅.
플로피 대신 반드시 PXE를 사용해야 한다는 뜻은 아닙니다(결국 그렇게 할 수도 있지만).
그러나 PXE 부팅 기술은 가상 플로피를 사용하여 최종 운영 체제 로딩을 부트스트랩합니다. 그리고 가상 플로피 작업(채우기, 파일로 저장)뿐만 아니라 대상 시스템이 부팅할 수 있도록 가상 플로피를 유선으로 보내는 데 필요한 다양한 관련 도구도 있습니다. 따라서 PXE 세계에서 필요한 것을 찾을 가능성이 매우 높습니다.
나는 과거에 이것을 위해 Tftpd32를 사용했습니다. 링크를 게시하려고 했는데 이제 Chrome에서 해당 사이트에 악성 코드가 있음을 경고하므로 주의하세요. 나는 이제 Windows에도 이런 종류의 기능이 포함되어 있다고 생각합니다(Windows Server의 WDS 아래).
답변2
해결책을 찾았습니다.
조롱단일 태스크 인터럽트 구동 운영 체제입니다. 사이트에서 유효한 부팅 서명이 있는 512바이트 부팅 파일과 실제로 운영 체제인 간단한 커널 파일을 얻습니다.
이제 이 부트 섹터는 FAT12 파일 시스템만 이해하므로 이를 실행하려면 플로피 디스크 드라이브를 사용해야 합니다.
내가 한 일은 가상 플로피 디스크를 만들고 부팅 파일을 해당 디스크의 MBR에 굽고 커널 파일을 여기에 복사한 다음 가상 머신에서 실행하는 것입니다.
내가 찾은대로여기아래 명령을 사용하여 플로피 디스크 이미지를 만들 수 있습니다.
~$ cd /media // open the terminal in your home directory and head to /media
/media$ sudo mkdir floppy // create a directory in media
// go back to home directory again
~$ mkfs.msdos -C myfloppy.img 1440 // create a floppy disk image of size 1.44 MB
~ $ sudo mount -o loop myfloppy.img /media/floppy/ // mount the image with the floppy directory.
// now open another terminal where your boot.bin file and kernel.bin file is and enter the following
/os$ lsblk // get the name of the mounted floppy image, you can identify it from the list with a disk that has 1.5 MB size
/os$ sudo dd if=./boot.bin of=/dev/loop0 // now burn the boot file to the MBR
/os$ sudo cp kernel.bin /media/floppy/ // copy the kernel file to the disk image
그런 다음 가상 머신을 사용하여 이 플로피 디스크 이미지에서 부팅할 수 있습니다.
답변3
플로피 디스크 에뮬레이션 기능이 있는 오래된 USB 스틱이 있습니다. 여기에 플로피 이미지를 쓸 수 있으며 스틱은 USB 플로피 드라이브로 감지됩니다.