BIOS stage 2 subtract overflows
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- rust
- Domínio
- operating-systems
Direção de pesquisa
Comece em bios/stage-2/src/fat.rs, nas linhas 96-99, e reproduza o panic com BiosBoot::create_disk_image e QEMU usando os argumentos documentados de raw-drive. Compare o comportamento entre bootloader 0.10.x e 0.11.2 e, em seguida, verifique se a imagem BIOS gerada inicializa no QEMU sem o overflow de subtração do stage 2.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I'm attempting to migrate my kernel from v0.10.x of bootloader, and after switching to v0.11.x and running in QEMU, I see a panic in the BIOS bootloader's stage 2 code:

The subtract that overflows appears to be on this line: https://github.com/rust-osdev/bootloader/blob/fa87d01a4a166b51412d162c8343bc2565bdbee0/bios/stage-2/src/fat.rs#L96-L99
I'm creating the image using BiosBoot::create_disk_image, and passing it to QEMU with the arguments -drive format=raw,file=/path/to/bios.img as suggested in the documentation on creating a disk image, so I don't think anything about my configuration is particularly out of the ordinary. I can provide additional information if there's anything that would help, though.
Bootloader version: 0.11.2
QEMU version:
$ qemu-system-x86_64 --version
QEMU emulator version 7.2.0
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
- Linguagem predominante
- Rust
- Estrelas
- 1.7k
- Forks
- 241
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de rust-osdev/bootloader
-
help wanted
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 67/100
rust-osdev/bootloader#581 · 2 comentários ·
-
No boot on real hardwareAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
rust-osdev/bootloader#573 · 5 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 20/100
rust-osdev/bootloader#555 · 2 comentários ·
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
rust-osdev/bootloader#534 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 38/100
rust-osdev/bootloader#525 ·
Todas as issues de rust-osdev/bootloader
Issues semelhantes
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 88/100
fritzprix/libr-agent#2165 ·
Mantenedores costumam responder em até 1 dia
-
area:ecosystem bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Chelis-Lang/chelis#3942 ·
Mantenedores costumam responder em até 1 dia
-
needs-triage
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 63/100
Mantenedores costumam responder em até 1 dia
-
review-bot
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia