• Thứ Bảy, 01/03/2008 09:34 (GMT+7)

    Linux trên Pda

    Thử nghiệm cài đặt Linux trên thiết bị trợ giúp cá nhân số Palm Tungsten E2 chạy HĐH Palm và Dell Axim x50v chạy HĐH Windows Mobile.

    Linux trên máy tính cá nhân không còn là điều mới mẻ nhưng Linux trên các thiết bị trợ giúp cá nhân số (PDA) thì vẫn còn khá xa lạ. Hầu hết các PDA thông dụng chạy hệ điều hành (HĐH) Palm hoặc Windows Mobile. Bài viết đề cập tới việc thử nghiệm cài đặt Linux lên Palm Tungsten E2 (Palm) và Dell Axim x50v (Windows Mobile).

    LƯU Ý: Việc cài đặt Linux trên các PDA (Personal Digital Assistant) chạy HĐH Palm và Windows Mobile giới thiệu ở đây chỉ mang tính chất thử nghiệm. Người viết đặc biệt lưu ý: trước khi tiến hành các bước cài đặt, bạn phải sao lưu toàn bộ dữ liệu và hệ thống ra một phương tiện lưu trữ an toàn. Người viết không chịu bất cứ trách nhiệm nào trước những hỏng hóc hay mất mát dữ liệu do quá trình cài đặt gây ra.

    1. TẠI SAO LẠI CÀI LINUX LÊN PDA?

    Quả thật, câu hỏi trên thật khó trả lời đối với những người dùng thông thường. Bạn có một máy Palmtop chạy trơn tru. Bạn có một PocketPC chạy HĐH Windows Mobile 5 (hoặc 6) đẹp lung linh và đáp ứng được hầu hết các nhu cầu trợ giúp cá nhân số của bạn. Nói tóm lại, bạn thỏa mãn với những gì chiếc PDA của mình mang lại. Vậy tại sao phải thay đổi? Tại sao phải mạo hiểm cài đặt Linux lên chiếc PDA yêu dấu của mình?

    Tuy nhiên, nếu bạn là người ưa thích thử nghiệm, tìm tòi cái mới, cái lạ và đặc biệt là thích khám phá thế giới mã nguồn mở của Linux trên các thiết bị cầm tay thì bài viết này có thể giúp bạn được phần nào. Bên cạnh đó, HĐH Palm và Windows Mobile trên hầu hết các máy Palmtop và PocketPC đều là các HĐH đóng, tức là bạn sẽ không thể can thiệp gì vào hệ thống cho dù bạn có ý tưởng cải tiến hoặc nhận thấy điều gì bất tiện. Với Linux, bạn gần như không gặp cản trở nào khi xâm nhập vào các thành phần cấp thấp của hệ thống, thậm chí biên tập lại nhân (kernel) của Linux và biến chiếc Palmtop hay PocketPC chạy một HĐH “mang tên mình”. Nói cách khác, bạn được tự do sáng tạo trên chiếc PDA của mình.

    Một lý do khác cho việc cài đặt Linux trên PDA là số lượng và khả năng của các phần mềm. Dĩ nhiên, phần mềm cho máy Palm và PocketPC có rất nhiều nhưng phần mềm cho Linux, có thể nói, còn nhiều hơn. Bên cạnh đó, hầu hết phần mềm của Linux có mã nguồn mở và miễn phí. Với kiến thức lập trình của mình, bạn hoàn toàn có thể chỉnh sửa, phát triển hay xây dựng những phần mềm Linux mới và mạnh mẽ để chạy trên PDA.

    Sức mạnh của phần mềm còn thể hiện ở chỗ Linux trên PDA cũng cho phép bạn tiếp cận được hầu hết các khả năng mà Linux trên PC có thể cung cấp. Tức là những tác vụ như lướt web, chat, chơi multimedia hay khai thác bộ công cụ văn phòng của Linux đều có thể hoạt động được trên nền tảng mới này.

    2. MÔI TRƯỜNG OPIE VÀ GPE

    Theo trang web http://www.handhelds.org, hiện nay cộng đồng mã nguồn mở đang xây dựng dự án Familiar. Tham vọng của dự án này là phát triển các HĐH (môi trường) Linux cho thiết bị cầm tay. Cụ thể, dự án Familiar đang tập trung hoàn thiện môi trường OPIE và GPE cho PDA chạy Palm hoặc Windows Mobile.

    OPIE (Open Palmtop Integrated Environment – Môi trường tích hợp thiết bị cầm tay nguồn mở) và GPE (GNU Palmtop Environment – Môi trường thiết bị cầm tay nguồn mở) vừa là các giao diện người dùng đồ họa mã mở vừa là các bộ phần mềm ứng dụng Linux cho PDA cũng như nhiều thiết bị di động khác.

    Như vậy, OPIE và GPE không phải là các phần mềm đơn lẻ mà là tập hợp các ứng dụng và trình điều khiển cho phép người dùng thực hiện được các tác vụ thông thường như quản lý thông tin cá nhân (PIM), kết nối mạng và các thiết bị không dây, chơi các file đa phương tiện, tạo các loại văn bản dựa trên bộ ứng dụng văn phòng cũng như cung cấp nhiều tiện ích khác.

    Trên thực tế, OPIE được phát triển cho các máy PDA HP IPAQs và SHARP Zaurus nhưng có thể cấu hình lại để chạy tốt trên nhiều thiết bị cầm tay của các hãng khác. GPE, bên cạnh những thành phần tương tự OPIE, còn được trang bị thêm các công cụ cũng như thư viện hỗ trợ lập trình ứng dụng trên cả PDA và máy tính để bàn. GPE hoạt động trên nền ngôn ngữ C và có thể tương thích với các chuẩn thông dụng như SQL, XML và DBVS.

    Việc lựa chọn OPIE hay GPE cho PDA cũng khó như việc lựa chọn KDE hay GNOME cho máy tính để bàn. Quyền quyết định cài đặt môi trường nào thuộc về người dùng, nhưng theo cảm nhận riêng của chúng tôi, dường như OPIE sáng sủa và chạy nhanh hơn so với GPE. Bạn có thể tìm hiểu thêm về OPIE tại http://opie.handhelds.org và GPE tại http://gpe.handhelds.org.

    3. LINUX TRÊN PALM VÀ DELL

    Palm Tungsten E2 (gọi tắt là E2) là một trong những sản phẩm phổ thông thuộc dòng máy cấp thấp do hãng Palm sản xuất. E2 chạy HĐH Palm OS Garnet 5.4 với bộ vi xử lý Intel 200MHz Xscale. Dell Axim x50v (gọi tắt là x50v) là sản phẩm của hãng Dell. x50v chạy HĐH Windows Mobile (2003, 5 hoặc 6) với bộ vi xử lý Intel 624MHz Xscale.

    Bạn cần lưu ý, Linux, Palm hay Windows Mobile là những HĐH độc lập (định nghĩa đơn giản). Tuy nhiên, chúng ta không thể cài đặt Linux trên PDA và khởi động kép (dual boot) cùng với Palm hoặc Windows Mobile như trong trường hợp Linux được cài trên PC cùng các HĐH khác. Vì ROM của PDA không cho phép ghi (unwritabe) nên để chạy được Linux trên các Palm hay PocketPC, chúng ta phải khởi động Linux từ trong HĐH Palm hoặc Windows Mobile của thiết bị. Như vậy, việc khởi động Linux cũng giống như việc khởi động bất kỳ ứng dụng nào của PDA. Tuy nhiên, bạn cần hết sức cẩn thận với sự đơn giản này: một khi nhân Linux đã được khởi động, PDA của bạn sẽ trở về trạng thái như vừa được “soft-reset”. Trong một số trường hợp xấu, mọi dữ liệu người dùng có thể sẽ bị xóa, và lần khởi động Palm hay Windows Mobile sau, PDA của bạn sẽ khởi động từ trạng thái như vừa được xuất xưởng (tương tự như vừa được “hard-reset”). Chính vì lý do này mà bạn cần phải sao lưu dữ liệu và hệ thống trước khi tiến hành bất cứ thao tác cài đặt nào.

    Để quay trở lại với HĐH Palm hoặc Windows Mobile từ Linux, bạn phải dùng bút nhấn vào nút “reset” ở sau thân máy. Thông thường, HĐH nguyên thủy trên máy sẽ khởi động bình thường (dữ liệu đã được ghi trên bộ nhớ của máy và thẻ CF – trường hợp của x50v – không bị mất). Nếu máy không thể khởi động theo cách này, bạn phải thực hiện thao tác “hard-reset” cho máy (nhấn giữ nút Power đồng thời với thao tác reset).

    3.1. Linux (OPIE) trên Tungsten E2

    3.1.1 Các bước chuẩn bị

    (1) Máy tính cài HĐH Linux

    Bạn cần một PC chạy HĐH Linux để thực hiện các tác vụ trong môi trường Linux (không thực hiện được trong môi trường Windows). Nếu PC của bạn đã có Linux rồi thì bạn không cần quan tâm tới những gợi ý dưới đây. Nếu chưa, tất nhiên bạn phải cài đặt một HĐH Linux vào máy (chỉ Linux hoặc song song với Windows). Xin đơn cử openSUSE (10.3), Mandriva (2008), Fedora (8), Ubuntu (7.04)... Chúng tôi thực hiện các minh họa dưới đây trên cơ sở HĐH Linux openSuSE 10.3. Bạn có thể tham khảo thêm thông tin về Linux và cách cài đặt Linux (tiếng Việt) tại http://www.vnlinux.org/sitemoi/.

    Nếu không thích cài Linux vào ổ cứng (đôi khi khá khó khăn và mạo hiểm với người mới làm quen với Linux), các bạn có thể dùng một phiên bản Linux chạy trên CD hoặc DVD (Linux Live). Hiện nay, hầu hết các bản Linux đều có phiên bản chạy trên CD hoặc DVD. Bạn có thể tải về file ảnh đĩa (image) dưới dạng ISO và ghi ra đĩa, hoặc ra cửa hàng mua một đĩa Linux Live. Chúng tôi nhận thấy bản Linux Slax Live CD (http://www.slax.org) đáp ứng rất tốt các yêu cầu sử dụng. Cụ thể Slax có hướng dẫn rõ ràng, có đầy đủ các ứng dụng và tiện ích cơ bản, dễ sử dụng và đặc biệt dung lượng chỉ khoảng 200MB.

    (2) Thẻ nhớ SD và đầu đọc thẻ nhớ

    Về lý thuyết, việc cài đặt và chạy Linux từ bộ nhớ của các máy PDA hoàn toàn có thể thực hiện được. Tuy nhiên trên thực tế, hướng phát triển này hoàn toàn không được cộng đồng phát triển OPIE và GPE theo đuổi. Lý do là dung lượng bộ nhớ của PDA thường rất hạn chế, do đó sẽ không thực tế nếu cài Linux lên phần bộ nhớ này. Ngoài ra, việc cài đặt và chạy Linux từ thẻ nhớ dễ dàng và an toàn hơn nhiều. Hơn thế nữa, việc tạo hệ thống file của Linux cũng như gắn kết thiết bị chỉ được thực hiện từ PC thông qua thẻ SD (Secure Digital) và đầu đọc thẻ nhớ SD.

    Thẻ nhớ cần được chia làm hai phân vùng (PV). PV thứ nhất là FAT và PV thứ hai là Ext2 (hệ thống file của Linux). Việc tạo phân vùng mới trên thẻ SD khá đơn giản nhưng có lẽ nhiều bạn còn khá xa lạ với khái niệm “phân vùng thẻ nhớ” nên có thể gặp nhiều khó khăn ở khâu này. Các bước thực hiện sẽ được chúng tôi trình bày cặn kẽ dưới đây.

    Về đầu đọc thẻ nhớ, bạn có thể sử dụng bất cứ đầu đọc thẻ nhớ nào có hỗ trợ thẻ SD và giao tiếp với PC thông qua cổng USB. Một số PC (laptop) có tích hợp sẵn đầu đọc thẻ nhớ nhưng lại chỉ làm việc tốt trong Windows (hãng sản xuất chỉ viết trình điều khiển cho thiết bị trên Windows). Trong khi đó, cả Windows và Linux đều hỗ trợ rất tốt các thiết bị giao tiếp qua cổng USB. Thông qua đầu đọc, thẻ SD có thể được phân vùng như yêu cầu và dữ liệu có thể được chuyển từ PC sang các phân vùng trên thẻ SD.

    (3) Tạo PV FAT và Ext2 trên thẻ SD

    Bạn có thể tạo các phân vùng trên thẻ SD trong môi trường Windows bằng một phần mềm phân hoạch ổ cứng nào đó. Theo kinh nghiệm, chúng tôi thấy Acronis Disk Director Suite thực hiện rất tốt nhiệm vụ này. Có điều, phần mềm này đòi hỏi phải có bản quyền mới cho phép hoàn thành thao tác phân vùng.

    Các hướng dẫn và minh họa dưới đây được thực hiện trên HĐH openSUSE 10.3 với thẻ nhớ SD 1GB.

    * Môi trường đồ họa

    Nếu không quen với môi trường dòng lệnh, bạn có thể thực hiện thao tác phân vùng thẻ SD trong môi trường đồ họa của SUSE. Trước tiên, bạn cắm thẻ nhớ vào đầu đọc và đầu đọc vào cổng USB của PC. Tiếp theo, bạn vào Menu hệ thống -> Applications -> System -> Configuration -> Administrator Settings -> nhập mật khẩu gốc (mật khẩu của người quản trị hệ thống). Khi cửa sổ YaST Control Cetnre hiện ra, bạn chọn System -> Partitioner.

    Thẻ SD có thể được Linux định danh là sda, sdb hoặc sdc tùy theo hệ thống. Trong trường hợp của chúng tôi, thẻ SD được SUSE gọi là sdb và nằm cuối danh sách liệt kê các PV. Để tiến hành tạo các PV trên thẻ SD bạn lần lượt làm như sau:

    (+) Tạo PV FAT

    Chọn /dev/sdb1

    Nhấn nút lệnh Delete để xóa PV cũ trên SD. Nhấn Apply hai lần để thực thi lệnh xóa PV.

    Nhấn nút lệnh Create -> chọn /dev/sdb -> nhấn OK -> chọn Primary Partition -> nhấn OK

    Chọn Format -> FAT khi cửa sổ Create a Primary Partition hiện ra.

    PV FAT phải là PV đầu tiên trên SD, do đó tham số Start Cylinder phải bằng 0, và nếu bạn muốn tạo PV FAT có dung lượng khoảng 100MB thì tham số End Cylinder nên là 12.

    Để hoàn tất việc tạo PV FAT, bạn nhấn OK -> Apply.

    (+) Tạo PV Ext2 (ít nhất 100MB)

    Nhấn nút lệnh Create và làm tương tự như trên.

    Chọn Format -> Ext2 từ cửa sổ Create a Primary Partition. Tiếp theo nhấn OK -> Apply hai lần để hoàn tất việc tạo PV Ext2 trên PV thứ hai của thẻ SD.

    Nếu không có ý định tạo PV thứ ba trên thẻ SD thì bạn không phải quan tâm nhiều về tham số Start/End Cylinder ở bước này. Trình phân hoạch của SUSE tự động dành toàn bộ phần trống trên SD để tạo PV Ext2.

    Lưu ý, vì hệ thống tự động tạo gắn kết cho PV vừa tạo nên không thể thực hiện việc định dạng PV đó được (hệ thống báo lỗi). Bạn có thể lặp lại các bước xóa và tạo PV như trên một vài lần, nếu vẫn bị lỗi thì bạn nên chuyển sang PV từ dòng lệnh.

    * Dòng lệnh

    Nếu Linux của bạn không có trình phân hoạch đồ họa, hoặc bạn gặp khó khăn khi phân hoạch trong môi trường đồ họa, hoặc nếu bạn ưa thích thực hiện việc tạo phân vùng từ dòng lệnh, bạn có thể sử dụng một trong các lệnh như parted, fdisk, gpart, kpartx... để tạo các PV trên thẻ SD. Ở đây, chúng tôi tạo PV bằng lệnh parted. Lưu ý: tất cả các lệnh đều phải thực hiện với quyền của người quản trị hệ thống (gõ lệnh su, hoặc sudo trong Ubuntu, từ dấu nhắc và nhập mật khẩu gốc).

    Môi trường dòng lệnh tương đối khó sử dụng, đặc biệt đối với những bạn chỉ quen với môi trường đồ họa của Windows. Để đơn giản một số tác vụ, bạn có thể chạy trình mc (Midnight Commander – tương tự NC trong DOS).

    Trước khi tạo PV, bạn nên xem thông tin về toàn bộ các PV được gắn kết trên hệ thống. Để thực hiện việc này, bạn gõ fdisk -l từ dấu nhắc trong cửa sổ của Terminal. Trong trường hợp của chúng tôi, Linux liệt kê PV trên SD ở cuối danh sách với tên sdb1. Một điều lưu ý nữa là bạn cần hủy gắn kết cho thẻ SD (nếu PV trên SD đã được hệ thống tự động tạo gắn kết) trước khi tiến hành tạo PV mới. Từ dấu nhắc, bạn gõ lệnh sau: umount /dev/sdb1 (thay sdb bằng tên tương ứng trên hệ thống của bạn).

    Để tạo các PV FAT và Ext2 trên thẻ SD, bạn lần lượt gõ các lệnh sau từ dấu nhắc trong cửa sổ Terminal:

    parted -> select /dev/sdb -> rm 1 (dấu -> là Enter)

    Lúc này, toàn bộ PV trên thẻ SD đã bị xóa. Để tạo PV FAT có dung lượng khoảng 100MB trên PV thứ nhất của thẻ SD, bạn nhập lệnh sau:

    mkpartfs primary fat16 0 100 (lưu ý dấu cách giữa các tham số)

    Để tạo PV Ext2 trên toàn bộ phần trống còn lại của thẻ SD, bạn nhập lệnh sau:

    mkpartfs primary ext2 101 1016

    Hình 7: Thao tác phân vùng SD

    (4) Tải về các file cần thiết

    Để cài đặt Linux trên E2, bạn cần các file sau: garux-20060401.prc, zImage.20060421, initrd.gz và opie-image-v0.8.4-rc2-h6300.rootfs.tar.bz2. Bạn có thể tải về các file trên từ http://nerdfeliz.com/palmte2/ (lưu ý chọn đúng tên file) hoặc từ http://cid-5d584c9888aead9c.skydrive.live.com/home.aspx (phần Palm Tungsten E2). Sau khi tải về tất cả các file cần thiết, bạn nên lưu chúng vào cùng một thư mục. Trong trường hợp của mình, chúng tôi lưu các file trên vào thư mục Tungsten và đặt trên Desktop (/home/vietkhoa/Desktop/Tungsten).

    Garux là một file “mồi khởi động” Linux trong HĐH Palm (tham khảo thêm về garux tại http://garux.sourceforge.net). zImage là một file thực thi chứa ảnh khởi động của Linux. zImage sẽ khởi tạo hệ thống file gốc của Linux trên PV thứ 2 của thẻ SD (Ext2). initrd là một dạng ramdisk khởi chạy trước các module hệ thống và trước khi hệ thống file được gắn kết. OPIE là file ảnh đĩa Linux (đã được trình bày ở mục 2).

    Tới đây, khâu chuẩn bị cho việc cài đặt Linux lên E2 đã hoàn tất. Bước tiếp theo là cài đặt Linux (thực chất là bung hoặc sao chép các file cần thiết tới các PV trên thẻ SD).

    3.1.2 Cài đặt Linux lên E2

    Thông thường, sau quá trình PV, Linux sẽ tạo gắn kết cho các PV trên thẻ SD tại /media/disk (cho PV FAT), và /media/disk-1 (cho PV Ext2). Bạn có thể sao chép file hoặc tạo thư mục tại các địa chỉ này. Tuy nhiên, các địa chỉ này có thể thay đổi nếu bạn tháo lắp thẻ nhớ hoặc đầu đọc thẻ nhớ khỏi hệ thống. Hơn thế nữa, việc sao chép và giải nén file tới các địa chỉ này thường vấp phải vấn đề “quyền quản trị hệ thống”. Bên cạnh đó, ở một số hệ thống, Linux không tự động tạo gắn kết cho SD. Do vậy, theo chúng tôi, cách tối ưu là bạn chủ động tạo gắn kết cho các PV của thẻ SD tới một địa chỉ cố định và rõ ràng. Sau đó, thực hiện việc cài đặt Linux từ dòng lệnh với quyền quản trị hệ thống.

    Như đã trình bày bên trên, các file cần thiết cho việc cài đặt Linux lên E2 được lưu tại thư mục Tungsten trên Desktop của người dùng.

    * Sao chép các file cần thiết tới PV FAT của SD

    Hình 8: Sao chép file tới PV FAT

    Tạo gắn kết cho PV FAT bằng lệnh: mount /dev/sdb1 /mnt

    Tạo thư mục Palm/Launcher: mkdir –p /mnt/Palm/Launcher

    Nếu lệnh tạo thư mục mkdir –p /mnt/Palm/Launcher không làm việc, bạn phải thực hiện thao tác tạo thư mục lần lượt, tức là chuyển tới /mnt để tạo thư mục Palm, rồi chuyển đến Palm để tạo Launcher. Nếu thấy phức tạp, bạn có thể di chuyển đến /mnt trong môi trường đồ họa và tạo các thư mục theo cách tương tự như trên Windows.

    Sao chép và đổi tên file:

    cp /home/vietkhoa/Desktop/Tungsten/garux-20060401.prc /mnt/Palm/Launcher/garux.prc

    cp /home/vietkhoa/Desktop/Tungsten/zImage.20060421 /mnt/zImage

    cp /home/vietkhoa/Desktop/Tungsten/initrd.gz /mnt/initrd.gz

    Hủy gắn kết cho PV FAT: umount /dev/sdb1 /mnt

    * Giải nén OPIE vào PV Ext2 của SD

    Hình 9: Giải nén OPIE tới PV Ext2

    Chuyển tới thư mục chứa OPIE: cd /home/vietkhoa/Desktop/Tungsten

    Tạo gắn kết cho PV Ext2 tới /mnt: mount -t ext2 /dev/sdb2 /mnt

    Giải nén OPIE tới Ext2: tar -xjf opie-image-v0.8.4-rc2-h6300.rootfs.tar.bz2 -C /mnt

    Hủy gắn kết cho PV Ext2: umount /dev/sdb2 /mnt

    Bạn cũng có thể bung file OPIE tới PV Ext2 bằng trình giải nén Ark. Từ dấu nhắc, bạn gõ lệnh ark để khởi động Ark. Sau đó, từ cửa sổ chương trình, bạn chọn Open để tìm và mở file OPIE. Giải nén cho file OPIE tới /mnt từ menu Action -> Extract. Chúng tôi chỉ đề cập sơ qua việc giải nén bằng Ark vì nói chung các bước thực hiện khá đơn giản, trực quan và tương tự như khi dùng Winrar hay Winzip.

    * Tạo file tráo đổi (swap) trên PV FAT

    Tạo gắn kết cho PV FAT bằng lệnh: mount /dev/sdb1 /mnt

    Tạo swap: dd if=/dev/zero of=/mnt/swap bs=1M count=16

    mkswap /mnt/swap

    Hủy gắn kết cho PV FAT: umount /dev/sdb1 /mnt

    Hình 10: Tạo file tráo đổi

    Về cơ bản, việc cài đặt Linux (OPIE) lên SD đã hoàn thành. Bước tiếp theo là biên tập lại một số file hệ thống của Linux để OPIE có thể khởi động được từ E2.

    3.1.3. Biên tập các file cấu hình hệ thống

    Lúc này toàn bộ file hệ thống của Linux đã nằm trên PV Ext2 của SD. Để tiến hành biên tập các file cấu hình (fstab, device_table và tslib.sh), trước tiên bạn cần tạo gắn kết cho PV Ext2 tới /mnt bằng lệnh mount -t ext2 /dev/sdb2 /mnt.

    Trong môi trường Linux, có rất nhiều trình biên tập text như vi, kate, emacs, kwrite,v.v. Ở đây, chúng tôi dùng kate.

    * fstab

    Nhập lệnh kate /mnt/etc/fstab từ dấu nhắc. Trình kate sẽ khởi động và mở file fstab (có thể bạn phải chọn Default Session -> Open Session trong cửa sổ kate). Bạn cần thêm dòng /swap swap swap defaults 1 0 vào file /mnt/ect/fstab. Lưu các thay đổi với file fstab và thoát khỏi kate.

    * device_table

    Bạn thực hiện tương tự như trên. Nhập lệnh kate /mnt/etc/device_table và thêm các dòng sau vào file device_table:

    /dev/h3600_ts c 660 0 0 13 128 - - -

    /dev/h3600_tsraw c 660 0 0 13 144 - - -

    * tslib.sh

    Bạn cần thay thế các giá trị trong file /mnt/etc/profile.d/tslib.sh bằng nội dung dưới đây (các bước thực hiện tương tự như trình bày bên trên):

    TSLIB_TSDEVICE=’/dev/h3600_tsraw’

    QWS_MOUSE_PROTO=’TPanel:/dev/h3600_tsraw’

    TSLIB_CONFFILE=/usr/share/tslib/ts.conf-h3600-2.4

    QWS_KEYBOARD=’USB:/dev/input/event0’

    export TSLIB_TSDEVICE TSLIB_CONFFILE QWS_MOUSE_PROTO QWS_KEYBOARD

    Khi thay đổi nội dung 3 file nêu trên, bạn cần lưu ý sắp xếp các giá trị theo đúng dòng và cột như trong file gốc. Nếu thấy việc biên tập lại các file trên khó khăn, bạn có thể tải về các file này (đã được chúng tôi biên tập lại) từ http://cid-5d584c9888aead9c.skydrive.live.com/home.aspx (phần Edited trong Palm Tungsten E2) và ghi đè lên các file gốc tại /etc và /etc/profile.d trên thẻ SD.

    3.1.4. Khởi động Linux trên E2

    Việc chuẩn bị và cài đặt Linux (OPIE) cho Palm Tungsten E2 tới đây đã hoàn tất. Bạn lấy thẻ SD ra khỏi PC và cắm vào khe SD của E2. Để khởi động Linux, bạn chạy file garux từ Palm/Launcher trên SD. Sau hộp thoại cảnh báo, quá trình khởi động Linux (OPIE) trên E2 sẽ bắt đầu.

    Bạn có thể tham khảo thêm thông tin về việc khởi động Linux (OPIE) trên E2 trên YouTube tại địa chỉ http://www.youtube.com/watch?v=C29X-yxB1bg.

    Hình 13: Màn hình Today và Settings của OPIE

    3.2 Linux (GPE) trên Axim x50v

    Về cơ bản, các bước chuẩn bị và cài đặt Linux lên x50v cũng tương tự như trên E2. Do vậy, các hướng dẫn dưới đây sẽ vắn tắt hơn so với trình bày bên trên. Bạn cần tham khảo thêm thông tin tại mục 3.1.

    3.2.1 Các bước chuẩn bị

    (1) Máy tính cài HĐH Linux

    (2) Thẻ nhớ SD và đầu đọc thẻ nhớ

    (3) Tạo PV FAT và Ext2 trên thẻ SD

    (4) Tải về các file cần thiết

    Để cài đặt Linux trên x50v, bạn cần các file sau: haret-0.5.0.exe, zImage-2.6.21-hh9-aximx50v-20070625071129, default.txt và Angstrom-x11-image-glibc-test-20070627-aximx50v.rootfs.tar.bz2. Bạn có thể tải về các file trên từ http://projects.linuxtogo.org/~law/aximx50/ (lưu ý chọn đúng tên file) hoặc từ http://cid-5d584c9888aead9c.skydrive.live.com/home.aspx (phần Dell Axim x50v). Sau khi tải về tất cả các file cần thiết, bạn nên lưu chúng vào cùng một thư mục. Trong trường hợp của chúng tôi, các file trên được lưu vào thư mục Axim và đặt trên Desktop (/home/vietkhoa/Desktop/Axim).

    HaRet là một trình nạp khởi động Linux trong môi trường Windows Mobile. zImage là một file thực thi chứa ảnh khởi động của Linux. zImage sẽ khởi tạo hệ thống file gốc của Linux trên PV thứ 2 của thẻ SD (Ext2). Default là một file text đơn giản chứa các chỉ dẫn giúp cho HaRet khởi động nhân Linux. GPE là file ảnh đĩa Linux (đã trình bày tại mục 2).

    3.2.2 Cài đặt Linux lên x50v

    * Sao chép các file HaRET, zImage và default tới PV FAT trên thẻ SD

    Như đã trình bày bên trên, các file cần thiết cho việc cài đặt Linux lên x50v được lưu tại thư mục Axim trên Desktop của người dùng.

    Tạo gắn kết cho PV FAT của SD: mount /dev/sdb1 /mnt

    Chuyển tới thư mục Axim: cd /home/vietkhoa/Desktop/Axim

    Bạn có thể thực hiện lệnh sao chép bằng cách chỉ ra đường dẫn cụ thể như đã nêu ở mục 3.1.2.

    Sao chép và đổi tên file:

    cp haret-0.5.0.exe /mnt/haret.exe

    cp zImage-2.6.21-hh9-aximx50v-20070625071129/mnt/zImage

    cp default.txt /mnt/default.txt

    Hủy gắn kết cho PV FAT: umount /dev/sdb1 /mnt

    * Giải nén GPE vào PV Ext2 của SD

    Chuyển tới thư mục Axim: cd /home/vietkhoa/Desktop/Axim

    Tạo gắn kết cho PV Ext2 tới /mnt: mount -t ext2 /dev/sdb2 /mnt

    Giải nén GPE tới Ext2:

    tar -xjf Angstrom-x11-image-glibc-test-20070627-aximx50v.rootfs.tar.bz2 -C /mnt

    Bạn cũng có thể bung file GPE tới PV Ext2 bằng trình giải nén Ark như đề cập ở mục 3.1.2.

    Hủy gắn kết cho PV Ext2: umount /dev/sdb2 /mnt

    Hình 14: Thao tác sao chép giải nén file tới các PV trên SD

    3.2.3 Khởi động Linux trên x50v

    Việc cài đặt Linux (GPE) lên SD đã hoàn thành (không phải biên tập file cấu hình như trên E2). Trước khi khởi động Linux, bạn phải kích hoạt chế độ Mirror của x50. Để kích hoạt, bạn chọn Start -> Settings -> System -> Mirror và đánh dấu kiểm vào Enable mirror mode rồi nhấn OK.

    Bạn chuyển tới thẻ SD và chạy HaRet để khởi động GPE. Khi cửa sổ của chương trình HaRet xuất hiện, bạn nhấn vào nút lệnh Run. Nếu mọi việc bình thường, Linux sẽ bắt đầu quá trình khởi động. Bạn có thể tham khảo thêm thông tin về quá trình khởi động Linux trên Dell Axim x50v tại http://www.youtube.com/watch?v=nofEXC9weZY.

    Trên đây là hướng dẫn cách cài đặt Linux (môi trường OPIE và GPE) trên Palm Tungsten E2 và Dell Axim x50v. Nếu bạn có PDA loại khác và muốn thử cài Linux lên PDA của mình, chúng tôi tin rằng bạn vẫn có thể thực hiện được dựa trên các hướng dẫn cơ bản trong bài viết này. Thay đổi đáng kể nhất (nếu có) chỉ là bạn cần các bản garux, kernel, OPIE và GPE dành riêng cho dòng máy của bạn. Để tham khảo thêm chi tiết, bạn có thể vào trang http://www.handhelds.org hoặc vào Google tìm kiếm với từ khóa “linux on ”.

    Chúc các bạn thành công!

    Nguyễn Việt Khoa
    Linguistics and English Language
    University of Sussex, UK
    Email: vietkhoabk@hotmail.com
    ---------------------------------------------------------------------------------------
    Tài liệu tham khảo:
    http://nerdfeliz.com/palmte2
    http://pdaviet.net/
    http://projects.linuxtogo.org
    http://www.angstrom-distribution.org/unstable/images
    http://www.handhelds.org/moin/moin.cgi/PalmTungstenE2HowTo
    http://www.handhelds.org/moin/moin.cgi/x50vHowTo
    http://www.tinhte.com/forum
    http://www.vnlinux.org/sitemoi

    ID: A0802_110