Phần II: Cài FreeBSD trên usb Disk
Phần II: Cài FreeBSD trên usb Disk
Giới Thiệu
Hôm nay, mình giới thiệu với các bạn một thủ thuật nhỏ về việc cài đặt FreeBSD lên usb disk. Những lý do chính để cài đặt FreeBSD lên usb disk là:
- Tính di động: Bạn xây dựng 1 hệ điều hành cùng với các ứng dụng yêu thích của mình lên 1 thiết bị và đem nó theo bất cứ nơi nào bạn đến (home, office,…)
- Nâng cao bảo mật: Với việc cài đặt hệ điều hành và ứng dụng lên usb bạn có thể giải phóng hard disk của mình, dùng nó hoàn toàn chỉ trong việc lưu trữ dữ liệu và bạn có thể áp dụng các biện pháp bảo mật cho dữ liệu của mình. Khuyết điểm: Việc đọc ghi lên usb là khá chậm, tuy vậy chúng ta sẽ cải thiện bằng cách dời những phần tương tác đọc ghi nhiều vào đĩa cứng như swap, /tmp, /usr/port,… và tăng thêm RAM )
Việc cài đặt chúng lên usb thì cũng khá đơn giản tuy nhiên trong bài này tôi sẽ giới thiệu cho các bạn một cách thức khác xây dựng FreeBSD từ source giúp cho hệ điều hành và ứng dụng của bạn stable hơn.
Nào bây giờ chúng ta bắt đầu thực hiện. Yêu cầu cần có là 1 đĩa cứng tạm (dùng để build FreeBSD) hoặc một phân vùng còn trống trên đĩa cứng tối thiểu cỡ 10GB (OpenOffice build từ source cần 9GB đĩa cứng trống). Bạn nên dùng đĩa cứng tạm nếu có thể, nếu không thì phải backup dữ liệu cẩn thận.
Chương 7: Cài FreeBSD Lên Đĩa Cứng
1. Cài trên đĩa cứng
Cách cài đặt tương tự như mình đã giới thiệu ở phần I – Chương I.
2. Cập nhật mã nguồn và tiến hành biên dich hệ thống
- Sau khi cài đặt xong, khởi động lại máy xong thì bạn cần cài đặt gói cvsup-without-gui-16.1h để cập nhật mã nguồn. Bạn dùng lệnh:
LeNam# sysintall
- Chọn Configure -> chọn packages -> chọn CD/DVD (bạn phải bỏ CD ISO image thứ 2 của FreeBSD vào) -> chọn net -> chọn cvsup-without-gui-16.1h -> OK -> Install -> OK -> Exit. Sau đó bạn chép file stable-supfile vào /etc bằng cú pháp:
LeNam# cp /usr/share/example/cvsup/stable-supfile /etc
- Điều chỉnh cấu hình:
LeNam# ee /etc/stable-supfile
- Điều chỉnh dòng 68 lại thành *default host=cvsup.freebsd.org -> ESC -> leave and save. – Chạy lệnh sau để update source code:
LeNam# cvsup -g -L 2 /etc/stable-supfile
- Trong lúc chờ đợi chuyển sang terminal thứ 2 và soạn thảo file cấu hình kernel.
LeNam# ee /usr/src/sys/i386/conf/MYKERNEL
-File cấu hình kernel này bao gồm tất cả các cấu hình phần cứng mà FreeBSD hỗ trợ, trừ trường hợp bạn có ý muốn sử dụng cho nhiều máy tính khác nhau còn không thì bạn hãy tìm hiểu kỹ phần cứng máy tính của mình và loại bỏ những phần không liên quan, để loại bỏ những phần không liên quan trong file cấu hình kernel thì chỉ cần đánh dấu # vào dòng cần loại bỏ. – Tạo make.conf:
LeNam# ee /etc/make.conf
# $FreeBSD: src/share/examples/etc/make.conf,v 1.265.2.8 2006/09/13 08:39:16 des Exp $
#
# The CPUTYPE variable controls which processor should be targeted for
# generated code. This controls processor-specific optimizations in
# certain code (currently only OpenSSL) as well as modifying the value
# of CFLAGS to contain the appropriate optimization directive to gcc.
# The automatic setting of CFLAGS may be overridden using the
# NO_CPU_CFLAGS variable below.
# Currently the following CPU types are recognized:
# Intel x86 architecture:
# (AMD CPUs) opteron athlon64 athlon-mp athlon-xp athlon-4
# athlon-tbird athlon k8 k6-3 k6-2 k6 k5
# (Intel CPUs) nocona pentium4[m] prescott pentium3[m] pentium-m
# pentium2 pentiumpro pentium-mmx pentium i486 i386
# (Via CPUs) c3 c3-2
# Alpha/AXP architecture: ev67 ev6 pca56 ev56 ev5 ev45 ev4
# AMD64 architecture: opteron, athlon64, nocona
# Intel ia64 architecture: itanium2, itanium
#
# (?= allows to buildworld for a different CPUTYPE.)
#
CPUTYPE=pentium4
#
CFLAGS= -O2 -pipe
COPTFLAGS= -O2 -pipe
#
INSTALL=install -C
#
NO_ATM= # do not build ATM related programs and libraries
NO_DICT= # do not build the Webster dictionary files
NO_I4B= # do not build isdn4bsd package
NO_INFO= # do not make or install info files
NO_IPFILTER= # do not build IP Filter package
NO_KERBEROS= # do not build and install Kerberos 5 (KTH Heimdal)
NO_MAN= # do not build manual pages
NO_NIS= # do not build NIS support and related programs.
NO_PROFILE= # Avoid compiling profiled libraries
NO_RCMDS= # do not build or install BSD r* commands (rsh, etc).
NO_SENDMAIL= # do not build sendmail and related programs
NO_SHAREDOCS= # do not build the 4.4BSD legacy docs
NO_BIND= # Do not build any part of BIND
NO_BIND_DNSSEC= # Do not build dnssec-keygen, dnssec-signzone
NO_BIND_ETC= # Do not install files to /etc/namedb
NO_BIND_LIBS_LWRES= # Do not install the lwres library
NO_BIND_MTREE= # Do not run mtree to create chroot directories
NO_BIND_NAMED= # Do not build named, rndc, lwresd, etc.
NO_BIND_UTILS= # Do not build dig, host, nslookup, nsupdate
#
MAKE_IDEA=yes # IDEA (128 bit symmetric encryption)
#
KERNCONF=MYKERNEL
Lưu ý:
- Dòng CPUTYPE, bạn hãy chọn đúng loại CPU của mình. – Sendmail và bind là 2 phần mềm nổi tiếng và rất lâu đời trong thế giới *nix, vì thế không có gì lạ khi nó mặc định được cài đặt trong hầu hết các phiên bản UNIX cũng như linux.
Phần chuẩn bị đã xong, chuyển sang terminal 1 coi source đã được update xong chưa, nếu mọi thứ đã xong hãy chạy lệnh sau để tiến hành biên dịch hệ thống:
LeNam# cd /usr/src LeNam# make buildworld LeNam# make buildkernel LeNam# make installkernel LeNam# reboot LeNam# cd /usr/src LeNam# make installworld LeNam# reboot
2. Cài đặt FreeBSD lên usb HardDisk
- Đưa usb vào và chạy lệnh sau:
#fdisk -BI /dev/ad0 #bsdlabel -B -w /dev/ad0s2 #newfs /dev/ad0s2a
Lưu ý:/dev/ad0s2 phân vùng chứa FreeBSD, /dev/ad0s2a là phân vùng boot của FreeBSD mà bạn đã tạo. Dòng lệnh trên mục đích để làm cho FreeBSD boot khởi động được từ usb disk.
- Mount usb và cài đặt:
LeNam# mount /dev/ad0s2a /mnt LeNam# cd /usr/src LeNam# make installworld DESTDIR=/mnt LeNam# cd etc LeNam# make distribution DESTDIR=/mnt LeNam# cd .. LeNam# make installkernel DESTDIR=/mnt
- Tạo fstab và rc.conf:
LeNam# cp /etc/fstab /mnt/etc LeNam# ee /mnt/etc/fstab # Device Mountpoint FStype Options Dump Pass /dev/ad0s2a / ufs rw 1 1 /dev/acd0 /cdrom cd9660 ro,noauto 0 0 LeNam# cp /etc/rc.conf /mnt/etc LeNam#umount /mnt
Lưu ý: Tập tin rc.conf là tập tin cấu hình hệ thống quan trọng vì vậy bạn hãy tham khảo trang man cẩn thận để tạo ra cấu hình phù hợp nhất với mình. Sau đó bạn hãy khởi động lại máy tính với usb để chắc chắn rằng nó làm việc tốt
3.Cài đặt phần mềm với ports.
Đến đây chúng ta đã hoàn tất việc cài đặt FreeBSD lên usb, tuy nhiên chỉ có mỗi hệ điều hành. Việc tiếp theo cần làm là cài đặt thêm các ứng dụng yêu thích của mình. Cũng như nhiều bản phân phối linux khác FreeBSD có 1 hệ thống quản lý package riêng và rất độc đáo. Tất cả các pagkage đều được cài đặt từ source và bạn không cần phải quan tâm đến dependencies vì nó sẽ tự động được download và biên dịch.
- Để thực hiện việc này ta cần cài hệ thống ports vào đĩa cứng:
LeNam# mkdir /usr/ports LeNam# mkdir /mnt/usr LeNam# mount /dev/ad0s2f /mnt/usr LeNam# mount /dev/acd0 /cdrom LeNam# tar xzvf /cdrom/6.2-RELEASE/ports/ports.tgz -C /mnt/usr LeNam# mount_nullfs /mnt/usr/ports /usr/ports
Từ bây giờ bạn có thể cài đặt bất kỳ software nào bằng cách di chuyển vào thư mục tương ứng và gõ lệnh make install clean. Ví dụ:
#cd /usr/ports/x11-wm/fluxbox #make install clean
Bạn hãy tham khảo tại http://www.freebsd.org/ports/categories-alpha.html để biết phần mềm nào là được đặt ở đâu. Bạn cũng nên cập nhật ports tree để có được những phiên bản phần mềm mới nhất. Cách thực hiện điều này thì cũng giống như bước 1, có nghĩa là bạn phải cài đặt gói cvsup-without-gui-16.1h và cấu hình ports-supfile.
#cp /usr/share/example/cvsup/ports-supfile /etc #ee /etc/ports-supfile
Điều chỉnh dòng 51 lại thành *default host=cvsup.freebsd.org và chạy lệnh sau để update ports tree:
#cvsup -g -L 2 /etc/ports-supfile
Bạn cũng nên cài đặt portupgrade (/usr/ports/ports-mgmt/portupgrade) và portaudit (/usr/ports/ports-mgmt/portaudit) để dễ dàng cho việc nâng cấp sau này cũng như nâng cao bảo mật cho các phần mềm được cài đặt.