remzi-arpacidusseau / ostep-projects

Projects for an undergraduate OS course
3.96k stars 1.15k forks source link

Adding notes of xv6 configuration for M1 Mac #35

Open AkiyamaKunka opened 2 years ago

AkiyamaKunka commented 2 years ago

Hi! Apple have migrated all their Mac to ARM M1 chip for 2 years, and stoped selling their old intel x86-64 product since 2020. In 2022, I noticed lots of my classmates using M1 Mac.

qemu and i386-jos-elf- both have ARM version, while gcc does not. But lldb is a practical substitute.

I tried to run the command make qemu-nox in my terminal

then the actual command generated is:

gcc -fno-pic -static -fno-builtin -fno-strict-aliasing -O2 -Wall -MD -ggdb -m32 -Werror -fno-omit-frame-pointer -fno-stack-protector   -c -o ulib.o ulib.c

Then I noticed the -ggdb option. I checked gcc's documentation, seems they only support gdb as the only one for debugging information.

Developing locally can improve efficiency dramatically to students, so just wondering if finishing xv6 project on M1 Mac is doable. (I'll also try to figure it out) Thanks!

jeffhx commented 2 months ago

this looks to be working: https://stackoverflow.com/a/64795397/3380951