FreeBSD ¨Ï¥Î¤â¥U : ¦Û­q FreeBSD Kernel (¨t²Î®Ö¤ß) : «Ø¥ß¥H¤Î¦w¸Ë¤@­Ó¦Û­qªº kernel
Previous: ¬°¦ó­n¦Û­q kernel ?
Next: kernel ³]©wÀÉ

5.2. «Ø¥ß¥H¤Î¦w¸Ë¤@­Ó¦Û­qªº kernel

­º¥ý¡A§Ú­Ì¥ýÂsÄý¤@¤U½sĶ kernel ªº¥Ø¿ý¡C ©Ò¦³ªº kernel ­ì©lµ{¦¡³£¬O©ñ¦b /usr/src/sys ¥H¤Uªº (¦Ó³q±`§Ú­Ì·|±N /sys ³sµ² (link) ¨ì /usr/src/sys)¡C Kernel ­ì©lµ{¦¡¦³³\¦h¤£¦Pªº¥Ø¿ý¡A¤ñ¤è»¡ /sys/i386/conf¡A §A±N·|§â§Aªº kernel ³]©wÀÉ©ñ¦b¦¹¥Ø¿ý¤U; ÁÙ¦³¨Ò¦p /sys/compile¡A §A±N·|¦b¦¹½sͧAªº kernel¡C

ª`·N: ¦pªG§Aªº¨t²Î¤¤ ¨S¦³ /usr/src/sys¡A ªí¥Ü§A©|¥¼¦w¸Ë kernel ­ì©lµ{¦¡¡A½Ð°Ñ·Ó¨t²Î¦w¸Ë¹Lµ{¨Ó¦w¸Ë kernel ­ì©lµ{¦¡¡C

±µ¤U¨Ó¡A¶i¤J /sys/i386/conf ¨Ã¥B«þ¨© GENERIC ÀÉ ¦¨¬°§A·Q­nªºÀɦW¡C¨Ò¦p¡G

# cd /usr/src/sys/i386/conf
# cp GENERIC MYKERNEL
¶Ç²Î¤W³o­ÓÀɦW³£¬O¥Î¤j¼g¦r¥À¡A¦pªG§A¦³³\¦hªº FreeBSD ¾÷¾¹¡A ¥Î¤j¼gªº hostname ¨Ó©R¦W¬O°Ï¤À¤£¦P¾÷¾¹³]©wªº¦n¤èªk¡C

ª`·N: §A¥²¶·¥H root ªº¨­¥÷°õ¦æ©Ò¦³ªº©R¥O¡A§_«h§A·|±o¨ì "permission denied" ªº¿ù»~¡C

²{¦b¡A¥H§A³Ì²ßºDªº½s¿è¾¹½s¿è MYKERNEL (¦pªG§A¤£ª¾¹D¥Î¤°»ò¦n¡A §A¥i¥H¸Õ¸Õ vi¡AÁöµM­n¸ÑÄÀ¦p¦ó¨Ï¥Î¥¦¤Ó¹L½ÆÂø¡A ¦ý¬O¦Ü¤Ö¤j³¡¥÷ªº ®Ñ ³£·|´£¨ì¥¦¡C §A¥²¶·­×§ï©Î·s¼W¦¹Àɮפ¤ªº³]©w¥H²Å¦X§A¨t²Îªº»Ý¨D¡C

¦pªG§A´¿¸g¦b SunOS ©Î¬O¨ä¥Lªº BSD ¨t²Î¤W«Ø¥ß¹L kernel¡A ¨º»ò§A±N·|¹ï³o­Ó kernel ³]©wÀɪº¤º®e¤Q¤À¼ô±x¡C ¦pªG§A¸û¼ô±x¨ä¥Lªº§@·~¨t²Î (¦p DOS)¡A§A¥i¯à·|¬Ý¤£À´ kernel ³]©wÀÉ¡A³Â·Ð§A¥J²Ó¾\Ū kernel ³]©wÀÉ ¡C

ª`·N: ¦pªG§A¬O±q¸ûª©¥»ªº FreeBSD ¤É¯Å¤W¨Óªº¡A §A¥i¯à¥²¶·¤@¨Ö§ó·s config(8)¡C¦pªG§A¬O±q FreeBSD ­ì©lµ{¦¡¤É¯Åªº¡A §A¥i¥H¦b /usr/src/usr.sbin/config ¤¤§ä¨ì config ªº­ì©lµ{¦¡¡C

·í§A§¹¦¨«Ø¥ß©Î­×§ï kernel ³]©wÀɮɡA°õ¦æ¥H¤U©R¥O¨Ó½sͧAªº kernel¡G

# /usr/sbin/config MYKERNEL
# cd ../../compile/MYKERNEL
# make depend
# make
# make install

µù¡Gmake depend; make; make install ¥i¥Î make depend all install ¨Ó´À¥N
·s½sͦnªº kernel ±N·|³Q¦w¸Ë¨ì®Ú¥Ø¿ý¥h (¦W¬° /kernel)¡A ªº kernel ±N·|³Q§ó¦W¬° /kernel.old¡C ²{¦b¡AÃö³¬ (shutdown) §Aªº¨t²Î¨Ã­«·s¶}¾÷ (reboot)¡C ¦pªG­«·s¶}¾÷«á¥X¤F¤°»ò°ÝÃD¡A½Ð¾\Ū¥»¤å³Ì«áªº µo¥Í°ÝÃDªº¸Ñ¨M¤èªk ¡C ½Ð°O±o¾\Ū ¥H§K§Aªº kernel µLªk¶}¾÷ ¡C

ª`·N: ¦pªG§A¼W¥·sªºµwÅé (¦p­µ®Ä¥d)¡A §A¥²¶·«Ø¥ß¤@¨Ç device nodes ¨ì§Aªº /dev ¤U¡C


FreeBSD ¨Ï¥Î¤â¥U : ¦Û­q FreeBSD Kernel (¨t²Î®Ö¤ß) : «Ø¥ß¥H¤Î¦w¸Ë¤@­Ó¦Û­qªº kernel
Previous: ¬°¦ó­n¦Û­q kernel ?
Next: kernel ³]©wÀÉ