Trình mô phỏng Raspberry Pi trên Windows với QEMU

I. Giới thiệu

Một máy ảo là cách tốt nhất để thử nghiệm một hệ điều hành hoàn chỉnh khác trong hệ điều hành mà chúng ta đang sử dụng, mà không có bất kỳ rủi ro nào hoặc phải chịu sự bất tiện vì phải cài đặt dual-boot làm gì cả. Tuy nhiên, nếu chúng ta muốn thử Raspbian, VirtualBox hay VMware không thể mô phỏng với các bộ xử lý ARM. Thay vào đó, hãy tạo ra một trình mô phỏng Raspberry Pi trên Windows với QEMU.

Một trình mô phỏng Raspberry Pi là một cách tuyệt vời để thử nghiệm môi trường Raspbian mà không phải mua một board Raspberry Pi hoặc Raspberry Pi 2.

Nhưng, ngay cả khi chúng ta đã sở hữu các phần cứng đó, thì với sự trình mô phỏng Raspberry Pi này chúng ta cũng có thể kiểm tra phần mềm mới trong Raspbian mà không gặp phải rủi ro nào, đây là một tiện lợi khác của chương trình này.

III. Nội dung

1. Cài đặt QEMU trên Windows

Đầu tiên, chúng ta cần phiên bản Windows của QEMU (Quick EMUlator). Ta chọn chương trình tương ứng với Windows mà chúng ta đang sử dụng, 32-bit hoặc 64-bit.

image

Ta tải về phiên bản 20.150.424. Phiên bản mới nhất hiện nay 20150503 sẽ không làm việc được.

image

Sau khi tải bộ cài đặt, ta không chạy ứng dụng này ngay. Ta sử dụng một chương trình giải nén, chẳng hạn như 7-zip hoặc WinRAR để giải nén file này.

image

Giả sử ta giải nén các tập tin trên folder QEMU lên desktop.

image

2. Tải về một Nhân Linux và Raspbian mới nhất

Điều tiếp theo chúng ta cần cho trình mô phỏng Raspberry Pi là tải về một Nhân Linux đã được biên dịch cho ARM và phiên bản "mới nhất" của hệ điều hành Raspbian, hiện tại là 2015-02-16. (Thực ra có các phiên bản mới hơn nhưng không thử được với cách làm này).

image

Ta di chuyển Nhân Linux vào thư mục QEMU, và giải nén file có đuôi .zip Raspbian này vào cùng thư mục đó luôn.

image

Bên trong thư mục QEMU, điều quan trọng cần lưu ý tên tập tin disk image phải thật chính xác.

image

3. Thay đổi kích thước Raspbian image

Raspbian image ta tải về sẽ chứa trình mô phỏng Raspberry Pi hoàn chỉnh, và bất kỳ chương trình nào mà ta sẽ cài đặt sau này. Một ý tưởng hay là thay đổi kích thước của image này và và tăng cho nó vài Gigabyte.

Ta tìm kiếm trong Windows cho từ khóa "cmd" và mở command prompt.

image

Trên command prompt, ta hướng đến thư mục QEMU. Nếu chúng ta tạo ra nó trên desktop, ta dùng dòng lệnh:

cd% userprofile%\Desktop\QEMU

image

Lưu ý: nếu bạn đang lưu QEMU ở trong ổ dĩa D hoặc E, thì dùng lệnh ví dụ như "cd:e\" có thể sẽ không chạy. Lúc đó ta dùng lệnh "e:" rồi tìm đến thư mục làm việc tiếp. Nếu gặp bất kỳ khó khăn nào hãy search google để giải quyết.

Để thay đổi kích thước Raspbian image, ta chạy lệnh:

qemu-img.exe resize 2015-02-16-raspbian-wheezy.img +10G

Lưu ý rằng ta cần phải sử dụng chính xác tên tập tin của tập tin image có đuôi ".img". Tham số + 10G sẽ thêm 10 Gigabytes vào file image trên, chừng đó là quá đủ.

Chạy lệnh trên sẽ tạo ra một cảnh báo, nhưng nếu chúng ta có được thông điệp "Image resized", thì mọi thứ đều ổn cả.

