PDA

View Full Version : Kernel mới, need help ???? :D



sonicxpx
07-04-2003, 18:19
Mình down load cai patch-2.4.20.bz định cài nhưng không biết làm sao để install cai kernel mới này, bà con ai bít chỉ giùm đi :D.

Nghe nói cái kernel v2.4 này fix được lỗi NTFS nên cài thử. Mà quên mất là mình chưa biết cài.

coolman
07-04-2003, 20:58
Nếu chưa biết gì thì cũng hơi khó thật vì nó đòi hỏi bạn có kiến thức về Linux nhất định. (Ví dụ: cách đặt số version, patch kernel, build kernel, ...). Cách hay nhất là bạn phải đọc HOWTO để lấy 1 ít khái niệm cơ bản. ở đây mình cũng có thể chỉ được, nhưng khó có thể nói hết cho bạn được. Mình chỉ nói sơ một vài ý rồi bạn lam tiếp nhé. (có gì thì đọc thêm README).
OK
1. nếu bạn download patch-2.4.20.bz2 thì bạn phải download thêm linux-2.4.19.tar.gz hoặc linux-2.4.19.bz2.(lấy bz2 nhỏ hơn).

sau đó bắt đầu patch kernel (copy 2 file tren vao thu muc /usr/scr).

#mv linux-2.4.19.bz2 /usr/src
#mv patch-2.4.20.bz2 /usr/src

# cd /usr/scr
# bzcat linux-2.4.19.bz2 | tar xvf -
# cd linux-2.4.20
#bzcat ../patch-2.4.20.bz2 | patch -p1
đến đây là bạn đã patch xong kernel.
bạn có thể bỏ qua bước này bằng cách download bản mới nhất. linux-2.4.20.bz2 chẳng hạn.

2. Sau khi patch xong kernel. đến việc build kernel.

#cd /usr/src/linux-2.4.20
# make menuconfig
Chọn các "modules" mà bạn cần sau đó Save configuration lại.
#make dep clean bzImage modules
Nếu mọi việc tốt đẹp (No error).
#make íntall_modules

3. cài đặt.
# cd /usr/src/linux-2.4.20
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.4.20

4. cấu hình bootloader.(ở đây ví dụ là Grub)

#vi /etc/grub.conf
thêm vào đoạn sau:
root (hd0,X)
title Linux 2.4.20
kernel /boot/vmlinuz-2.4.20 root=/dev/hdaX

với X giống như của phần kernel 2.4.19.

5. reboot lại máy với kernel mới.

OK. mình đã cố gắng để chỉ chi tiết. nhưng chỉ dến vấy thôi.
Chúc thành công

Bri-Dennis
07-04-2003, 22:48
Thanks Coolman, very helpful information :D.

Cho mình hỏi bạn học Linux bằng sách nào hay tài liệu nào thế ? có thể cho biết kinh nghiệm được không ?

Thanks for all help

coolman
08-04-2003, 09:04
Kha`Kha` ....... học Linux hả ?
Đầu tiên thì nghiên cứu các command của nó, sau đó mới tập tành config mấy cái dịch vụ, đến học lập trình ứng dụng cho nó, nghiên cứu để hack kernel, nghiên cứu viết driver, kernel modules, ....... nói chung thi cũng phải tìm tòi nhiều lắm.
Về tài liệu thì đầu tiên đọc HOWTO, man pages, turtorial, ...
sau khi nắm được phần nào của Linux thì bắt đầu nghiên cứu theo chủ đề, làm gì thì lên net ...........searrrrrrrrcccccchhhhhhhhh.
cũng chẳng biết kinh nghiệm gì cả, nhưng minh thích nhất la hack kernel. ví dụ làm thế nào để xây dựng 1 Hệ Diều Hành Linux nhỏ nhất có thể được ( chạy được, thao tác được như DOS, có các server như WEB,FTP,telnet, ....)(nếu không có các sever thì có thể chạy trên 1 đĩa mềm, nhưng thêm server vào thì phải mất khoảng <3MB). nói chung là nhiều lắm. cứ từ từ mà học thôi. học học nữa học mãi ...........
Have a nice day

