== JinLiveCD/ToDo == === 작업할 내용 === * csh 을 busybox 로 변경 ( done ) * 계속 발전가능성이 있고, debug 하기가 좋다. * cloop 를 squashfs 로 변경 ( done ) * 성능의 장점도 있지만, unionfs 와 같이 사용하면, 전체 파일시스템을 몇개의 압축 파일로 나눌 수 있으므로, 개발 환경이 나아진다. * 몇개의 파일로 나눌 경우 성능의 저하 문제는 검토해 보아야 한다. * unionfs 사용 ( done ) * 아직 개발 중인 파일 시스템이지만, 프로젝트가 2006 년까지는 확실히 계속될 것이고, 많은 live cd 에서 채택을 하고 있으므로, 빠른 속도로 수정 보완될 것이다. * 아직 레이어를 두 개 밖에 사용할 수 없음. * 3 개를 사용할 경우, mv 에 의해 Ooops 발생 * uClibc ( not yet ) * 확실히 실행 파일의 크기가 크면, 속도가 저하되는 것 같다. * live cd 를 만드는데 필요한 파일들은 가능한 한, uClibc 를 사용하여 컴파일한다. * sysvinit ( need update ) * cdrom eject 를 위해서는 sysvinit 의 변경이 필요하다. * 좀 더 연구하여 보다 빠르게 만들어야 한다. * 이제는 필요 없슴. * 단지 init 와 halt 를 묶는 것만이 필요함. * update 필요함. * bootsplash ( done ) * gfxboot ( done ) * installer 만들 것 ( not yet ) * livecd2win ( not yet ) * 하드디스크 관련 작업 넣을 것인가? * security 를 위한 패키지 넣을 것인가? * bootsplash, usplash, fbsplash === 배포판과 관련된 작업 === * 커널은 두개로 만들어야 한다. * squashfs 와 unionfs, 그리고 필요한 파일 시스템 모듈 * 속도를 생각하여 불필요한 모듈을 지울수도 있슴. * 하드웨어 설정 * 하드웨어 설정은 배포판의 하드웨어 설정 프로그램들과 관계가 있으므로, 배포판의 설치 프로그램에서 수행하는 작업을 수행해야 한다. * 이 부분은 rc.sysinit 에서 수행 * cdrom eject 를 위해 unionfs umount, squashfs umount 를 수행하고, cdrom eject 를 수행하도록 해야 한다. * 이 부분은 halt 에서 수행. === 패키지 관리 === * 패키지 관리라고 하기보다, 필요한 작은 패키지들을 쉽게 설치, 사용할 수 있도록 하는 것이다. * 꼭 필요한 update 도 있을 것이다. * 현재 unionfs 에 문제가 있기는 하지만, 이를 이용하면 쉽게 처리할 수 있을 것 같다. * klik 의 cmg 방식을 고려할 필요가 있는가? * static 로 가능한 프로그램이 아니면, 의존성의 문제를 야기 시킬 것이므로 많은 작업이 필요해 질 수 있다. === 하드디스크에 설치하는 작업 === * 이 부분은 아직 꼭 필요한 작업은 아니지만 앞으로 필요하다. * option 을 어떻게 정할 것인가가 문제일 뿐이다. === busybox === * http://www.busybox.net/ * busybox-1.01.tar.gz 16-Aug-2005 18:32 1.1M === squashfs === * http://sourceforge.net/project/showfiles.php?group_id=63835 * squashfs2.2 2005-07-03 18:53 * kernel 에 패치를 적용하여 모듈을 만듬. * cd /usr/src/linux * patch -p1 < /root/squashfs2.2/linux-2.6.12/squashfs2.2-patch === unionfs === * * http://www.unionfs.org/ * kernel module 만을 생성할 수도 있고, kernel 에 추가하여 생성할 수도 있게 되어 있지만, fedora core 4 의 kernel-2.6.12-1.1398_FC4.src.rpm 에 적용할 경우 오류가 발생함. * unionctl 과 uniondbg 는 uClibc 를 사용하여 만든다. * 2.6.13 의 경우, 모듈만 만들 경우, bad format 발생 * 커널에 넣을 경우, 만들어 지기는 하지만, 오류 투성이로 보임 === uClibc === * http://www.uclibc.org/ * uClibc-0.9.28.tar.gz 17-Aug-2005 15:52 2.3M * root_fs_i386.ext2.bz2 12-Jan-2005 00:09 21M * http://buildroot.uclibc.org/downloads/snapshots/ * buildroot-20050819.t..> 18-Aug-2005 23:15 1.5M * kernel 을 2.6.13 을 사용할 경우 linux-libc-header 가 없어서 uclibc 를 사용하는 것이 곤란함. * dietlibc 를 시험해 보아야 함. === sysvinit === * ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/ * sysvinit-2.86.tar.gz 97 KB 2004년 12월 10일 00:00:00 * fedora core 4 의 SysVinit-2.85-39.src.rpm 128 KB 2005년 05월 21일 은 uClibc 를 사용하여 컴파일 하기가 힘듬. * libselinux 와 libsepol 이 필요하고, 이를 컴파일 하기 위해서는 다른 것들이 또 필요함. === kudzu === * 이를 uClibc 에서 컴파일하기 위해 시도해 보았지만, 너무 많은 문제가 있슴. === fbui === * http://fbui.org/ * 많은 노력을 들였지만, 아직 쓸만한 상태는 아님. === gfxboot === * http://cvs.sourceforge.net/viewcvs.py/morphix/ === usplash === * http://bugzilla.ubuntu.com/buglist.cgi?query_format=advanced&resolution=DUPLICATE&resolution=---&bugidtype=include&cmdtype=doit&component=usplash === busybox 설치 === * uclibc 의 busybox 사용 {{{ Currently defined functions: [, [[, ash, awk, basename, busybox, cal, cat, chgrp, chmod, chown, chroot, chvt, clear, cp, cut, date, dd, df, dirname, dmesg, du, dumpleases, echo, egrep, env, expr, false, fdisk, fgrep, find, free, grep, gunzip, gzip, hdparm, head, id, insmod, kill, killall, klogd, ln, logger, losetup, ls, lsmod, mkdir, mkfifo, mknod, mkswap, modprobe, more, mount, mv, pivot_root, ps, pwd, readlink, realpath, reset, rm, rmdir, rmmod, sed, sh, sleep, sort, swapoff, swapon, sync, syslogd, tail, tar, tee, test, touch, tr, true, tty, udhcpc, udhcpd, umount, uname, uniq, unzip, uptime, vi, wc, which, whoami, xargs, yes, zcat }}} * slax 는 busybox 의 ash 를 변형한 것으로 보임. * busybox 의 명령들을 ash 에 추가한 것 같음. * ash 의 builtin function * mount 에 문제가 있음. * fedora core 4 의 busybox 를 사용해 볼 것 * 실패. * make menuconfig 에서 busybox snapshot 을 사용하지 않음. * busybox 1.0.1 을 사용함. 성공 * ash 에 builtin function 을 만들 것인가? * http://tree.celinuxforum.org/pipermail/test1/2005/000027.html {{{ static int catcmd(int, char **); 알파벳 순서에 따라 추가해야 함. { BUILTIN_REGULAR "cat", catcmd }, static int catcmd(int argc, char **argv) { bb_applet_name = argv[0]; optind=0; return cat_main(argc, argv); } main function 에서 해야 할 일 1. bb_show_usage (void) 를 찾아서 수정 필요. 2. exit 를 찾아서 수정 필요. exit 을 return 으로 만들어야 ash 에서 빠지지 않음. 생각이 필요함. }}} {{{ slax knoppix busybox [ awk editor basename coreutil cat cat coreutil cd cd cd chdir chmod chmod coreutil chown coreutil cp cp coreutil cut coreutil df coreutil du coreutil echo echo echo egrep egrep finding eval exec exec exec expr coreutil fdisk system gawk hash grep finding gunzip archival hdparm misc head coreutil insmod module ln coreutil ls coreutil mkdir coreutil mknod coreutil mount mount system read read read rm rm coreutil rmdir coreutil rsync sed sed editors sleep sleep coreutil tail coreutil test test trap umount umount system uname coreutil unset 무조건 다 ash builtin 으로 하는 것은 문제가 있슴. 앞으로 busybox 가 version up 할 경우 수정의 문제 시험 환경의 문제 오류가 발생했을때의 문제 속도의 문제 }}} * chroot root su - 의 문제점. * : applet not found * make menuconfig +su * chroot root su - {{{ BusyBox v1.01 (2005.08.22-19:28+0000) Built-in shell (ash) Enter 'help' for a list of built-in commands. -sh: can't access tty; job control turned off }}} * /dev 가 잘 못 만들어진 때문임. * rm -Rf customize pcmcia hostap * acpid DHCP dm e2fsprog file hotplug itables libelf * libpcap ltp-testsuite lvm2 microcom mkdosfs ntp * http://www.uclibc.org/toolchains.html 의 * These are currently available for arm, armeb, i386, mips, mipsel, powerpc, and sh4. * 만들어진 것을 사용했을 때, 생성되는 실행파일의 크기와 내가 만든 것에서 만든 실행파일의 크기에 차이가 남. * 설정 문제를 알아 볼 것 * uclibc 에 locale 을 적용할 경우 lib 가 커짐. * 이를 죽이고, 다시 만듬. make clean 을 꼭 해야함. ---- gblic를 쓰면 기존의 모든 패키지를 그대로 가져와 쓸 수 있으나, uClibc를 쓰면 그게 불가능해지게 되겠죠. 그에 뒤따르는 엄청난 삽질을 ... --WkPark 모든 것을 필요로 하지는 않습니다. 단지 cd 의 배포판을 찾아서 올리는 작업과 끝낼 때 cdrom 을 eject 하는 작업이 필요할 뿐입니다. {{{ mandrake Currently defined functions: basename, busybox, cat, chgrp, chmod, chown, chroot, chvt, clear, cp, cut, date, dd, df, dirname, dmesg, du, echo, env, false, find, free, grep, gunzip, gzip, halt, head, id, init, kill, killall, klogd, linuxrc, ln, logger, ls, lsmod, mkdir, mknod, mkswap, more, mount, mv, poweroff, ps, pwd, reboot, reset, rm, rmdir, sed, sh, sleep, sort, swapoff, swapon, sync, syslogd, tail, tar, touch, true, tty, umount, uname, uniq, uptime, wc, which, whoami, xargs, yes, zcat slax Currently defined functions: [, ash, basename, busybox, cat, chmod, chown, chroot, clear, cp, cut, dd, df, dirname, du, echo, egrep, expr, false, fdisk, fgrep, find, free, grep, gunzip, halt, hdparm, head, insmod, kill, killall, last, ln, logger, losetup, ls, lsmod, md5sum, mkdir, mkfifo, mknod, mkswap, mktemp, modprobe, more, mount, mv, pivot_root, poweroff, ps, pwd, readlink, realpath, reboot, rm, rmdir, rmmod, sed, sh, sleep, sort, swapoff, swapon, sync, tail, tar, tee, test, touch, tr, true, umount, uname, uniq, vi, wc, xargs, zcat knoppix bg break continue cd chdir . echo eval exec exit export readonly false fg getopts hash jobid jobs lc local pwd read return set setvar shift test [ trap : true umask unset wait umount mount cat insmod rmmod lsmod sleep losetup adios Currently defined functions: [, [[, ash, awk, basename, bunzip2, busybox, bzcat, cat, chgrp, chmod, chown, chroot, chvt, clear, cmp, cp, cpio, cut, date, dd, deallocvt, df, dirname, dmesg, du, echo, egrep, eject, env, expr, false, fdisk, fgrep, find, free, freeramdisk, getopt, grep, gunzip, gzip, hdparm, head, hexdump, hostname, id, ifconfig, insmod, kill, killall, klogd, length, ln, logger, losetup, ls, lsmod, md5sum, mesg, mkdir, mkfifo, mknod, mkswap, mktemp, modprobe, more, mount, mv, nameif, nc, netstat, nice, nslookup, od, openvt, patch, pidof, ping, pivot_root, printf, ps, pwd, rdate, readlink, renice, reset, rm, rmdir, rmmod, route, sed, seq, sh, sleep, sort, stat, strings, stty, sum, swapoff, swapon, sync, sysctl, syslogd, tail, tar, tee, test, tftp, time, top, touch, tr, traceroute, true, tty, udhcpc, umount, uname, uniq, unzip, uptime, usleep, vi, wc, wget, which, whoami, xargs, yes, zcat }}} === Korean codeset === * Korean EUC (Extended UNIX Code) : eucKR * KSC5601 : CP949 micorsoft * ISO-2022-KR * UCS-2/UCS-4 : ISO/IEC 10646 standards * UTF-8 : ISO/IEC 10646 standards === bison, flex === {{{ Bison is a general-purpose parser generator that converts a grammar description for an LALR context-free grammar into a C program to parse that grammar. Once you are proficient with Bison, you can use it to develop a wide range of language parsers, from those used in simple desk calculators to complex programming languages. }}} {{{ Flex is a fast lexical analyser generator. It is a tool for generating programs that perform pattern-matching on text. There are many applications for Flex, including writing compilers in conjunction with GNU Bison. Flex is a free implementation of the well known Lex program. It features a Lex compatibility mode, and also provides several new features such as exclusive start conditions. }}} === /mnt/sda15 === download kernel patch squashfs patch bootsplash http://www.bootsplash.de/ {{{ vesafb: framebuffer at 0xd0000000, mapped to 0xf8880000, using 3072k, total 16384k vesafb: mode is 1024x768x16, linelength=2048, pages=9 vesafb: protected mode interface info at c000:5890 vesafb: scrolling: redraw vesafb: Truecolor: size=0:5:6:5, shift=0:11:5:0 Console: switching to colour frame buffer device 128x48 fb0: VESA VGA frame buffer device FrameBuffer UI (0.9.14) by Zack T Smith: operational on fb0 sizeof (struct fbui_window)=184 sizeof (struct fbui_processentry)=440 sizeof (struct fbui_font)=36 vga16fb: initializing vga16fb: mapped to 0xc00a0000 fb1: VGA16 VGA frame buffer device }}} == packages == === communition === * e-mail client : thunderbird * instant messaging : gaim * web browser : firefox * voice over ip : openwengo === education === === finance === === development === * framework/platform : mono * IDE : eclipse * IDE for c# and vb.net : sharpdevelop * windows installer : nullsoft scriptable system, inno setup === games === === productivity === * Database : openoffice(base) * mind mapping : free mind * pdf creator : pdf creator * presentation : openoffice(impress) * report creator : jasperreports * spreadsheet : openoffice(calc) * word processor : openoffice(writer) * scientific word processor : Lyx === management === * gantt chart : ganttproject * project management : openworkbench === misc === === multimedia === * 3d animation : blender * 3d graphics : pov-ray * 3d game development kit : crystal space * audio editing : audacity * audio palyer : cpplplayer, zinf * mp3 ripper : cdex * volume normalizer : mp3gain * diagram editor : dia * image editing : gimp * vector drawing : inkscape * vector drawing : sodopodi * media player : vlc media player * web design : nvu * video capture : visualdub * video editing : jashaka === security === * 802.1x client : securew2 * anti-spyware : winpooch * anti-virus : clamwin * network protocol analyzer : ethereal * password safe : keepass password safe, password safe * vpn client : openvpn client gui for windows === utilities === * file compression : 7-zip * ftp client : filezilla ftp client * statistics : windirstat === disk 정리 2005. 12. 19 === * sda5: there are many things to keep * sda6: swap * sda7: livefc4 2005-07-09 * sda8: booyo 2005-10-12 * sda9: fc4 update 2005-11-25 * sda10: booyo desktop * sda11: several things to keep * sda12: booyo old one * sda13: booyo old one * sda14: squashfs * sda15: squashfs * sda7 을 지우고, 이 곳에 sda11 을 옮긴다. * 어떻게 하는 것이 제일 좋을까? * parted 문제 있음. fedora 의 문제 or parted 의 문제? * fedora 의 경우 ext_attr feature 를 사용함. * debugfs -R feature /dev/sda8 (fedora install) {{{ [root@localhost sbin]# debugfs -R feature /dev/sda8 debugfs 1.37 (21-Mar-2005) Filesystem features: ext_attr resize_inode filetype sparse_super large_file ext_attr 은 SElinux 와 관련된 것임. }}} * debugfs -R feature /dev/sda10 (mkfs.ext2) {{{ [root@localhost sbin]# debugfs -R feature /dev/sda10 debugfs 1.37 (21-Mar-2005) Filesystem features: resize_inode filetype sparse_super large_file }}} * sda5 는 좀 더 둘 것 * sda7 에 우선 필요한 것 보관하였슴. * sda8-13 지움 * sda14, 15 가 8,9 로 되어 있음. 우선 나둘 것 * sda10 역시 보관 장소로 만들 것 * 나머지는 다 지운다? * sda11 는 linux from scratch 로 사용 (10 G) === linux from scratch === {{{ Download or otherwise obtain the following packages: Binutils (2.16.1) - 12,272 KB: http://ftp.gnu.org/gnu/binutils/ GCC (4.0.2) - 31,048 KB: http://ftp.gnu.org/gnu/gcc/ Linux-Libc-Headers (2.6.12.0) - 2,480 KB: http://ep09.pld-linux.org/~mmazur/linux-libc-headers/ Glibc (2.3.6) - 13,687 KB: http://ftp.gnu.org/gnu/glibc/ adjusting the toolchain Tcl (8.4.12) - 2,672 KB: http://prdownloads.sourceforge.net/tcl/ Expect (5.43.0) - 416 KB: http://expect.nist.gov/src/ DejaGNU (1.4.4) - 852 KB: http://ftp.gnu.org/gnu/dejagnu/ GCC (4.0.2) - 31,048 KB: http://ftp.gnu.org/gnu/gcc/ Binutils (2.16.1) - 12,272 KB: http://ftp.gnu.org/gnu/binutils/ Gawk (3.1.5) - 1,696 KB: http://ftp.gnu.org/gnu/gawk/ Coreutils (5.93) - 4,782 KB: http://ftp.gnu.org/gnu/coreutils/ Bzip2 (1.0.3) - 596 KB: http://www.bzip.org/ Gzip (1.3.5) - 284 KB: ftp://alpha.gnu.org/gnu/gzip/ Diffutils (2.8.1) - 648 KB: http://ftp.gnu.org/gnu/diffutils/ Findutils (4.2.27) - 887 KB: http://ftp.gnu.org/gnu/findutils/ Make (3.80) - 904 KB: http://ftp.gnu.org/gnu/make/ Grep (2.5.1a) - 520 KB: http://ftp.gnu.org/gnu/grep/ Sed (4.1.4) - 632 KB: http://ftp.gnu.org/gnu/sed/ Gettext (0.14.5) - 4,668 KB: http://ftp.gnu.org/gnu/gettext/ Ncurses (5.5) - 1,683 KB: ftp://invisible-island.net/ncurses/ Patch (2.5.4) - 156 KB: http://ftp.gnu.org/gnu/patch/ Tar (1.15.1) - 1,580 KB: http://ftp.gnu.org/gnu/tar/ Texinfo (4.8) - 1,492 KB: http://ftp.gnu.org/gnu/texinfo/ Bash (3.1) - 1,824 KB: http://ftp.gnu.org/gnu/bash/ M4 (1.4.4) - 300 KB: http://ftp.gnu.org/gnu/m4/ Util-linux (2.12r) - 1,344 KB: http://www.kernel.org/pub/linux/utils/util-linux/ Perl (5.8.7) - 9,628 KB: http://ftp.funet.fi/pub/CPAN/src/ Autoconf (2.59) - 908 kilobytes (KB): http://ftp.gnu.org/gnu/autoconf/ Automake (1.9.6) - 748 KB: http://ftp.gnu.org/gnu/automake/ Bash Documentation (3.1) - 1,994 KB: http://ftp.gnu.org/gnu/bash/ Bison (2.1) - 982 KB: http://ftp.gnu.org/gnu/bison/ E2fsprogs (1.38) - 3,120 KB: http://prdownloads.sourceforge.net/e2fsprogs/ File (4.16) - 399 KB: ftp://ftp.gw.com/mirrors/pub/unix/file/ Flex (2.5.31) - 672 KB: http://prdownloads.sourceforge.net/lex/ Groff (1.19.2) - 2,096 KB: http://ftp.gnu.org/gnu/groff/ GRUB (0.97) - 772 KB: ftp://alpha.gnu.org/gnu/grub/ Hotplug (2004_09_23) - 40 KB: http://www.kernel.org/pub/linux/utils/kernel/hotplug/ Iana-Etc (2.00) - 174 KB: http://www.sethwklein.net/projects/iana-etc/downloads/ Inetutils (1.4.2) - 752 KB: http://ftp.gnu.org/gnu/inetutils/ IPRoute2 (051007) - 291 KB: http://developer.osdl.org/dev/iproute2/download/ Kbd (1.12) - 624 KB: http://www.kernel.org/pub/linux/utils/kbd/ Less (394) - 216 KB: http://www.greenwoodsoftware.com/less/ LFS-Bootscripts (3.2.1) - 32 KB: http://downloads.linuxfromscratch.org/ Libtool (1.5.20) - 1,642 KB: http://ftp.gnu.org/gnu/libtool/ Linux (2.6.12.5) - 36,522 KB: http://www.kernel.org/pub/linux/kernel/v2.6/ Man (1.6b) - 205 KB: http://primates.ximian.com/~flucifredi/man/ Man-pages (2.17) - 1,688 KB: http://www.kernel.org/pub/linux/docs/manpages/ Mktemp (1.5) - 68 KB: ftp://ftp.mktemp.org/pub/mktemp/ Module-Init-Tools (3.2.2) - 165 KB: http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/ Procps (3.2.6) - 221 KB: http://procps.sourceforge.net/ Psmisc (21.9) - 193 KB: http://prdownloads.sourceforge.net/psmisc/ Readline (5.1) - 1,456 KB: http://ftp.gnu.org/gnu/readline/ Shadow (4.0.13) - 1,057 KB: ftp://ftp.pld.org.pl/software/shadow/ Sysklogd (1.4.1) - 72 KB: http://www.infodrom.org/projects/sysklogd/download/ Sysvinit (2.86) - 88 KB: ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/ Udev (071) - 427 KB: http://www.kernel.org/pub/linux/utils/kernel/hotplug/ Udev Rules Configuration - 5 KB: http://downloads.linuxfromscratch.org/udev-config-5.rules Vim (6.4) - 3,650 KB: ftp://ftp.vim.org/pub/vim/unix/ Vim (6.4) language files (optional) - 540 KB: ftp://ftp.vim.org/pub/vim/extra/ Zlib (1.2.3) - 415 KB: http://www.zlib.net/ Total size of these packages: 148 MB }}} * binutils * gcc * glibc {{{ binutils pass1 [root@localhost tools]# ls -R .: bin i686-pc-linux-gnu include info lib man ./bin: addr2line as gprof nm objdump readelf strings ar c++filt ld objcopy ranlib size strip ./i686-pc-linux-gnu: bin lib ./i686-pc-linux-gnu/bin: ar as ld nm objdump ranlib strip ./i686-pc-linux-gnu/lib: ldscripts ./i686-pc-linux-gnu/lib/ldscripts: elf_i386.x elf_i386.xdc elf_i386.xs elf_i386.xw i386linux.xr elf_i386.xbn elf_i386.xdw elf_i386.xsc i386linux.x i386linux.xu elf_i386.xc elf_i386.xn elf_i386.xsw i386linux.xbn elf_i386.xd elf_i386.xr elf_i386.xu i386linux.xn ./include: ansidecl.h bfd.h bfdlink.h dis-asm.h symcat.h ./info: as.info as.info-2 bfd.info bfd.info-2 configure.info ld.info as.info-1 as.info-3 bfd.info-1 binutils.info gprof.info standards.info ./lib: libbfd.a libbfd.la libiberty.a libopcodes.a libopcodes.la ./man: man1 ./man/man1: addr2line.1 c++filt.1 ld.1 objcopy.1 readelf.1 strip.1 ar.1 dlltool.1 nlmconv.1 objdump.1 size.1 windres.1 as.1 gprof.1 nm.1 ranlib.1 strings.1 }}} {{{ gcc [root@localhost tools]# ls -R .: bin i686-pc-linux-gnu include info lib libexec man share ./bin: addr2line cc gcov ld ranlib strip ar cpp gprof nm readelf as gcc i686-pc-linux-gnu-gcc objcopy size c++filt gccbug i686-pc-linux-gnu-gcc-4.0.2 objdump strings ./i686-pc-linux-gnu: bin lib ./i686-pc-linux-gnu/bin: ar as ld nm objdump ranlib strip ./i686-pc-linux-gnu/lib: ldscripts ./i686-pc-linux-gnu/lib/ldscripts: elf_i386.x elf_i386.xdc elf_i386.xs elf_i386.xw i386linux.xr elf_i386.xbn elf_i386.xdw elf_i386.xsc i386linux.x i386linux.xu elf_i386.xc elf_i386.xn elf_i386.xsw i386linux.xbn elf_i386.xd elf_i386.xr elf_i386.xu i386linux.xn ./include: ansidecl.h bfd.h bfdlink.h dis-asm.h mf-runtime.h symcat.h ./info: as.info bfd.info configure.info gccinstall.info standards.info as.info-1 bfd.info-1 cpp.info gccint.info as.info-2 bfd.info-2 cppinternals.info gprof.info as.info-3 binutils.info gcc.info ld.info ./lib: gcc libiberty.a libmudflap.so.0.0.0 libmudflapth.so.0.0.0 libbfd.a libmudflap.a libmudflapth.a libopcodes.a libbfd.la libmudflap.la libmudflapth.la libopcodes.la libgcc_s.so libmudflap.so libmudflapth.so libgcc_s.so.1 libmudflap.so.0 libmudflapth.so.0 ./lib/gcc: i686-pc-linux-gnu ./lib/gcc/i686-pc-linux-gnu: 4.0.2 ./lib/gcc/i686-pc-linux-gnu/4.0.2: crtbegin.o crtbeginT.o crtendS.o install-tools libgcc_eh.a crtbeginS.o crtend.o include libgcc.a libgcov.a ./lib/gcc/i686-pc-linux-gnu/4.0.2/include: README iso646.h mm_malloc.h root syslimits.h X11 libdevmapper.h mmintrin.h slang unwind.h asm limits.h mozilla-1.7.8 stdarg.h varargs.h emmintrin.h linux openssl stdbool.h xmmintrin.h float.h mm3dnow.h pmmintrin.h stddef.h zutil.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/asm: posix_types.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/linux: a.out.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8: nspr nss ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8/nspr: md ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8/nspr/md: _darwin.h _rhapsody.h _solaris.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/mozilla-1.7.8/nss: jzconf.h secport.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/openssl: bn.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root: usr ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr: X11R6 ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr/X11R6: include ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr/X11R6/include: X11 ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/root/usr/X11R6/include/X11: Xos.h Xos_r.h Xosdefs.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/include/slang: slang.h ./lib/gcc/i686-pc-linux-gnu/4.0.2/install-tools: gsyslimits.h include macro_list mkheaders.conf ./lib/gcc/i686-pc-linux-gnu/4.0.2/install-tools/include: README iso646.h mm_malloc.h stdarg.h unwind.h emmintrin.h limits.h mmintrin.h stdbool.h varargs.h float.h mm3dnow.h pmmintrin.h stddef.h xmmintrin.h ./libexec: gcc ./libexec/gcc: i686-pc-linux-gnu ./libexec/gcc/i686-pc-linux-gnu: 4.0.2 ./libexec/gcc/i686-pc-linux-gnu/4.0.2: cc1 collect2 install-tools ./libexec/gcc/i686-pc-linux-gnu/4.0.2/install-tools: fixinc.sh fixincl mkheaders ./man: man1 man7 ./man/man1: addr2line.1 c++filt.1 gcc.1 ld.1 objcopy.1 readelf.1 strip.1 ar.1 cpp.1 gcov.1 nlmconv.1 objdump.1 size.1 windres.1 as.1 dlltool.1 gprof.1 nm.1 ranlib.1 strings.1 ./man/man7: fsf-funding.7 gfdl.7 gpl.7 ./share: }}} {{{ lfs:/mnt/lfs/sources/gcc-build$ ../gcc-4.0.2/contrib/test_summary > kk lfs:/mnt/lfs/sources/gcc-build$ vi kk lfs:/mnt/lfs/sources/gcc-build$ cat kk cat <<'EOF' | LAST_UPDATED: Obtained from CVS: -rgcc_4_0_2_release Native configuration is i686-pc-linux-gnu === g++ tests === Running target unix FAIL: g++.dg/template/array14.C (test for excess errors) XPASS: g++.old-deja/g++.other/init5.C execution test === g++ Summary === # of expected passes 11130 # of unexpected failures 1 # of unexpected successes 1 # of expected failures 68 # of unsupported tests 56 /mnt/lfs/sources/gcc-build/gcc/testsuite/../g++ version 4.0.2 === gcc tests === Running target unix XPASS: gcc.dg/vect/vect-22.c scan-tree-dump-times vectorized 3 loops 1 === gcc Summary === # of expected passes 35255 # of unexpected successes 1 # of expected failures 94 # of untested testcases 28 # of unsupported tests 328 /mnt/lfs/sources/gcc-build/gcc/xgcc version 4.0.2 === libmudflap tests === Running target unix FAIL: libmudflap.cth/pass40-frag.c execution test FAIL: libmudflap.cth/pass40-frag.c output pattern test FAIL: libmudflap.cth/pass40-frag.c (-O2) execution test FAIL: libmudflap.cth/pass40-frag.c (-O2) output pattern test FAIL: libmudflap.cth/pass40-frag.c (-O3) execution test FAIL: libmudflap.cth/pass40-frag.c (-O3) output pattern test === libmudflap Summary === # of expected passes 1282 # of unexpected failures 6 === libstdc++ tests === Running target unix XPASS: 22_locale/locale/cons/12658_thread-1.cc execution test === libstdc++ Summary === # of expected passes 3668 # of unexpected successes 1 # of expected failures 13 Compiler version: 4.0.2 Platform: i686-pc-linux-gnu configure flags: --prefix=/tools --with-local-prefix=/tools --enable-clocale=gnu --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-libstdcxx-pch --enable-languages=c,c++ EOF Mail -s "Results for 4.0.2 testsuite on i686-pc-linux-gnu" gcc-testresults@gcc.gnu.org && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.sum /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.sum.sent && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.sum /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.sum.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.sum /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.sum.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.sum.sent && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.log /mnt/lfs/sources/gcc-build/./gcc/testsuite/g++.log.sent && mv /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.log /mnt/lfs/sources/gcc-build/./gcc/testsuite/gcc.log.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.log /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.log.sent && mv /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.log /mnt/lfs/sources/gcc-build/./i686-pc-linux-gnu/libstdc++-v3/testsuite/libstdc++.log.sent && true }}} * 6장 gcc * /sources/gcc-build/gcc/Makefile * insert -I/usr/include {{{ # Options to use when compiling crtbegin/end. CRTSTUFF_CFLAGS = -O2 $(GCC_CFLAGS) $(INCLUDES) -I/usr/include $(MULTILIB_CFLAGS) -g0 \ -finhibit-size-directive -fno-inline-functions -fno-exceptions \ -fno-zero-initialized-in-bss -fno-unit-at-a-time # The GCC to use for compiling libgcc.a and crt*.o. # Usually the one we just built. # Don't use this as a dependency--use $(GCC_PASSES) or $(GCC_PARTS). GCC_FOR_TARGET = $(STAGE_CC_WRAPPER) ./xgcc -B./ -B$(build_tooldir)/bin/ -isystem $(build_tooldir)/include -isystem $(build_tooldir)/sys-include -I/usr/include -L$(objdir)/../ld }}} * patch 안 된 것을 사용해야 함. === in company === * 6.11 glibc * multibyte study {{{ root:/sources/glibc-build# grep Error glibc-check-log make[2]: [/sources/glibc-build/posix/annexc.out] Error 1 (ignored) make[2]: *** [/sources/glibc-build/nptl/tst-attr3.out] Error 1 make[2]: *** [/sources/glibc-build/nptl/tst-clock2.out] Error 1 make[1]: *** [nptl/tests] Error 2 make: *** [check] Error 2 }}} * coreutils * make NON_ROOT_USERNAME=dummy RUN_EXPENSIVE_TESTS=yes check * gettext tar * inetutil think about PAM * perl tar * tar already patch gcc related * util-linux tar === 2006. 1. 23 === * linux from scratch 를 이용하는 것은 배우는 것은 많이 있겠지만, 여러가지 문제가 있다. * centos 를 기반으로 하는 것이 좋을 것 같다. * mach 를 이해해야 함. * 한글 문제를 이해해야 함. * 어디까지를 centos 로 하고, 어디까지를 새로 만들것인가? * 우선 centos 에 gnome 설치를 위한 기분 작업을 생각해 보자. * gnome 이외에 설치해야 하는 것들은 ? * centos 의 core, base 의 dependency graph 만들 것 * 각 패키지의 source 의 dependency graph 도 만들 것 * /dev/sda12 centos workstation * /dev/sda13 centos minimal * /dev/sda14 centos base * /dev/sda15 centos dev * minimal 과 base 는 동일함. === structure === {{{ hardware->kernel-modules->kernel->libraries->applications/servers harware(screen,mouse,hard drive,modem...) kernel modules allow the kernel to communicate with hardware the kernel controls the hardware and communicates with libraries libraries contain common functions or logic that program need applications do what you want(edit document,read mail) servers do thing that need to be done without interventions like printing, apache, disk io, swapping there is also a desktop view: video hardware->video kernel modules->kernel->x libs->x server(xfree/xorg)->display manager->window manager x libs include kde,qt and gnome libs. there are tool kits for the window managers to draw widgets and keep track of windows display managers are xdm,gdm,kdm. this allow you to login to the desktop environment like twm,gnome,kde windowmanagers keep track of the windows and give them the 'buttons, 'borders' and 'arrow'. there is also a unix/pc boot process: power on-> bios->kernel->hardware/hard disk detection-> sysv init system->start servers->console login }}} === 2006.4.14 === {{{ binary package source package patch files binary to source source to binary pkg-config distro version binary package dependency source package dependency configure.in, configure.ac dependency binary packages install order source packages install order package's category original source code version distro version }}} * package 분류가 필요한 것은 맞는 것 같은데.... === debian packages === * base-installer * Standard system * Desktop environment * Web server * Print server * DNS server * File server * Mail server * SQL database * Laptop