image

4. Tạo một tập tin batch khởi động

QEMU không có một giao diện người dùng quyễn rũ như VirtualBox hay VMware. Ta cần phải gõ những dòng lệnh dài lê thê để khởi động nó. Và thay vì thế, chúng ta nên tạo ra một tập tin batch, mọi việc sẽ dễ dàng hơn nhiều.

Ta mở notepad, hoặc bất kỳ trình soạn thảo văn bản đơn giản nào khác ...

image

... và dán vào dòng lệnh sau đây. Tất cả nằm trên một dòng.

qemu-system-arm.exe -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda 2015-02-16-raspbian-wheezy.img

Bạn có thể thấy rằng cú pháp "-m 256" là một phần của lệnh trên sẽ phân bổ 256 MB RAM cho trình mô phỏng Raspberry Pi. Thật không may, ta không thể phân bổ nhiều RAM hơn được nữa, nếu vượt quá 256MB này trình mô phỏng sẽ không thể khởi động. Đây là một lỗi của QEMU khi làm trình mô phỏng ARM.

Ta phải chắc chắn rằng phần cuối của lệnh trên phải trùng với tên của file Raspbian disk image.

image

Sau đó, ta lưu các tập tin trên lại với đuôi .bat. Phải chắc chắn rằng ta lưu nó bên trong thư mục QEMU, với đuôi .bat và đã chọn option "All files".

image

Nếu thực hiện đúng theo hướng dẫn này, ta sẽ có một file batch Windows trong folder QEMU.

image

Ta nhấn đúp vào tập tin này để khởi động trình mô phỏng Raspberry Pi.

5. Cấu hình trình mô phỏng Raspberry Pi cho QEMU

Trình giả lập sẽ tải một command prompt như sau.

image

Trong này, ta gõ:

nano /etc/ld.so.preload

Đây là một command prompt Linux, và như vậy, nó phân biệt giữa chữ thường và chữ hoa. Nano hoặc NANO hoặc Nano, câu lệnh sẽ không chạy được.

image

Lệnh trên sẽ mở tập tin ld.so.preload trong trình soạn thảo văn bản nano. Chúng ta chỉ cần thêm một hashtag "#" ở đầu dòng duy nhất.

image

Sau đó chúng ta thoát khỏi nano. ta nhấn Ctrl + X ...

image

... và sau đó nhấn y với "Yes", để lưu các thay đổi, và Enter 2 lần, để ghi đè lên tập tin.

image

Nếu thực hiện chính xác các bước trên, chúng ta sẽ có được một thông điệp "Wrote 1 line".

Tiếp theo, chúng ta tạo ra một tập tin mới, với lệnh:

/etc/udev/rules.d/90-qemu.rules nano

image

Bên trong, ta gõ chính xác ba dòng lệnh sau đây:

KERNEL == "sda", liên kết tượng trưng + = "mmcblk0" KERNEL == "sda?", Liên kết tượng trưng + = "mmcblk0p% n" KERNEL == "sda2", liên kết tượng trưng + = "root"

image

Ta thoát ra với tổ hợp phím Ctrl + X và đảm bảo là đã lưu tập tin này lại (enter 2 lần để nhận được thông điệp "Wrote 3 lines").

image

Sau đó ta thoát khỏi trình mô phỏng Raspberry Pi với lệnh "exit".

6. Chạy lần đầu trình mô phỏng Raspberry Pi

Bây giờ, ta đã gần như sẵn sàng để chạy mô phỏng Raspberry Pi cho Windows.

Đầu tiên, chúng ta cần phải chỉnh sửa lại tập tin batch mà ta đã tạo ra trước đó ...

image

Bên trong, điều duy nhất chúng ta thay đổi là xóa các tùy chọn init = / bin / bash gần cuối của lệnh, bao gồm cả dấu cách ở phía trước. Hãy cẩn thận để không xóa dấu ngoặc kép.

image

Sau đó, ta lưu các tập tin batch này, và nhấp đúp để mở nó.

Sẽ mất một thời gian để tải, và nó sẽ tạo ra một số lỗi. Điều này là điều được mong đợi.

