Hướng dẫn dịch và chạy thử Chrome OS


Sau đây là hướng dẫn dành cho các bạn muốn tự dịch thử một bản Chrome OS

1. Chuẩn bị

Để dịch được ChromiumOS, bạn sẽ cần một số thứ sau:

– Hệ điều hành Ubuntu: mong muốn của Google là bạn có thể dịch ChromiumOS trên bất kỳ hệ điều hành Linux mới nào, tuy nhiên tại thời điểm hiện tại thì bạn chỉ có thể dùng Ubuntu phiên bản tối thiểu 8.04, và khuyên dùng là Ubuntu 9.10 (tôi dùng Ubuntu 9.10).

– Đĩa trống: tốt nhất là nên chuẩn bị khoảng 10GB theo yêu cầu, thực tế cho thấy có thể ít hơn một chút cũng được.

– Tài khoản root: bạn sẽ cần tài khoản có quyển root để dùng khi dịch cũng như khi cập nhật các thư viện.

– Các thư viện cần thiết:

  • Python >= 2.4
  • Perl >= 5.x
  • gcc/g++ >= 4.2
  • g++-multilib >=4.2
  • bison >= 2.3
  • flex >= 2.5.34
  • gperf >= 3.0.4
  • pkg-config >= 0.20
  • libnss3-dev >= 3.12
  • libasound2-dev
  • libgconf2-dev
  • libglib2.0-dev
  • libgtk2.0-dev
  • libnspr4-0d >= 4.7.1+1.9-0ubuntu0.8.04.5
  • libnspr4-dev >= 4.7.1+1.9-0ubuntu0.8.04.5
  • msttcorefonts (Microsoft fonts)
  • freetype-dev
  • libcairo2-dev
  • libdbus-1-dev

Tùy chọn:

  • wdiff
  • lighttpd
  • php5-cgi
  • sun-java6-fonts (needed for Lucida)

Bạn đừng lo khi nhìn danh sách trên, vì sẽ có công cụ để giúp bạn kiểm tra và cập nhật một cách tự động, nếu đã tải mã nguồn về, bạn có thể chạy ~/chromium/src/build/install-build-deps.sh (xem phần tải mã nguồn), không thì có thể chạy lệnh sau để cập nhật:

$ sudo apt-get install subversion pkg-config python perl g++ g++-multilib \
bison flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libasound2-dev \
libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev

Và chạy tiếp lệnh sau để cài các thành phần tùy chọn:

$ sudo apt-get install wdiff lighttpd php5-cgi sun-java6-fonts


2. Tải mã nguồn

Bạn tải về mã nguồn từ địa chỉ http://build.chromium.org/buildbot/archives/chromiumos-0.4.22.8.tar.gz, giải nén vào một thư mục tên chomiumos trong /usr/local/.

Còn một cách nữa là dùng Git để lấy mã nguồn trực tiếp từ repository của Google, tuy nhiên chỉ dùng cách này nếu bạn là nhà phát triển.

Bạn cũng có thể tải thêm mã nguồn trình duyệt Chrome để dịch chung với ChromiumOS, tuy nhiên tôi chọn cách tải bản dịch sẵn (http://build.chromium.org/buildbot/archives/chromium-chromiumos-r32516.zip) cho đỡ tốn thời gian.

3. Dịch

Nhớ rằng trong các bước kế tiếp, bạn vẫn đang ở chế độ non-root, nếu bạn thực hiện sudo thì sẽ bị lỗi trong một số script cũng như một số tranh chấp về permission.

– Tạo một soft link, điều này là không bắt buộc nhưng sẽ giúp bạn dễ dàng hơn trong các bước sau: ln -s /usr/local/chromiumos ~/chromiumos, sau bước này bạn sẽ thấy trong ~/chromiumos có các thư mục cần thiết như src và tools.

– Chuyển vào thư mục ~/chromiumos/src/scripts:

cd ~/chromiumos/src/scripts

– Tạo một local repository:

./make_local_repo.sh

Chú ý là quá trình này khá tốn thời gian vì nó sẽ phải tải các file thư viện về máy, trên máy tôi quá trình này chạy mất hơn 1 giờ đồng hồ, sau khi chạy xong bạn sẽ thấy có thêm một thư mục có tên repo với kích thước khoảng 1,7GB.

– Tạo chroot:

./make_chroot.sh

Sau bước này, bạn sẽ chuyển vào môi trường chroot (đầu dấu nhắc xuất hiện (chroot)), bước này cũng mất khoảng 10 phút.

– Nếu muốn tạo một account để đăng nhập (không cần mạng), bạn có thể chạy các lệnh sau:

cd ../platform/pam_google  ./enable_localaccount.sh USERNAME

Khi đó sẽ có một account tên USERNAME trên bản dịch.

– Nếu muốn sau này dùng lệnh sudo, bạn gõ lệnh sau và nhập vào password:

./set_shared_user_password.sh

(Nếu không chạy lệnh này, password sudo sẽ được đặt là một chuỗi ngẫu nhiên)

– Dịch các gói:

./build_platform_packages.sh
 ./build_kernel.sh

Bạn cũng có thể chạy tất cả các bước dịch bằng lệnh ./build_all.sh, lệnh này có thể chạy lâu hơn vì nó phải dịch và chạy thêm các gói test. Bước này cũng mất khoảng 30 phút.

– Tạo ảnh:

./build_image.sh

Nếu thành công, sau bước này bạn sẽ có các file cần thiết để chép vào USB hay tạo file ảnh VMWare.

Một thư mục mới sẽ được tạo trong ~/chromiumos/src/build/images, tên thư mục được tạo ngẫu nhiên theo một cách quái dị nào đó :D:

4. Tạo đĩa ảo:

Lệnh sau được dùng để tạo file ảnh cho VMware:

./image_to_vmware.sh --from=~/chromiumos/src/build/images/SUBDIR \

--to=~/chromiumos/src/build/images/ide.vmdk

Lệnh này sẽ tạo file có tên ide.vmdk chứa hệ điều hành ChromiumOS, trong lệnh trên, bạn thay SUBDIR bằng tên thư mục chứa ảnh hệ điều hành, trong ví dụ này là 999.99932909.165250-a1. Nhớ là chạy lệnh này ngoài chế độ chroot (mở cửa sổ Terminal mới).

Sau đây là kết quả :):

Màn hình đăng nhập, vì ở trên tôi chạy lệnh ./enable_localaccount.sh namdh nên ở đây tôi có thể đăng nhập bằng tài khoản này
Cấu hình trình duyệt Chrome
Menu chính
Có sẵn khả năng hỗ trợ Flash
Menu chính khi không có mạng 😀

Leave a comment