- OpenBSD/arm64 nay có thể hoạt động như hệ điều hành khách trong môi trường Apple Hypervisor
- Thông qua một loạt commit, xử lý đồ họa và chức năng mạng đã được sửa và cải thiện, giải quyết lỗi kernel panic và vấn đề màn hình đen của X11
- Giờ đây hệ thống hoạt động đầy đủ trong môi trường Apple Virtualization và có thể dùng trên các máy Apple Silicon Mac mới nhất
Hỗ trợ OpenBSD/arm64 trên Apple Hypervisor
- Qua các commit gần đây, OpenBSD/arm64 giờ có thể chạy như hệ điều hành khách trên Apple Hypervisor
- Các commit liên quan được thực hiện bởi Helg Bredow(
helg@) và Stefan Fritsch(sf@)
Bản sửa viogpu của Helg Bredow
- Trong tệp
sys/dev/pv/viogpu.c, hàm viogpu_wsmmap() đã được chỉnh sửa
- Trước đây hàm trả về địa chỉ ảo của kernel (kva), nhưng giờ trả về địa chỉ vật lý thông qua bus_dmamem_mmap(9)
- Bản sửa này giải quyết vấn đề màn hình đen khi chạy X11 trên QEMU và kernel panic trên Apple Hypervisor
- Đã bổ sung lời gọi bus_dmamap_sync(9) trước khi truyền framebuffer sang bộ nhớ máy chủ
- Nhờ đó, máy chủ đang chạy trên CPU khác có thể nhận biết các cập nhật framebuffer
- Việc rà soát và phản hồi cho bản sửa do kettenis@ thực hiện, phê duyệt (ok) do sf@ cấp
Bản sửa mạng virtio của Stefan Fritsch
- Trong tệp
sys/dev/pv/if_vio.c, đã bổ sung hỗ trợ cho tính năng VIRTIO_NET_F_MTU
- Lấy giá trị hardmtu từ hypervisor và đặt MTU hiện tại giống với giá trị đó
- Dù tiêu chuẩn virtio chưa thật sự rõ ràng, cách làm giống Linux đã được áp dụng
- Dùng ETHER_MAX_HARDMTU_LEN làm giới hạn trên, cho cách xử lý chính xác hơn MAXMCLBYTES trước đây
- Nếu hypervisor yêu cầu MTU lớn hơn mức này, sẽ đàm phán lại mà không dùng tính năng VIRTIO_NET_F_MTU
- Với commit này, OpenBSD hoạt động hoàn chỉnh trong môi trường Apple Virtualization
- Phần input và kiểm thử do helg@ thực hiện, phê duyệt (ok) do jan@ cấp
Hướng dẫn cho người dùng và khuyến nghị thử nghiệm
- Thay đổi này đặc biệt hữu ích với người dùng các mẫu Apple Silicon Mac mới nhất
- Hiện có thể thử nghiệm trên phiên bản snapshot, và nhóm phát triển đang mong nhận được phản hồi từ người dùng
1 bình luận
Ý kiến trên Hacker News
Đặc tả khá mơ hồ nên Linux thì cứ thế hoạt động, nhưng OpenBSD phải thêm bản vá riêng để xử lý giới hạn MTU cứng
Nhờ hiệu năng đơn luồng của chip M4/M5, máy khách OpenBSD là môi trường tối ưu để thử nghiệm cấu hình
pfhoặc chạy máy chủ mail cô lậpGiờ đây có thể dùng viogpu một cách ổn định, nên không còn phải chỉ dùng console nối tiếp khi cài VM nhanh nữa
Xin dành một tràng pháo tay lớn cho Helg và Stefan
Lỗi này khiến OpenBSD bị treo khi khởi động X trên arm64, và vấn đề xuất hiện sau thay đổi framebuffer ở bản 7.3
Cách giải quyết duy nhất trước đây là tắt trình điều khiển kernel, nhưng giờ có lẽ nhiều người sẽ dùng thử OpenBSD mà không gặp vấn đề
OpenBSD từ lâu đã hoạt động với tổ hợp Hypervisor.framework + QEMU
Nếu đây là vấn đề thực sự thì tôi muốn biết đã có cải thiện gì chưa
Ngược lại, để máy khách tin rằng nó có 4GiB RAM nhưng thực tế máy chủ chỉ cấp phát khi được truy cập thì đơn giản hơn nhiều
VM là một thứ hoàn toàn khác với container
Tôi mong nó cũng hỗ trợ các giao thức hypervisor khác (libvirtd, bhyve, v.v.)
Tôi muốn biết nó có được cô lập đến mức máy chủ không thể xâm nhập về mặt toán học hay không. Có lẽ sẽ rất lý tưởng cho quản lý khóa
Nếu có phần cứng phù hợp thì hoàn toàn có thể cô lập đủ tốt
Nội dung liên quan cũng được đề cập trong bài thuyết trình BSDCan 2025
Tình huống hiện giờ là chỉ dùng được RDP/VNC, nên tôi hy vọng với cải tiến lần này framebuffer cũng sẽ hoạt động