Tui thấy mọi người phân vùng thẻ nhớ trên PPC khó khăn quá, hôm trước có đọc một bài về phân vùng trên PC dung linux hoặc livecd linux post cho mọi người xem vậy
(sorry tác giả bài này, vì tui cũng không nhớ là xem ở đâu nữa)
---------------------------------------------------
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