Chuyên mục
Linux MacOS

Cài đặt EndeavourOS lên Macbook Pro 2015 Retina

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.

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.

Nhớ chọn vào mục Thay thế phần vùng, sau đó bấm chọn vào phân vùng tương ứng ở dưới.

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

Xem danh sách boot

sudo efibootmgr -v

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)

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

Đồng thời giảm thời gian chờ từ 5s xuống 2s luôn cho đỡ phải đợi

sudo efibootmgr -t 2

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)

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

Sau khi cài xong, kích hoạt driver bằng lệnh modprobe

sudo modprobe brcmfmac

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

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

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

Nhập vào nội dung và lưu lại

modprobe brcmfmac

Thiết lập quyền thực thi cho file này

chmod +x modprobe_startup.sh

Tạo thêm 1 service mới

sudo nano /lib/systemd/system/modprobe_startup.service

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

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

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ó.

Nếu bài viết của mình mang đến thông tin, kiến thức hữu ích cho bạn, đừng ngại mời mình ly bia để có thêm động lực chia sẻ nhiều hơn nữa. Cám ơn bạn!

Bởi Thuận Bùi

Runner at Yêu Chạy Bộ. Blogger at Ba Lô & Dép Lào. Web Developer at TB's Blog.
Follow me: Facebook / Instagram

2 trả lời trong “Cài đặt EndeavourOS lên Macbook Pro 2015 Retina”

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

Trả lời