· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Booyo LiveCD/Make Ash

BooyoLiveCD/MakeAsh



modutils-2.4.15 module-init-tools-3.0

292 rm -Rf module* 293 rm -Rf modut* DEFINE _LINUX_SOURCE ÇÊ¿ä

dietlibc install

rpm -ivh module-init-tools-4.1-0.pre5.3.src.rpm

need to compare insmod.c in bltin and module-init-tools-3.0

edit Makefile insert CC=diet gcc -O2 -Os edit CFLAGS = $(RPM_OPT_FLAGS) -DSHELL -D_LINUX_SOURCE -I/usr/src/linux/include -I. -DBIT_TYPES_DEFINED

edit mystring.h rm strlen edit bltin/rmmod.c

"Usage: rmmod ?-a | module\n" "Usage: rmmod module\n"

unsigned int flags = O_NONBLOCK|O_EXCL; if(argc<2) return syntax(); if(delete_module(argv1, flags)) { perror(argv0); return -1; } return 0;


cp /home/tcheun/ash-berry-0.2/bltin/losetup.c . cp /home/tcheun/ash-berry-0.2/bltin/loop.h . edit builtins add losetup_main losetup edit Makefile add losetup.c losetuo.o sh ÀÌ ¸¸µé¾î Áö±â´Â ÇßÁö¸¸, ÀÌ ¹æ¹ýÀÇ ¹®Á¦¸¦ ¾Ë°ÔµÊ. insmod ¸¦ sh ¿¡ builtin À¸·Î ¸¸µé°æ¿ì, insmod ¿¡¼­ ¿À·ù°¡ »ý±â¸é, sh ¿¡¼­ ºüÁ® ³ª¿À¹Ç·Î, °á°úÀûÀ¸·Î ºÎÆÃÀÌ µÇÁö ¾ÊÀ½. º°µµÀÇ insmod ¸¦ »ç¿ëÇϸé, insmod ÀÇ ¿À·ù¸¦ ¿À·ù·Î ó¸®ÇÒ ¼ö ÀÖ½¿. ÇöÀçÀÇ ¸ðµâ Áß fdomain.ko ¿¡¼­ ¹®Á¦ ¹ß»ý. À̸¦ ¹æÁöÇϱâ À§ÇØ knopper °¡ signal(SIGSEGV, SIG_IGN) ¸¦ »ç¿ëÇÏ¿´Áö¸¸, ¼¼±×¸àÅ×ÀÌ¼Ç ¿À·ù ¹ß»ýÇÏ°í Á¤ÁöÇÔ. µð½ºÄÏÀ» »ç¿ëÇÑ ºÎÆÃÀ» °í·ÁÇÒ °æ¿ì, insmod ¸¦ sh ¿¡ builtin ÇÏ´Â °ÍÀÌ ÇÊ¿äÇÏÁö¸¸, udev ·Î ÀÎÇØ ÀÌ¹Ì µð½ºÄÏÀ» »ç¿ëÇÑ ºÎÆÃÀº ¾î·Á¿ö Áø °ÍÀÌ ¾Æ´Ñ°¡?

insmod ¿¡ ÀÇÇØ sh ÀÌ Á×À» °¡´É¼ºÀÌ ³Ê¹« ¸¹À¸¹Ç·Î, insmod.static ¸¦ »ç¿ëÇϱâ·Î ÇÔ.

diff knoppix and berry


Makefile


bltin ¿¡¼­ insmod ¸¦ »©°í, losetup °ú pivot_root ¸¦ Ãß°¡ÇÏ¿´½¿. (SRCS, OBJ2)

insmod ´Â module-init-tools-3.0 ÀÇ insmod.o ¸¦ »ç¿ëÇÔ. MOD_OBJ = ./module-init-tools-3.0/insmod.o

CFLAGS ÀÇ include ºÎºÐÀ» Á¦°ÅÇÔ.

all ÀÇ °æ¿ì MOD_OBJ Ãß°¡

bltin µð·ºÅ丮 ¹Ø¿¡ knoppix ÀÇ °æ¿ì´Â insmod.c °¡ ÀÖ°í, berry ÀÇ °æ¿ì´Â loop.h, losetup.c. pivot_root.c °¡ ÀÖ½¿.

bltin/mount.c


/* #include "../builtins.h" const char *pm="/proc/mounts";

char *nargsv3={builtincmkCATCMD.name,pm,NULL}; return catcmd(2,nargv); */

if(argc<2) /* List mounts, use procfs, simple "cat" */
{
char *cat_argv2; cat_argv0=NULL; cat_argv1="/proc/mounts"; return catcmd(2, cat_argv);

}

knoppix ±×´ë·Î »ç¿ëÇصµ µÊ. (¼öÁ¤ÇÏ¿´½¿) ¾Æ¸¶ bltin/cat.c ÀÇ ¼öÁ¤ ¶Ç´Â bug fix ÀÏ °Í °°À½.

builtins


/* insmodcmd insmod */

insmod_main insmod losetup_main losetup pivot_root_main pivot_root

debian/rules


Çѹø ÀÐ¾î º¸¾Æ¾ß ÇÒ °Í °°À½.

make_ash_static


berry ¿¡¸¸ ÀÖ½¿.

mkinit.c


/* for (p = line1 + 6 ; *p != '=' && *p != '/' ; p++); */ for (p = line1 + 6 ; *p != '=' && *p != '/' && *p != '\n' ; p++);

ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/Makefile.am


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/Makefile.in


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/backwards_compat.c


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/configure


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/configure.in


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/depmod.c


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/doc/modprobe.sgml


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/generate-modprobe.conf


ÀÐ¾î º¸¾Æ¾ß ÇÒ±î?

module-init-tools-3.0/insmod.c


/* return;

int main(int argc, char *argv[])

return(0); return(1); */

exit(1);

int insmod_main(int argc, char *argv[])

exit(0); exit(1);

module-init-tools-3.0/install-with-care


ÀÐ¾î º¸¾Æ¾ß Çϳª?

module-init-tools-3.0/modinfo.c


/*
try_old_version("modinfo", argv);
*/

if (!getenv("NEW_MODINFO"))
try_old_version("modinfo", argv);

module-init-tools-3.0/modprobe.c


module-init-tools-3.0/modprobe.devfs


module-init-tools-3.0/testing.h


parser.c


/* putprompt(ps1val()); */

int i, n; char pwd256; if (getcwd(pwd, 256)) {
i=0; while (i < 256 && pwdi != '\0') i++; if (pwdi-1 == '/') pwdi++='/'; /* for / */ pwdi++=']'; n=0; while (*(ps1val()+n) != '\0') { pwdi++=*(ps1val()+n); n++; } pwdi='\0'; while (i >= 0 && pwdi != '/') i--; if (pwdi-1 == '/') i--; /* for / */ pwdi='['; putprompt(&pwdi);
} else {
putprompt(ps1val());
}

ÀÐ¾î º¼ °Í.

ID
Password
Join
You will meet an important person who will help you advance professionally.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2005-02-16 10:35:12
Processing time 0.0092 sec