image

Chúng ta phải tạo lại tập tin mà chúng ta đã tạo trước đó, với

/etc/udev/rules.d/90-qemu.rules nano

Một lần nữa, chúng ta gõ:

KERNEL=="sda", SYMLINK+="mmcblk0"
KERNEL=="sda?", SYMLINK+="mmcblk0p%n"
KERNEL=="sda2", SYMLINK+="root"

Lư ý, chương trình QEMU nếu có xung đột với Unikey thì nên tắt Unikey khi nhập lệnh.

Tuy nhiên lần này, ta viết có dấu ngoặc kép "với tổ hợp phím SHIFT + 2, vì trình mô phỏng Raspberry Pi hiện đang có bàn phím kiểu Vương quốc Anh.

image

Sau đó, chúng ta thoát ra một lần nữa.

image

Lần này, lệnh "exit" sẽ dẫn đến việc khởi động lại, sẽ đưa ta đến công cụ cấu hình phần mềm Raspberry Pi. Nhấn phím "Tab" để chọn "Finish".

image

Tiếp sau pi@raspberrypi, ta gõ lệnh:

sudo reboot

image

Lệnh này sẽ đóng trình mô phỏng. Ta bắt đầu lại một lần nữa, nhấp đôi chuột vào file batch "Start".

Lần này, sau tiến trình khởi động, hệ thống sẽ yêu cầu ta đăng nhập.

image

Các thông tin mặc định là:

  • username: pi
  • password: raspberry

Hãy nhớ rằng, khi ta gõ mật khẩu của ta trên Linux, không có gì sẽ hiển thị theo mặc định, không dấu sao mà cũng chẳng dấu chấm chấm hoặc bất cứ thứ gì khác.

image

Khi vào màn hình làm việc, ta gõ hai lệnh liên tiếp:

sudo ln -snf mmcblk0p2 /dev/root sudo raspi-config

Điều này sẽ giúp chúng ta trở lại công cụ cấu hình. Ta lựa chọn tùy chọn đầu tiên, "Expand Filesystem" ...

image

Công cụ cấu hình sẽ tạm thời đóng lại, và trong một vài giây, nó sẽ xếp hàng lên phân vùng /root để mở rộng và gộp vào tất cả 10GB không gian trong lần khởi động tiếp theo.

image

Một lần nữa, chúng ta nhấn phím "tab" để chọn "Finish" ...

image

... và lần này, ta chọn để khởi động lại.

image

Trình mô phỏng Raspberry Pi sẽ shutdown một lần nữa. Ta khởi động lại nó với file batch "Start".

Lúc này, việc khởi động sẽ lâu hơn. Nó sẽ có vẻ bị mắc kẹt lại tại thông báo dưới đây.

image

Đây là các lệnh thay đổi kích cỡ, và nó sẽ tốn một khoảng thời gian. Để mặc đó, và trong vài phút ta lại tiếp tục quá trình khởi động.

image

Sau khi ta đăng nhập như với tài khoản người dùng "pi", ta thực hiện cập nhật đầy đủ với:

sudo apt-get update && sudo apt-get dist-upgrade -y

image

Cũng sẽ mất một khoảng thời gian, để vừa tải về và vừa cài đặt các bản cập nhật. Khi cập nhật được thực hiện, chúng ta gõ:

sudo raspi-config

Cấu hình quan trọng nhất là option "Enable Boot to Desktop / Scratch".

image

Tại đây, chúng ta chọn "Desktop Log in as user 'pi' at the graphical desktop".

image

Ta cũng có thể cấu hình những thứ khác, chẳng hạn như chọn ngôn ngữ.

image

Một khi thực hiện xong, ta tab tới "Finish".

image

Nhấn một lần nữa, để khởi động lại.

image

Lần khởi động tiếp theo, hệ thống sẽ tự động khởi động giao diện người dùng đồ họa.

image

Đã xong. Trình mô phỏng Raspberry Pi cho Windows đã sẵn sàng làm việc.

Tác giả Angelos Kyritsis - người dịch: Đinh Xuân Duyệt

lên
4 thành viên đã đánh giá bài viết này hữu ích.
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results