ʹÓÃbusybox×öÒ»¸öСÇɵÄlinux²Ù×÷ϵͳ
1.»ù´¡ÖªÊ¶
Ò»¸ö²Ù×÷ϵͳ¿ÉÒÔ¼òµ¥µÄ³éÏóΪ£¬Òýµ¼³ÌÐò ÄÚºË Îļþϵͳ¡£
vmlinuzÊÇLinux Äں˵ľµÏñÎļþ,¿ÉÒÔ±»Òýµ¼³ÌÐò¼ÓÔØ,´Ó¶øÆô¶¯Linuxϵͳ¡£
initrdµÄÈ«³ÆÊÇboot loader initialized RAM disk£¬ËüÊÇϵͳÆô¶¯Ê±ËùʹÓõĸùÎļþϵͳӳÏñÎļþ£¬Õâ¸öÎļþϵͳÖаüº¬¼¸¸öÇý¶¯Ä£¿é£¬ÓÃÀ´×°ÔØÊµ¼ÊµÄ¸ùÎļþϵͳ£¬±ÈÈçÒ»¸öIDE»òSCSIÓ²Å̵ÄÇý¶¯Ä£¿é£¬ÄÚºË×°ÈëÕâ¸öÄ£¿éÖ®ºóÓÃËüÀ´Çý¶¯Ó²ÅÌ£¬¹Ò½ÓÓ²Å̵½ramdiskµÄij¸ö×ÓĿ¼£¬È»ºóÔÙÓÃÆäÖеÄpivot_rootÃüÁ½«Ó²ÅÌÎļþϵͳ±ä³É¸ùÎļþϵͳ£¬²¢¿ªÊ¼Ö´ÐÐinit½ø³Ì£¬´Ëʱinit ram disk±»umount£¬ÊÙÖÕÕýÇÞ¡£
Óɴ˿ɼû£¬ÎÒÃÇ¿ÉÒÔÓÃvmlinuz initrd.img×öÒ»¸öÎļþϵͬ³¤×¤ÄÚ´æµÄÃÔÄãLinux¡£
ÏÖÔÚ½øÈëÕýÌâÁË£º
2.±àÒëÄÚºË
cd /usr/src/....----½øÈëÄÚºËÔ´´úÂëĿ¼£¬Ã»ÓеĻ°È¥¹Ù·½ÍøÕ¾£¬Ëæ±ãÏÂ
make menuconfig-----ÅäÖñàÒëÑ¡ÏîÇë×¢ÒâÒ»¶¨¼ÓÈëRAM disk support ºÍinitial RAM disk
(initrd) support µÄÖ§³Ö(ÔÚblock deviceÖÐ)¡£ÁíÍâ×îºÃ½«ext3Îļþϵͳ±àÈëÄںˣ¬²»Òª±à³ÉÄ£¿é¡£ÅäÖÃÍê±Ïºó±£´æÎª.config(ĬÈÏ)
make bzImage----±àÒë
ÔÚÐí¶àÄں˱àÒë²Î¿¼Öл¹ÓÐ
make modules
make modules_installÁ½²½
µ«ÎÒÃÇÕâÀïûÓмÓÈë¶ÔmodulesµÄÖ§³Ö£¬ËùÒÔ²»ÐèÒª¡£Éú³ÉµÄbzImageÎļþÔÚusr/src/linux/arch/.../bootÖУ¬Ê¡ÂԵĸù¾ÝÄãµÄ»úÆ÷¼Ü¹¹¾ö¶¨£¬make¹ý³ÌÖлáÓÐÌáʾ£¬±ÈÈçÎÒµÄÊÇx86_64. ×¢ÒâÕâ¸öÎļþ·Ç³£ÖØÒª£¬Æäʵ¾ÍÊÇÎÒÃÇ×îÖÕµÄvmlinuz.
3.busybox
busyboxÊÇÒ»¸ö¼¯³ÉÁËÒ»°Ù¶à¸ö×î³£ÓÃlinuxÃüÁîºÍ¹¤¾ßµÄÈí¼þ,ËüÉõÖÁ»¹¼¯³ÉÁËÒ»¸öhttp·þÎñÆ÷ºÍÒ»¸ötelnet·þÎñÆ÷,¶øËùÓÐÕâÒ»Çй¦ÄÜÈ´Ö»ÓÐÇøÇø1M×óÓҵĴóС.ÎÒÃÇÆ½Ê±ÓõÄÄÇЩlinuxÃüÁî¾ÍºÃ±ÈÊÇ·ÖÁ¦Ê½µÄµç×ÓÔª¼þ,¶øbusybox¾ÍºÃ±ÈÊÇÒ»¸ö¼¯³Éµç·,°Ñ³£ÓõŤ¾ßºÍÃüÁ³ÉѹËõÔÚÒ»¸ö¿ÉÖ´ÐÐÎļþÀï,¹¦ÄÜ»ù±¾²»±ä,¶ø´óСȴСºÜ¶à±¶,ÔÚǶÈëʽlinuxÓ¦ÓÃÖÐ,busyboxÓзdz£¹ãµÄÓ¦ÓÃ,ÁíÍâ,´ó¶àÊýlinux·¢ÐаæµÄ°²×°³ÌÐòÖж¼ÓÐbusyboxµÄÉíÓ°,°²×°linuxµÄʱºò°¸ctrl alt F2¾ÍÄܵõ½Ò»¸ö¿ØÖÆÌ¨,¶øÕâ¸ö¿ØÖÆÌ¨ÖеÄËùÓÐÃüÁî¶¼ÊÇÖ¸ÏòbusyboxµÄÁ´½Ó.ÔÚÎÒÃǵÄÃÔÄãLinuxÖУ¬ÐèÒªµÄÒ²ÕýÊÇbusyboxµÄÃüÁîºÍ¹¤¾ß¡£
ÏÂÔØ http://busybox.net/downloads/
ʹÓùý³ÌÖÐÐí¶à¸ß°æ±¾¶¼³öÏÖ±àÒë´íÎó£¬ËùÒÔÓÃÁËÒ»¸ö×îÔʼµÄ°æ±¾busybox-1.00
#cp busybox-1.00.tar.gz /tmp/bunny
#cd /tmp/bunny
#tar xvfz busybox-1.00.tar.gz
#cd busybox-1.00
#make menuconfig ----±àÒëÅäÖÃ
ÏÂÃæÊÇÐèÒª±àÒë½øbusyboxµÄ¹
Ïà¹ØÎĵµ£º
LinuxÏµĶ¨Ê±Æ÷ÓÐÁ½ÖÖ£¬ÒÔÏ·ֱð½éÉÜ£º
1¡¢alarm
Èç¹û²»ÒªÇóºÜ¾«È·µÄ»°£¬ÓÃalarm()ºÍsignal()¾Í¹»ÁË
unsigned int alarm(unsigned int seconds)
º¯Êý˵Ã÷:
alarm()ÓÃÀ´ÉèÖÃÐźÅSIGALRMÔÚ¾¹ý²ÎÊýsecondsÖ¸¶¨µÄÃëÊýºó´«Ë͸øÄ¿Ç°µÄ½ø³Ì¡£Èç¹û²ÎÊýsecondsΪ0£¬Ôò֮ǰÉèÖõÄÄÖÖӻᱻȡ
......
ת×Ô£º http://ipie.blogbus.com/logs/36730036.html
Linux¸ß¼¶È¨ÏÞ¹ÜÀí£ºACLÓ÷¨¼ò½é
2009-03-18 23:11:22 by deepblue
ǰ¶Îʱ¼ä£¬ÔÚLinuxÉÏÉèÖÃÒ»¸öĿ¼µÄ·ÃÎÊȨÏÞʱ£¬·¢ÏÖͨ¹ý¼òµ¥µÄchmod²Ù×÷²»ÄÜÂú×ã×Ô¼ºµÄÐèÇó£¬
ÎÊÌ⣺Èç¹ûÓÃrootÕʺŴ´½¨ÁËÒ»¸öĿ¼DIR£¬ÓÐA,B,C,DËÄ×éÓû§£¬ÎÒÏë¸øA×éÓû§¶ÁдִÐеÄȨÏÞ£ ......
netfilterµÄʵÏÖ»úÖÆ»ùÓÚËĸö²ã´ÎµÄÆ¥Å䣬Êý¾Ý°üÔÚÿ¸ö²ã´Î¶¼Òª¾¹ýÒ»¸ö¹ýÂËÁ´±í£¬µÚÒ»¸ö²ã´Î¾ÍÊÇhook£¬ÖÚËùÖÜÖªlinuxÄÚºËÖÐÒ»¹²ÓµÓÐ5¸öhooks£¬µ±È»ÄãÒ²¿ÉÒÔ×Ô¼ºÐÞ¸ÄÄÚºËÔÚÈκεط½Ìí¼Óhook£»µÚ¶þ¸ö²ã´Î¾ÍÊÇÿ¸öhookÏÂÃæµÄtables£¬Ã¿Ò»¸öhook¶¼¹ý¹ÒÔØÁã¸ö»òÕßÈô¸É¸ötables£¬Êý¾Ý°üÒªÒ»¸öÒ»¸ö¾¹ýÕâЩtables£»µÚÈý¸ö²ã´Î¾ÍÊÇ ......
Ïà¹Øº¯Êý
fork£¬execve£¬waitpid£¬popen
±íÍ·Îļþ
££i nclude<stdlib.h>
¶¨Ò庯Êý
int system(const char * string);
º¯Êý˵Ã÷
system()
»áµ÷ÓÃfork()²úÉú×Ó½ø³Ì£¬ÓÉ×Ó½ø³ÌÀ´µ÷ÓÃ/bin/sh-c
stringÀ´Ö´ÐвÎÊýstring×Ö·û´®Ëù´ú±íµÄÃüÁ´ËÃü>ÁîÖ´ÐÐÍêºóËæ¼´·µ»ØÔµ÷ÓõĽø³Ì¡£ÔÚµ÷ÓÃsystem()ÆÚ¼äSIGCHLD ......
1 ¡¢Ç°ÑÔ
¡¡¡¡×Ô´Óµ®ÉúÒÔÀ´£¬Linux ¾Í±»²»¶ÏÍêÉÆºÍÆÕ¼°£¬Ä¿Ç°ËüÒѾ³ÉΪÖ÷Á÷ͨÓòÙ×÷ϵͳ֮һ£¬Ê¹Óõ÷dz£¹ã·º£¬ËüÓë Windows¡¢UNIX Ò»ÆðÕ¼¾ÝÁ˲Ù×÷ϵͳÁìÓò¼¸ºõËùÓеÄÊг¡·Ý¶î¡£ÌرðÊÇÔÚ¸ßÐÔÄܼÆËãÁìÓò£¬Linux ÒѾ³ÉΪһ¸öÕ¼Ö÷µ¼µØÎ»µÄ²Ù×÷ϵͳ£¬ÔÚ2005Äê6ÔÂÈ«ÇòTOP500 ¼ÆËã»úÖУ¬ÓÐ 301 ̨²¿ÊðµÄÊÇ Linux ²Ù×÷ϵͳ¡£Òò ......