panatcb
09-04-2003, 07:11
Dân mới vô nghề Coolman chơi cho một chưởng như dậy thì sonicpx chịu gì nổi. Vì bạn chỉ cần cập nhật kernel không thôi thì không cần phải làm complete installation kernel. Cập nhật hoá kernel nghĩa là bạn chỉ cần patch vô kernel củ đang xài là đủ tự vì source code của hai phiên bản kernel không có gì khác nhau là mấy.
Trước tiên bạn muốn biết mình đang dùng kernel version mấy thì gõ:
#uname -a
sau đây là output của máy tui
Linux localhost.localdomain 2.4.21-0.11mdk #1 Fri Feb 28 2003 13:51:48 CET 2003 i686
Bạn sẽ thấy tui đang dùng Linux, localhost là vì máy tui không phải là máy mạng, kernel phiên bản 2.4.21-0.11mdk của Mandrake,theo tho^ng le^. so^' le? 11 la` version co' feature mo+'i, so^' cha(?ng la`version o^?n ddi.nh. #1 là số lần phiên bản này được compile, và ngày tháng na(m gio+`mà phiên bản này compile, i686 là CPU mà kernel này chạy.
Thí dụ bây giờ bạn đang xài kernel 2.0.29 trong kernel source tree và bạn muốn cập nhật lên 2.0.30, tiếng anh kêu là patching the kernel, chỉ làm :
#cd /usr/src/linux
#patch -p1 < patch-2.0.30
Ở trên Coolman đã chỉ bạn cách làm kernel mới rồi, tui chỉ thêm các tool cho kernel configuration ngoài
make menuconfig còn có
make xoncfig
make config
make oldconfig
Cá nhân tui thì thích xài make config vì đây là command line theo dạng vấn đáp, thí dụ hỏi loại CPU bạn xài là gì, rồi trả lời [Y/n], bạn sẽ gặp kiểu này [M/y/m/?], m là make config hỏi bạn có muốn xài module tải riêng không(separate loadable module). Ne^'u lu'ng tu'ng thi` go~ : ? cho help.
Kernel co`n nhie^`u tu+. cho.n va` arguments, trong khuo^n kho^? die^~n dda`n na`y kho' vie^'t ra he^'t.
A` we^n, kernel tui xa`i support NTFS ngon la`nh.
Good luck!

chuotluoi
23-04-2003, 02:42
Vậy coolman đã làm được cái mini linux nào chưa ?!?! Mình trao đổi kiến thức đi!!!
Vì nhu cầu nên tui cũng đã tạo được 1 linux khởi động và chạy trên một đĩa mềm với các lệnh thông dụng chủ yếu để fix và điều khiển cổng parallel, tui dùng ramdisk.
Còn u, u tạo linux với mấy đĩa ?!?!? Và mục đích là để làm gì?
Thực ra thì theo tui, tạo linux boot trên 2 đĩa riêng sẽ đơn giản hơn nhưng vì tui chỉ thích ... gọn nên...............

Theo u thì sao?!?!?:-/

coolman
23-04-2003, 09:34
Công việc của mình la` lam về Embedded Linux Device. nên xây dựng 1 mini Linux la` công việc rất quan trọng (Tại mấy cái con ROM,FLASH mắc quá).
Bài tập làm về MiniLinux chạy trên đĩa mềm là bài tập đầu tiên của cái nghề Embedded. bây giờ thì không còn chạy trên đĩa mềm nữa, mà chạy trên mấy con Disk On Chip, FLASH.
Đến thời điểm hiện tại. kernel 2.4.19 của tui sau khi zip lại thì có thể ghi lên 1 con flash 512KB trong đó phải chừa lại 64KB cho phần bootloader. tất nhiên không có phần root filesystem, phần này sẽ được ghi trên 1 con flash khác 2MB. bao gồm hầu hết các command cơ bản của Linux, telnet server, webserver, iptables, ... và một số các deamon cho từng project khác nhau.
Các device chủ yếu là: router, QoS, UMS,VoIP, .....
Have a good day

sunny
28-04-2003, 16:11
Ban coolman va chuotluoi chi giup minh lam 1 linux khoi dong tren dia minh dung ramdisk nhe. Minh cho tin nhan cua ban .Sunny

chuotluoi
29-04-2003, 00:18
Nghề này cũng hay hén nhưng tui thì khác, tui thích tự động hoá với máy tính hơn nên dùng miniL để chạy ứng dụng mà không tốn nhiều tài nguyên với lại .... "free"
cho hỏi chút là nghề của u làm đã lâu chưa?!?!?
Theo u nghĩ thì tui có thể ghi nó vào VXL để dùng không ?!?!?!:-/

coolman
29-04-2003, 00:58
Được chứ, nhưng cái quan trọng là dùng CPU nào, bao nhiêu bit. lúc đó mới PORT kernel sang cho CPU đó (hard job). ROM dùng loại nào (để viết driver cho nó).
http://www.uClinux.org

sunny
02-05-2003, 15:33
Anh coolman oi em rat can su giup do cua anh anh co the cho em dia chi mail cua anh duoc hong Sunny

coolman
02-05-2003, 23:35
Cha`o Sunny,
Mình rât sẵn lòng nếu có thể giúp được bạn.
bạn có thể liên hệ : vducuy@yahoo.com

còn về làm 1 hệ thống Linux bằng RAMDISK chạy trên đĩa mềm thì không khó nhưng bạn phải có một kiến thức nhất định về Linux.
(ví dụ như: static link và dynamic link, cách sử dụng các tools như: ldd, strip, dd, .... cách build application configure, make, ...). cộng thêm đó phải biết tối ưu hệ thống (làm nhỏ) bằng các application như busybox, tinylogin, uClibc. trong phạm vi của diễn đàn không thể nói hết được. Nếu có thể thì chỉ có thể hướng dãn cho bạn cách tạo một hệ thống Linux chạy bằng RAMDISK thôi (không quan tâm đến size, dùng đĩa cứng). từ đó bạn tự tìm hiểu thêm rồi làm với mục đích của mình.
Bây giờ mình đang bận quá, nếu bạn thật sự cần thì gửi tin nhắn lên đây. mình sẽ cố gắng trả lời cho bạn sớm. (không cần qua mail, vì trên diễn đàn có nhiều cao thủ, cứ việc post lên, càng nhiều ý kiến càng học hỏi được nhiều)
Mến

chuotluoi
07-05-2003, 01:51
thanks cool man alot !!!:-)
Tui sẽ làm thử và có thể sẽ tìm đến sự giúp đỡ của u!!!!!
Cái VXL tui nói là loại giống mini computer chứ không giống CPU lắm!!!!!!!!!!