banner
 .::*nix::. FreeBSD on usb - Phần 1 Go to original post Author: pnco - Translator:  - Entry Date: 15/02/2009 23:55:25
Chào các bạn hâm mộ *nix!

Nhân dịp dụ khị được vài bạn sử dụng FreeBSD nên cũng thấy vui vui smilie Hôm nay rảnh rỗi 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 smilie)
Hiện nay có rất nhiều distro linux được phân phối dưới dạng livecd, tuy nhiên khuyết điểm của chúng (đối với 1 số trường hợp thì nó là ưu điểm smilie)) là không thể lưu trữ. Bạn khó có thể bổ sung các ứng dụng yêu thích của mình vào các bản phân phối này. 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. An toàn nhất thì nên dùng máy ảo.

1. Cài đặt FreeBSD lên đĩa cứng (phần này để giới thiệu với những bạn chưa từng cài đặt FreeBSD.)
- ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/6.2/ và khởi động

bmuht_gpj.746011_44380c8251cdb7e2c805e1580a7ed05a/12/7/7002/daolpu/enilnoavh/ten.enilnoavh.www//:ptth

- Chọn Custom -> chọn Partition (3) -> chọn A (Use Entire Disk) -> chọn Q (Quit) (Lưu ý: Trường hợp bạn chỉ có 1 phân vùng trống trên đĩa cứng thì hãy chọn vào phân vùng trống và chọn C (Create Slice) và chọn type là 165 default).

[img]http:/bmuht_gpj.746011_30012bebdae0dfba0f8a47cd99e2214c/12/7/7002/daolpu/enilnoavh/ten.enilnoavh.www//:ptth/> - Chọn Standard
- Chọn Label (4) -> chọn A (Auto Default) -> chọn Q (Quit).
- Chọn Distribution (5) -> chọn Custom -> chọn base + kernels GENERIC + src (chọn all) -> OK -> OK.
- Chọn Media (6) là CD/DVD.
- Chọn Comit (7) và hệ thống sẽ được cài đặt.
- Sau khi cài đặt xong bạn sẽ được hỏi "Visit the general configuration menu for a chance to set any last option" hãy chọn Yes. Bạn sẽ được đưa vào menu sau:

[img]http://www.htmlonlbmuht_gpj.746011_159c6301e0b72257994618840ca9c4c5/12/7/7002/daolpu/enilnoavh/ten.enilnoavh.www//:ptthbạn có thể tinh chỉnh các thứ như root passwd, time zone, add user, config network,... Sau khi làm xong chọn Exit 3 lần máy tính sẽ khởi động lại. Nếu không có trục trặc thì chúc mừng bạn bạn đã cài đặt FreeBSD thành công smilie

2. Cập nhật mã nguồn và tiến hành biên dịch hệ thống.
- Sau khi khởi động lại vào hệ thống thì bạn cần cài đặt gói cvsup-without-gui-16.1h để cập nhật mã nguồn.
Code:


#/usr/sbin/sysintall


- Chọn Configure -> chọn packages -> chọn FTP (nếu chọn CD/DVD thì bạn phải download ISO image thứ 2 của FreeBSD) -> chọn net -> chọn cvsup-without-gui-16.1h -> OK -> Install -> OK -> Exit.
Code:


#cp /usr/share/example/cvsup/stable-supfile /etc


- Điều chỉnh cấu hình:
Code:


#ee /etc/stable-supfile


- Điều chỉnh dòng 68 lại thành *default host=cvsup.freebsd.org -> ESC -> leave and save. Bạn có thể tham khảo danh sách mirror các http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html#CVSUP-MIRRORS để lựa chọn 1 server thích hợp.
- Chạy lệnh sau để update source code:
Code:


#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.
Code:


#ee /usr/src/sys/i386/conf/MYKERNEL


Bởi vì nội dung của file cấu hình kernel là khá nhiều nên tôi sẽ đính kèm để các bạn download về tham khảo, ngoài ra còn có 1 lưu ý ở đây. 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, chi tiết về các loại phần cứng được FreeBSD hỗ trợ các bạn có thể tham khảo http://www.freebsd.org/releases/6.2R/hardware-i386.html, để 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:
Code:


#ee /etc/make.conf


Code:


# $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. Cá nhân tôi không thích dùng chúng vì thế trong file cấu hình make.conf tôi lựa chọn là không build các software này, nếu bạn thích dùng nó thì đơn giản thêm # vào các dòng tương ứng. Ngoài ra các bạn có thể tham khảo http://www.freebsd.org/cgi/man.cgi?query=make.conf&apropos=0&sektion=0&manpath=FreeBSD+6.2-RELEASE&format=html để biết thêm chi tiết.

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:
Code:


#cd /usr/src

#make buildworld && make buildkernel


Trên máy Pentium4 của tôi phải mất gần 2 giờ để công việc này hoàn tất, vì vậy bạn hãy pha 1 ly cafe và bật tivi theo dõi trận Việt Nam - Iraq trong thời gian chờ đợi smilie)
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Other posts in the same group:

FreeBSD on usb - Phần 1
Go to top Go to original post  

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|