Sau khi cài đặt EndeavourOS lên Intel NUC, mình cảm thấy cực kỳ hài lòng với hiệu năng của bản Linux này. Máy chạy nhanh và mượt hơn hẳn so với trước đó còn dùng Windows 10.
Thừa thắng xông lên, mình quyết định cài đặt tiếp EndeavourOS lên em Macbook Pro 2015 Retina để hồi sinh sự sống cho em nó. 8GB RAM của nó giờ không còn gánh nổi bản macOS mới nhất – Monterey nên thường xuyên bị đuối, bị đơ đơ liên tục. Thời gian gần đây mình chỉ toàn dùng EndeavourOS trên Intel NUC, không muốn chuyển qua em Macbook này nữa.
Nếu cài đặt thành công thì mình sẽ quay lại sử dụng Macbook Pro và chuyển em Intel NUC sang làm server để phục vụ cho nhu cầu vọc vạch ảo hóa, docker,…
Dưới đây là các bước cài đặt và tối ưu EndeavourOS Linux lên Macbook Pro 2015 Retina. Mọi người có thể tham khảo hướng dẫn chính thức của Arch ở đây: https://wiki.archlinux.org/title/mac.
Mình sẽ cài đặt EndeavourOS chạy song song với macOS (Dual Boot), đề phòng nhiều khi cần sử dụng macOS.
Mục Lục
1. Tạo phân vùng mới cho EndeavourOS
Mở Disk Utility, nằm trong mục /Applications/Utilities
hoặc mở Spotlight (Cmd + Space) để tìm.
Chọn ở đĩa cần tạo phân vùng mới ở cột bên trái. Sau đó bấm chọn nút Partition để thiết lập lại phân vùng.
Bấm vào dấu + để tạo thêm phân vùng mới dùng để cài đặt EndeavourOS. Chỉnh dung lượng phân vùng.
Bấm chọn Add Partition
Đặt tên, chỉnh dung lượng phân vùng, sau đó bấm Apply.
Bấm nút Partition để xác nhận.
Chờ khoảng 15-30 phút để Disk Utility xử lý. Trong thời gian này, bạn sẽ không thể sử dụng được máy.
2. Tạo Boot USB trên macOS
Mình sử dụng Balena Etcher để tạo Boot USB trên macOS theo các bước sau
- Tải ISO của EndearvourOS.
- Cắm ổ đĩa USB vào máy
- Mở Balena Etcher, chọn file ISO vừa tải, chọn tiếp ổ USB và bấm Flash
- Chờ vài phút để tạo Boot USB.
3. Khởi động EndeavourOS Live USB
Khởi động lại macOS. Bấm giữ nút Option (Alt) khi máy vừa mới phát ra âm thanh khởi động để truy cập vào Boot Menu.
Bạn sẽ thấy xuất hiện thêm 1 mục với tên gọi EFI Boot. Dùng phím mũi tên để chọn và bấm Enter để khởi động EndeavourOS từ USB.
4. Cài đặt EndeavourOS
Các bước cài đặt EndeavourOS được thực hiện y hệt như cách cài đặt lên Intel NUC.
Lưu ý: Ở bước Phân vùng, bạn cần chọn vào mục Thay thế phân vùng, sau đó bấm chọn vào phân vùng mới vừa mới tạo ở bước 1 để cài đặt EndeavourOS.
Ngoài ra, bản Live USB này không có sẵn Driver cho card Wifi của Macbook Pro 2015 nên bắt buộc phải chọn cách cài đặt Offline.
Nếu muốn chọn cách cài Online để chọn giao diện desktop khác hay cài bản Community Edition, bắt buộc phải cài đặt thêm driver cho card Wifi. Xem mục 6 ở dưới nhé.
5. Chỉnh sửa EFI Bootloader
EndeavourOS tự động thực hiện các bước thiết lập Bootloader cần thiết khi cài đặt. Mình không cần phải làm theo các hướng dẫn phức tạp khó hiểu trên trang hướng dẫn Mac của Archlinux.
Sau khi cài đặt thành công, Macbook sẽ tự động boot vào EndeavourOS. Nếu muốn truy cập vào macOS, cần phải giữ nút Option (Alt) khi vừa mới khởi động để chọn mục macOS.
Nếu muốn đổi macOS thành hệ điều hành mặc định cho máy khi khởi động, cần cài thêm efibootmgr để chỉnh sửa.
sudo pacman -S efibootmgr
Code language: Nginx (nginx)
Xem danh sách boot
sudo efibootmgr -v
Code language: Nginx (nginx)
Kết quả
BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000,0080
Boot0000* endeavouros-7672 HD(1,GPT,1cd7150e-52e6-4f68-9243-567fb62e33fe,0x28,0x64000)/File(\EFI\endeavou ros-7672\grubx64.efi)
Boot0080* PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)/Sata(0,0,0)/HD(2,GPT,ceb0cd96-2359-4130-aa46-a9b679fab e02,0x64028,0x1635ff80)/VenMedia(be74fcf7-0b7c-49f3-9147-01f4042e6842,7f9ff38805b3c6449782b1e3b212a10a)/File(E251655E-FAB3-4DBD-8306-FADEA1C476AE\System\Library\CoreServices\boot.efi)
BootFFFF* PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)/Sata(0,0,0)/HD(2,GPT,ceb0cd96-2359-4130-aa46-a9b679fab e02,0x64028,0x1635ff80)/VenMedia(be74fcf7-0b7c-49f3-9147-01f4042e6842,7f9ff38805b3c6449782b1e3b212a10a)/File(E251655E-FAB3-4DBD-8306-FADEA1C476AE\System\Library\CoreServices\boot.efi)
Code language: YAML (yaml)
Hiện tại, phần boot của EndeavourOS (mã 0000) đang đứng đầu trong mục BootOrder, do đó hệ thống sẽ tự boot vào EndeavourOS khi khởi động. Để chỉnh macOS thành hệ điều hành mặc định khi khởi động, mình cần chỉnh sửa lại thứ tự BootOrder
sudo efibootmgr -o 0080,0000
Code language: Nginx (nginx)
Đồng thời giảm thời gian chờ từ 5s xuống 2s luôn cho đỡ phải đợi
sudo efibootmgr -t 2
Code language: Nginx (nginx)
6. Cài đặt driver cho Wifi
Macbook Pro 2015 Retina được trang bị card Wifi của Broadcom mã BCM43602, có thể kiểm tra bằng lệnh lspci | grep Network
Kết quả trả về
03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC (rev 01)
Code language: YAML (yaml)
Bản cài đặt của EndeavourOS hay Arch Linux không có sẵn driver cho card mạng này. Trong khi đó Macbook Pro lại không có cổng LAN (phải mua adatper) nên không thể tải driver trực tuyến được. Bắt buộc phải cài đặt thủ công.
Mình sử dụng một máy tính khác để tải driver broadcom-wl-dkms. File tải về sẽ có tên tương tự như này: broadcom-wl-dkms-6.30.223.271-31-x86_64.pkg.tar.zst
Copy file vào USB. Sau đó đem qua Macbook Pro để cài đặt.
Boot vào EndeavourOS, mở Terminal, truy cập vào ổ USB và thực hiện cài đặt
sudo pacman -U broadcom-wl-dkms-6.30.223.271-31-x86_64.pkg.tar.zst
Code language: CSS (css)
Sau khi cài xong, kích hoạt driver bằng lệnh modprobe
sudo modprobe brcmfmac
Code language: Nginx (nginx)
Nếu thực hiện thành công, bấm vào mục Network Manager trên Taskbar, bạn sẽ thấy hiện ra danh sách các mạng Wifi xung quanh.
7. Khắc phục lỗi Wifi khi khởi động máy
Sau khi cài đặt, driver Wifi của Broadcom bị lỗi là nó không tự kích hoạt mỗi khi khởi động máy. Bắt buộc phải chạy lệnh sudo modprobe brcmfmac
trong Terminal sau khi khởi động thì mới dùng được Wifi.
Để khắc phục lỗi này, chỉnh sửa lại file broadcom-wl-dkms.conf
sudo nano /usr/lib/modprobe.d/broadcom-wl-dkms.conf
Code language: Nginx (nginx)
Thêm dấu #
vào trước mục blacklist brcmfmac
, và lưu lại. Nội dung file sau khi sửa sẽ như sau
blacklist b43
blacklist b43legacy
blacklist bcm43xx
blacklist bcma
blacklist brcm80211
#blacklist brcmfmac
blacklist brcmsmac
blacklist ssb
Code language: Nginx (nginx)
Khởi động lại máy. Giờ Wifi đã được tự động kích hoạt.
Nguồn: [SOLVED] Brcmsmac won’t load automatically / Newbie Corner / Arch Linux Forums
Còn dưới đây là 1 cách khác để khắc phục lỗi Wifi. Mình chỉ lưu lại đây khi cần có thể tham khảo về sau, khuyến khích bạn nên dùng cách ở trên cho nhanh gọn.
Khắc phục lỗi này bằng cách tạo 1 Service để tự động lệnh này mỗi khi khởi động máy.
nano modprobe_startup.sh
Code language: CSS (css)
Nhập vào nội dung và lưu lại
modprobe brcmfmac
Code language: Nginx (nginx)
Thiết lập quyền thực thi cho file này
chmod +x modprobe_startup.sh
Code language: CSS (css)
Tạo thêm 1 service mới
sudo nano /lib/systemd/system/modprobe_startup.service
Code language: Nginx (nginx)
Nhập vào nội dung sau và lưu lại
[Unit]
Description=runs ~/Documents/modprobe_startup.sh
[Service]
Type=simple
ExecStart=/bin/bash /home/thuanbui/Documents/modprobe_startup.sh
[Install]
WantedBy=multi-user.target
Code language: JavaScript (javascript)
Kích hoạt
sudo cp /lib/systemd/system/modprobe_startup.service /etc/systemd/system/modprobe_startup.service
sudo chmod 644 /etc/systemd/system/modprobe_startup.service
systemctl enable modprobe_startup.service
Code language: Bash (bash)
8. Thành quả
Macbook Pro 2015 chạy siêu mượt với EndeavourOS, bản KDE Plasma 5.25.2. Sau khi khởi động, máy chỉ dùng khoảng 1.5GB RAM, còn thừa rất nhiều RAM để dành cho các ứng dụng khác.
Hiện tại mình đã chuyển qua dùng i3wm trên EndeavourOS. Mọi thứ còn mượt mà và tiện lợi hơn KDE nữa. Chỉ có điều ban đầu hơi bị ngộp, mất 12 ngày làm quen với các thao tác phím tắt sau đó mới thấy mê.
Nếu có thời gian rãnh mình sẽ chia sẻ nhanh về i3wm trong một bài viết khác.
Chúc bạn cài đặt thành công EndeavourOS hay bất kỳ bản Linux nào khác lên Macbook đời Tống để hồi sinh sự sống cho em nó.
[convertkit form=7087807]
Bác ơi cho e hỏi e có làm theo hướng dẫn thì kích hoạt được wifi rồi. Nhưng Bluetooth nó cứ bị ẩn đi ko hiện lên. Vậy cài bluetooth ntn ạ. Lúc ở chế độ live usb thì e có thấy nhận bluetooth. Nhưng cài xong boot vào OS thì lại k nhận 🙁
Nhiều khả năng là do hệ thống chưa kích hoạt dịch vụ Bluetooth. Bạn mở Terminal chạy thử cái này nhé
sudo systemctl enable bluetooth.service
sudo systemctl start bluetooth.service
Mình mới cài thử trên Macbook 2017!
Đã cài driver Wifi & đã nhận card Wifi nhưng nhập password Wifi toàn báo lỗi không kết nối được.
Thấy tín hiệu Wifi rất yếu (mình đã thử mang máy ra gần Wifi cũng thế).
Không nhìn thấy kết nối Wifi 5Ghz chỉ nhìn thấy Wifi 2.4Ghz mà không kết nối được.
Hiện tại mình đang phải dùng Card mạng bằng USB của Ugreen thì vào mạng bình thường!