== JinLiveCD/GfxBoot == grub ¿¡¼­ À̹ÌÁö »ç¿ë È®Àå * http://cvs.sourceforge.net/viewcvs.py/morphix/ * gfxboot, gfxboot-grub ´Ù¿î·Îµå * export CVS_RSH=ssh * cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/morphix co -P gfxboot * cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/morphix co -P gfxboot-grub * grub ´Ù¿î·Îµå * patch Àû¿ë * [root@localhost grub-0.95]# pwd * /usr/src/redhat/BUILD/grub-0.95 * [root@localhost grub-0.95]# patch -p1 < /root/gfxboot/gfxboot-grub/grub/debian/patches/grub-splashscreen-v5.patch * ./configure * make * -fwritable-strings ÀÇ ¹®Á¦ (FC3 warning, FC4 error) * gfxboot make make install * gfxboot-grub make * cp grub to /sbin * cp stage2 to /boot/grub * cp /gfxboot-grub/boot/message /boot/grub * edit grub.conf * #splashimage=(hd0,4)/boot/grub/splash.xpm.gz * gfxmenu (hd0,4)/boot/grub/message * #hiddenmenu * grub-install --root-directory=/mnt/sda5 /dev/sda * ¿Ö ¾ÈµÇ´Â °ÍÀΰ¡? * stage2.c ÀÇ if ¹®À» ÀâÀº ÈÄ ¼öÇàÇÏ´Ï, µ¿ÀÛÇÔ. * ´Ù½Ã ¾ø¾Ö°í ¼öÇàÇصµ µÊ. * ½Å±âÇÑ ÀÏÀÌ´Ù. * gcc ¿Í cpp ÀÇ ¹®Á¦ÀÓ. 3.4 ¹öÀüÀº µ¿ÀÛÇÔ. * 4.0 ¹öÀüÀº upgrade µÈ °Íµµ µ¿ÀÛ ¾È ÇÔ. * writable-strings ÀÇ ¹®Á¦ÀÎÁö´Â ¸ð¸£°Ú½¿. * -fwritable-strings ¸¦ -Wwrite-strings ·Î ¼öÁ¤Çϸé ÄÄÆÄÀÏÀº µÇ³ª, ¿À·ù ¹ß»ý * ȸ»ç¿¡¼­´Â µÇ°í, Áý¿¡¼­´Â ¿À·ù ¹ß»ý * gfxboot-grub/common.inc * frame1: menu display * frame2: kernel option input * frame3: boot option (text) * frame4: scroll bar * framex: progress bar * panel.text.y 461 * graphics_file ¼³Á¤ ( stage2/builtins.c ) {{{ static int gfxmenu_func (char *arg, int flags) { memmove(graphics_file, arg, sizeof graphics_file - 1); graphics_file[sizeof graphics_file - 1] = 0; return 0; } }}} * run_graphics_menu ( grub/stage2/stage2.c ) * set gfx_data * grub_open(graphics_file) * i = grub_read(buf, buf_size); * memory ¼³Á¤ * message ºÐ¼® ( cpio file ) * gfx_init(gfx_data) ( stage2/asm.S ) * pushl gfx_ofs_jmp_table + 4 * 0 (%di) * gfxboot/gfxboot/bincode.asm ÀÇ gfx_init * gfx_setup_menu(gfx_data); ( stage2/asm.S ) * i = gfx_input(gfx_data, &selected_entry); * gfx_done(gfx_data); === grub stage2 === * cmain * builtin * run_graphics_menu or run_menu * run_graphics_menu °¡ ½ÇÆÐÇϸé run_menu ¼öÇà * run_graphics_menu * grub_open(graphics_file): /boot/grub/message * i = grub_read(buf, buf_size); * grub_close(); * gfx_init(gfx_data) * gfx_setup_menu(gfx_data); * gfx_done(gfx_data); * run_script(new_config, heap); * run_menu * cls() * display menu and getkey * boot_entry: * cls() * setcursor(1) * run_script (cur_entry, heap) * run_script (char *script, char *heap) : cmdline.c * builtin = find_command (heap); ÇÑ ÈÄ, * (builtin->func) (arg, BUILTIN_SCRIPT); * heap ¿¡ ÀÖ´Â builtin function À» ¸ðµÎ ¼öÇàÇÑ ÈÄ¿¡´Â heap ¿¡ boot ¸¦ ³Ö¾î, boot ¼öÇàÇÔ. {{{ /* The table of builtin commands. Sorted in dictionary order. */ struct builtin *builtin_table[] = { #ifdef SUPPORT_GRAPHICS &builtin_background, #endif &builtin_blocklist, &builtin_boot, #ifdef SUPPORT_NETBOOT &builtin_bootp, #endif /* SUPPORT_NETBOOT */ &builtin_cat, &builtin_chainloader, &builtin_clear, &builtin_cmp, &builtin_color, &builtin_configfile, &builtin_debug, &builtin_default, : Set the default entry #ifdef GRUB_UTIL &builtin_device, #endif /* GRUB_UTIL */ #ifdef SUPPORT_NETBOOT &builtin_dhcp, #endif /* SUPPORT_NETBOOT */ &builtin_displayapm, &builtin_displaymem, #ifdef GRUB_UTIL &builtin_dump, #endif /* GRUB_UTIL */ &builtin_embed, &builtin_fallback, Set the fallback entry &builtin_find, #ifdef SUPPORT_GRAPHICS &builtin_foreground, #endif &builtin_fstest, &builtin_geometry, &builtin_gfxmenu, &builtin_halt, &builtin_help, &builtin_hiddenmenu, Hide the menu interface &builtin_hide, #ifdef SUPPORT_NETBOOT &builtin_ifconfig, #endif /* SUPPORT_NETBOOT */ &builtin_impsprobe, &builtin_initrd, &builtin_install, &builtin_ioprobe, &builtin_kernel, &builtin_lock, &builtin_makeactive, &builtin_map, #ifdef USE_MD5_PASSWORDS &builtin_md5crypt, #endif /* USE_MD5_PASSWORDS */ &builtin_module, &builtin_modulenounzip, &builtin_pager, &builtin_partnew, &builtin_parttype, &builtin_password, &builtin_pause, #ifdef GRUB_UTIL &builtin_quit, #endif /* GRUB_UTIL */ #ifdef SUPPORT_NETBOOT &builtin_rarp, #endif /* SUPPORT_NETBOOT */ &builtin_read, &builtin_reboot, &builtin_root, &builtin_rootnoverify, &builtin_savedefault, #ifdef SUPPORT_SERIAL &builtin_serial, #endif /* SUPPORT_SERIAL */ &builtin_setkey, &builtin_setup, #ifdef SUPPORT_GRAPHICS &builtin_splashimage, #endif /* SUPPORT_GRAPHICS */ #if defined(SUPPORT_SERIAL) || defined(SUPPORT_HERCULES) || defined(SUPPORT_GRAPHICS) &builtin_terminal, #endif /* SUPPORT_SERIAL || SUPPORT_HERCULES || SUPPORT_GRAPHICS */ #ifdef SUPPORT_SERIAL &builtin_terminfo, #endif /* SUPPORT_SERIAL */ &builtin_testload, &builtin_testvbe, #ifdef SUPPORT_NETBOOT &builtin_tftpserver, #endif /* SUPPORT_NETBOOT */ &builtin_timeout, Set the timeout &builtin_title, Start a menu entry &builtin_unhide, &builtin_uppermem, &builtin_vbeprobe, 0 }; }}} * boot_func (char *arg, int flags) (builtins.c) * current_term->shutdown * linux_boot (); or big_linux_boot (); (asm.S) === grub === * grub-install ¿¡ ÀÇÇØ stage1 Àº MBR À̳ª ÀÏÁ¤ ÆÄƼ¼ÇÀÇ boot sector ¶Ç´Â floppy disk ¿¡ ÀúÀåÇϸ鼭, stage2 ÀÇ À§Ä¡¸¦ °°ÀÌ ÀúÀåÇÑ´Ù. * stage1 Àº bios ¿¡ ÀÇÇØ ¸Þ¸ð¸®¿¡ ¿Ã¶ó ¿À°í, ¼öÇàµÈ´Ù. * stage1 Àº stage2 ¸¦ ÀÐ¾î ¸Þ¸ð¸®¿¡ ¿Ã¸®°í, jmp ÇÑ´Ù. * stage1.5 ´Â ÆÄÀÏ ½Ã½ºÅÛ¿¡ °ü·ÃµÈ ³»¿ëµéÀÌ´Ù. * ´©°¡ ¿Ã¸®´Â°¡? ¾î¶»°Ô »ç¿ëÇϴ°¡? * stage2 ´Â config ÆÄÀÏÀ» Àаí, ÇÊ¿äÇÑ ÀÛ¾÷À» ¼öÇàÇÑ´Ù. === korean character === * mkdir ucsfont * cd ucsfont * http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz * http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts-asian.tar.gz * mv ucs-fonts.tar.gz ucsfont/ * mv ucs-fonts-asian.tar.gz ucsfont/ * unzip *.gz * cd .. * cp -Rp ucsfont /usr/X11R6/lib/X11/fonts/ * mkfontdir * make 16x16.font {{{ getx11font -v -l 18 -p 2,4 \ -c ISO-8859-15 -c ISO-8859-2 -c koi8-r \ -t help-boot.ko.html \ -t help-install.ko.html \ -f -misc-fixed-medium-r-normal-ko-18-120-100-100-c-180-iso10646-1 \ 16x16.font >16x16.font.log }}} * xlsfonts * http://openlab.ring.gr.jp/efont/unicode/ {{{ [root@localhost efont-unicode-bdf-0.4.2-src]# make tools/hexmerge taipei10_uni.hex gb10fs_uni.hex gulim10_uni.hex K10-1_uni.hex K10-2_uni.hex > f10_source.hex.tmp && \ mv f10_source.hex.tmp f10_source.hex Died at tools/hexmerge line 9. make: *** [f10_source.hex] ¿À·ù 255 }}} * bdfresize °¡ ¾ø´Â °ÍÀÌ ¹®Á¦ÀÎ °Í °°À½. * K14-1_uni.hex ÆÄÀÏ¿¡ ù¹ø° ÁÙ 14 14 °¡ ¾øÀ½. * http://openlab.ring.gr.jp/efont/dist/tools/bdfresize/ {{{ [root@localhost bdfresize-1.5]# make gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wunused -Wuninitialized -Wmissing-prototypes -Wmissing-declarations -c bdfresize.c gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -Wall -Wunused -Wuninitialized -Wmissing-prototypes -Wmissing-declarations -c charresize.c charresize.c: In function `processChar': charresize.c:49: error: conflicting types for 'malloc' make: *** [charresize.o] ¿À·ù 1 }}} * rpm -ivh bdfresize-1.5-413.i586.rpm * mkfontdir /usr/X11R6/lib/X11/fonts/efont/ * xset +fp /usr/X11R6/lib/X11/fonts/efont * xset fp rehash === Makefile === {{{ $(addprefix prefix,names...) The argument names is regarded as a series of names, separated by whitespace; prefix is used as a unit. The value of prefix is prepended to the front of each individual name and the resulting larger names are concatenated with single spaces between them. For example, $(addprefix src/,foo bar) produces the result `src/foo src/bar'. }}} {{{ $(suffix names...) Extracts the suffix of each file name in names. If the file name contains a period, the suffix is everything starting with the last period. Otherwise, the suffix is the empty string. This frequently means that the result will be empty when names is not, and if names contains multiple file names, the result may contain fewer file names. For example, $(suffix src/foo.c src-1.0/bar.c hacks) produces the result `.c .c'. }}} {{{ $(basename names...) Extracts all but the suffix of each file name in names. If the file name contains a period, the basename is everything starting up to (and not including) the last period. Periods in the directory part are ignored. If there is no period, the basename is the entire file name. For example, $(basename src/foo.c src-1.0/bar hacks) produces the result `src/foo src-1.0/bar hacks'. }}} {{{ $(wildcard pattern) The argument pattern is a file name pattern, typically containing wildcard characters (as in shell file name patterns). The result of wildcard is a space-separated list of the names of existing files that match the pattern. See section Using Wildcard Characters in File Names. }}} {{{ $(notdir names...) Extracts all but the directory-part of each file name in names. If the file name contains no slash, it is left unchanged. Otherwise, everything through the last slash is removed from it. A file name that ends with a slash becomes an empty string. This is unfortunate, because it means that the result does not always have the same number of whitespace-separated file names as the argument had; but we do not see any other valid alternative. For example, $(notdir src/foo.c hacks) produces the result `foo.c hacks'. }}} === gfxboot-grub === * rm install.config * rm po/*.po * cp po/bootloader.pot po/ko.po * rm help-install.en.html * edit keytables.inc * rm rm keymap* * rm servers.cfg {{{ edited keytables.inc /.km.locale 0 def /.km.map 1 def % must not be empty /keymaps [ [ "en" .undef ] ] def }}} {{{ Makefile diff 6a7 > HELPINST = $(addprefix install/help,$(suffix $(basename $(wildcard help-install.*.html)))) 8a10 > HELPINST_ALL = $(notdir $(HELPINST)) 10c12,16 < DEFAULT_LANG = ko --- > DEFAULT_LANG = en > > FILES_INST = init languages $(TRANSLATIONS) 16x16.font background.pcx \ > splash.pcx kroete.data \ > $(HELPINST_ALL) 18a25 > FILES_INST += lang 24a32,34 > install/help.%: help-install.%.html install > $(HELP2TXT) $< >$@ > 29c39 < boot: po --- > boot install: po 35c45 < themes: bootdir --- > themes: bootdir installdir 46a57,65 > installdir: install.config $(INCLUDES) $(HELPINST) > @cp -a po/texts.* install > @for i in $(FILES_INST) ; do [ -f $$i ] && cp $$i install ; done ; true > $(MKBOOTMSG) $(BFLAGS) -l install/log -c $< install/init > ifdef DEFAULT_LANG > @echo $(DEFAULT_LANG) >install/lang > endif > @sh -c 'cd install; echo $(FILES_INST) | sed -e "s/ /\n/g" | cpio --quiet -o >bootlogo' > 49,51c68,74 < -c ISO-8859-15 \ < -t help-boot.ko.html \ < -t help-install.ko.html \ --- > -c ISO-8859-15 -c ISO-8859-2 -c koi8-r \ > -t help-boot.ja.html \ > -t help-install.ja.html \ > -t po/ja.po \ > -t install/log -t boot/log \ > -f -efont-fixed-medium-r-normal--16-160-75-75-c-80-iso10646-1 \ > -f -efont-fixed-medium-r-normal--16-160-75-75-c-160-iso10646-1 \ 56,57c79,80 < rm -f bootdir *~ < rm -rf boot --- > rm -f bootdir installdir *~ > rm -rf boot install }}} * DEFAULT_LANG = ko * font: ¼öÁ¤ ÇÊ¿ä. === prime function === * º¯¼ö¿¡ »ó¼ö ¼³Á¤ * /x 6 def * º¯¼ö¿¡ Âü, °ÅÁþ ¼³Á¤ * /true 0 0 eq def * ÇÔ¼ö Á¤ÀÇ * /.value { t_int settype } def * /t_int 1 def * settype: prim function * ( obj type ) -> ( type ) : Á¤È®È÷ ¸ð¸£°ÚÀ½ * .value : arg ¸¦ int type À¸·Î ¼³Á¤ * ( obj ) ==> ( int ) * cvp: ( obj ) ==> ( ptr ) * /cvp { t_ptr settype } def * cvs: ( obj ) ==> ( string ) * /cvs { t_string settype } def * string.print: Print string (for debugging). {{{ /string.print { dup currentpoint currentpoint 5 -1 roll strsize image moveto show } def }}} * stack status * string string currentpoint currentpoint * statck status after 5 -1 roll * string currentpoint currentpoint string * after strsize * string currentpoint currentpoint width height * after image * string currentpoint * after moveto * string * show * ³¡ === boot.config === * 640 480 8 findmode setmode not { false .end } if * "background.pcx" findfile setimage loadpalette * bsplash.show ( do nothing ) * ¿©±â¼­´Â ´ÜÁö ±×¸²¸¸ ¿Ã¸®°í ³¡³². === /grub/stage2/stage2.c === {{{ ; jmp table to interface functions jt_init dw gfx_init jt_done dw gfx_done jt_input dw gfx_input jt_menu_init dw gfx_menu_init jt_infobox_init dw gfx_infobox_init jt_infobox_done dw gfx_infobox_done jt_progress_init dw gfx_progress_init jt_progress_done dw gfx_progress_done jt_progress_update dw gfx_progress_update jt_progress_limit dw gfx_progress_limit jt_password_init dw gfx_password_init jt_password_done dw gfx_password_done }}} * gfx_init : stage2.c * pushl gfx_ofs_jmp_table + 4 * 0 (%di) asm.S * * gfxboot-grub ¹ØÀÇ background1.pcx µð½ºÇ÷¹ÀÌ ÇÏ°í ³¡³². * gfx_setup_menu(gfx_data); stage2.c * lcall %ds: *gfx_ofs_jmp_table + 4 * 3 (%bx) asm.S * gfx_menu_init : bincode.asm * mov cx,cb_MenuInit * MenuInit : common.inc (gfxboot-grub) * gfx_input : stage2.c * lcall *gfx_ofs_jmp_table + 4 * 2 (%bx) asm.S * gfx_input bincode.asm * mov cx,cb_KeyEvent * KeyEvent common.inc * http://chem.skku.ac.kr/~wkpark/baekmuk/iso10646/ === install ºÎºÐ Á¦°Å === * Makefile {{{ 6a7 > HELPINST = $(addprefix install/help,$(suffix $(basename $(wildcard help-install.*.html)))) 8a10 > HELPINST_ALL = $(notdir $(HELPINST)) 10c12,16 < DEFAULT_LANG = ko --- > DEFAULT_LANG = en > > FILES_INST = init languages $(TRANSLATIONS) 16x16.font background.pcx \ > splash.pcx kroete.data \ > $(HELPINST_ALL) 18a25 > FILES_INST += lang 24a32,34 > install/help.%: help-install.%.html install > $(HELP2TXT) $< >$@ > 29c39 < boot: po --- > boot install: po 35c45 < themes: bootdir --- > themes: bootdir installdir 46a57,65 > installdir: install.config $(INCLUDES) $(HELPINST) > @cp -a po/texts.* install > @for i in $(FILES_INST) ; do [ -f $$i ] && cp $$i install ; done ; true > $(MKBOOTMSG) $(BFLAGS) -l install/log -c $< install/init > ifdef DEFAULT_LANG > @echo $(DEFAULT_LANG) >install/lang > endif > @sh -c 'cd install; echo $(FILES_INST) | sed -e "s/ /\n/g" | cpio --quiet -o >bootlogo' > 49,50c68,74 font ºÎºÐÀº Áý¿¡¼­ Àû¿ëÇÒ °Í 55,56c79,80 < rm -f bootdir *~ < rm -rf boot --- > rm -f bootdir installdir *~ > rm -rf boot install }}} * common.inc * syslinux °¡ set µÇ´Â °ÍÀº install cd ÀÇ °æ¿ìÀÓ. * ÀÌ¿¡ ÇØ´çÇÏ´Â ºÎºÐÀ» ¸ðµÎ ¾ø¿£´Ù. * syslinux * common.inc help.inc panel.inc system.inc window.inc * system.inc ÀÇ syslinux define Àº ±×³É µÐ´Ù. * is_second_side * do_64bit_check * 64bit_source * is_dvd * 32bit_popup * 64bit_popup * help-boot.en.html * panel.inc * window.inc {{{ diff -r ../gfxboot-grub/boot.config ../gfxboot-grub.org/boot.config 20a21 > %% include dia_install.inc diff -r ../gfxboot-grub/common.inc ../gfxboot-grub.org/common.inc 14,16c14,16 < %/is_second_side { < % syslinux usernote 1 and 0 ne and < %} def --- > /is_second_side { > syslinux usernote 1 and 0 ne and > } def 25,27c25,27 < %/do_64bit_check { < % syslinux usernote 2 and 0 ne and < %} def --- > /do_64bit_check { > syslinux usernote 2 and 0 ne and > } def 36,38c36,38 < %/64bit_source { < % syslinux usernote 4 and 0 ne and < %} def --- > /64bit_source { > syslinux usernote 4 and 0 ne and > } def 47,49c47,49 < %/is_dvd { < % syslinux usernote 8 and 0 ne and < %} def --- > /is_dvd { > syslinux usernote 8 and 0 ne and > } def 141,144c141,144 < % window.action actInstallOK eq { < % /window.action actNothing def < % install.ok < % } if --- > window.action actInstallOK eq { > /window.action actNothing def > install.ok > } if 146,149c146,149 < % window.action actInstallCancel eq { < % /window.action actNothing def < % install.cancel < % } if --- > window.action actInstallCancel eq { > /window.action actNothing def > install.cancel > } if 259a260,265 > xmenu.install { > install.option "" ne { > install.option "%s " bc.cmd dup length add sprintf > } if > } if > 293c299 < % is_second_side { --- > is_second_side { 295c301 < % notimeout dvd_popup --- > notimeout dvd_popup 297c303 < % } { --- > } { 299,305c305,311 < % do_64bit_check { < % 64bit { < % 64bit_source not { notimeout 32bit_popup } if < % } { < % 64bit_source { notimeout 64bit_popup } if < % } ifelse < % } if --- > do_64bit_check { > 64bit { > 64bit_source not { notimeout 32bit_popup } if > } { > 64bit_source { notimeout 64bit_popup } if > } ifelse > } if 307c313 < % } ifelse --- > } ifelse 586,609c592,615 < % info.type 2 eq < % is_second_side and { < % txt_dvd_warning info.msg < % over length info.msg length 1 add add "%s%s" exch < % dup string dup /info.msg exch def snprintf < % } if < < % syslinux info.type 3 eq and { < % dup .title txt_change_disk_title put < % 0 getinfo 1 add txt_insert_disk info.tmpmsg sprintf < % /info.msg info.tmpmsg def < % } if < < % syslinux info.type 4 eq and { < % dup .title txt_change_disk_title put < % 1 getinfo 15 not and { < % 0 getinfo 1 add < % txt_insert_disk3 info.tmpmsg sprintf < % } { < % 0 getinfo 1 add 1 getinfo 1 add < % txt_insert_disk2 info.tmpmsg sprintf < % } ifelse < % /info.msg info.tmpmsg def < % } if --- > info.type 2 eq > is_second_side and { > txt_dvd_warning info.msg > over length info.msg length 1 add add "%s%s" exch > dup string dup /info.msg exch def snprintf > } if > > syslinux info.type 3 eq and { > dup .title txt_change_disk_title put > 0 getinfo 1 add txt_insert_disk info.tmpmsg sprintf > /info.msg info.tmpmsg def > } if > > syslinux info.type 4 eq and { > dup .title txt_change_disk_title put > 1 getinfo 15 not and { > 0 getinfo 1 add > txt_insert_disk3 info.tmpmsg sprintf > } { > 0 getinfo 1 add 1 getinfo 1 add > txt_insert_disk2 info.tmpmsg sprintf > } ifelse > /info.msg info.tmpmsg def > } if 859,873c865,874 < % syslinux { < % dup "linux" eq { pop txt_install return } if < % dup "failsafe" eq { pop txt_safe_install return } if < % dup "noacpi" eq { pop txt_noacpi_install return } if < % dup "manual" eq { pop txt_manual_install return } if < % dup "rescue" eq { pop txt_rescue return } if < % dup "hwcheck" eq { pop "Hardware Check" return } if < % dup "harddisk" eq { pop txt_boot_harddisk return } if < % dup "eval" eq { pop "LiveEval" return } if < % } { < % dup "linux" eq { pop "Linux" return } if < % dup "failsafe" eq { pop txt_safe_linux return } if < % dup "windows" eq { pop "Windows" return } if < % } ifelse < { --- > syslinux { > dup "linux" eq { pop txt_install return } if > dup "failsafe" eq { pop txt_safe_install return } if > dup "noacpi" eq { pop txt_noacpi_install return } if > dup "manual" eq { pop txt_manual_install return } if > dup "rescue" eq { pop txt_rescue return } if > dup "hwcheck" eq { pop "Hardware Check" return } if > dup "harddisk" eq { pop txt_boot_harddisk return } if > dup "eval" eq { pop "LiveEval" return } if > } { 877c878 < } --- > } ifelse 1069,1073c1070,1074 < % dup keyF7 eq syslinux and { < % "kroete.data" findfile kroete.dir idle < % /kroete.dir kroete.dir 1 xor def < % pop 0 < % } if --- > dup keyF7 eq syslinux and { > "kroete.data" findfile kroete.dir idle > /kroete.dir kroete.dir 1 xor def > pop 0 > } if 1075,1078c1076,1079 < % dup keyF8 eq syslinux and { < % .undef 0 idle < % pop 0 < % } if --- > dup keyF8 eq syslinux and { > .undef 0 idle > pop 0 > } if 1080,1086c1081,1087 < % dup keyShiftF3 eq syslinux and debug 3 ge and { < % currentcolor black setcolor < % currentpoint 0 0 moveto < % "eject " print bootdrive eject print < % moveto setcolor < % pop 0 < % } if --- > dup keyShiftF3 eq syslinux and debug 3 ge and { > currentcolor black setcolor > currentpoint 0 0 moveto > "eject " print bootdrive eject print > moveto setcolor > pop 0 > } if 1088,1094c1089,1095 < % dup keyShiftF5 eq syslinux and debug 3 ge and { < % currentcolor black setcolor < % currentpoint 100 0 moveto < % bootdrive print < % moveto setcolor < % pop 0 < % } if --- > dup keyShiftF5 eq syslinux and debug 3 ge and { > currentcolor black setcolor > currentpoint 100 0 moveto > bootdrive print > moveto setcolor > pop 0 > } if 1198,1199c1199,1200 < %/32bit_popup { < % window.dialog --- > /32bit_popup { > window.dialog 1201,1207c1202,1208 < % dup .title "Cool computer, but..." put < % dup .text "You are about to install 32-bit software on a 64-bit computer." put < % dup .buttons [ < % button.continue button.default actNothing button.setaction < % ] put < % dup window.init < % window.show --- > dup .title "Cool computer, but..." put > dup .text "You are about to install 32-bit software on a 64-bit computer." put > dup .buttons [ > button.continue button.default actNothing button.setaction > ] put > dup window.init > window.show 1209c1210 < %} def --- > } def 1217,1218c1218,1219 < %/64bit_popup { < % window.dialog --- > /64bit_popup { > window.dialog 1220,1226c1221,1227 < % dup .title "Cool software, but..." put < % dup .text "This is a 32-bit computer. You cannot use 64-bit software on it." put < % dup .buttons [ < % button.reboot button.default actReboot actNoClose or button.setaction < % ] put < % dup window.init < % window.show --- > dup .title "Cool software, but..." put > dup .text "This is a 32-bit computer. You cannot use 64-bit software on it." put > dup .buttons [ > button.reboot button.default actReboot actNoClose or button.setaction > ] put > dup window.init > window.show 1228c1229 < %} def --- > } def diff -r ../gfxboot-grub/help.inc ../gfxboot-grub.org/help.inc 61c61 < % syslinux not { --- > syslinux not { 69c69 < % } if --- > } if Only in ../gfxboot-grub.org/: install.config Only in ../gfxboot-grub.org/: keymap.cs.inc Only in ../gfxboot-grub.org/: keymap.de.inc Only in ../gfxboot-grub.org/: keymap.es.inc Only in ../gfxboot-grub.org/: keymap.fr.inc Only in ../gfxboot-grub.org/: keymap.hu.inc Only in ../gfxboot-grub.org/: keymap.it.inc Only in ../gfxboot-grub.org/: keymap.ja.inc Only in ../gfxboot-grub.org/: keymap.ru.inc Only in ../gfxboot-grub.org/: keymap.sk.inc Only in ../gfxboot-grub.org/: keymap.sl.inc Only in ../gfxboot-grub.org/: keymap.sv.inc diff -r ../gfxboot-grub/keytables.inc ../gfxboot-grub.org/keytables.inc 15a16,27 > %% include keymap.cs.inc > %% include keymap.es.inc > %% include keymap.fr.inc > %% include keymap.de.inc > %% include keymap.it.inc > %% include keymap.ja.inc > %% include keymap.hu.inc > %% include keymap.ru.inc > %% include keymap.sk.inc > %% include keymap.sl.inc > %% include keymap.sv.inc > 17a30 > [ "cs" keymap.cs ] 18a32,41 > [ "es" keymap.es ] > [ "fr" keymap.fr ] > [ "de" keymap.de ] > [ "it" keymap.it ] > [ "ja" keymap.ja ] > [ "hu" keymap.hu ] > [ "ru" keymap.ru ] > [ "sk" keymap.sk ] > [ "sl" keymap.sl ] > [ "sv" keymap.sv ] Only in ../gfxboot-grub.org/po: cs.po Only in ../gfxboot-grub.org/po: de.po Only in ../gfxboot-grub.org/po: es.po Only in ../gfxboot-grub.org/po: fr.po Only in ../gfxboot-grub.org/po: hu.po Only in ../gfxboot-grub.org/po: it.po Only in ../gfxboot-grub.org/po: ja.po Only in ../gfxboot-grub/po: ko.po Only in ../gfxboot-grub.org/po: nl.po Only in ../gfxboot-grub.org/po: ro.po Only in ../gfxboot-grub.org/po: ru.po Only in ../gfxboot-grub.org/po: sk.po Only in ../gfxboot-grub.org/po: sl.po Only in ../gfxboot-grub.org/po: sv.po Only in ../gfxboot-grub.org/: servers.cfg diff -r ../gfxboot-grub/window.inc ../gfxboot-grub.org/window.inc 529,531c529,530 < % dialog.tmp .ed.list get .undef ne syslinux and < % { xsavescreen } { savescreen } ifelse < savescreen --- > dialog.tmp .ed.list get .undef ne syslinux and > { xsavescreen } { savescreen } ifelse 639,642c638,641 < % dup actInstallOK eq { < % install.ok < % exch not exch < % } if --- > dup actInstallOK eq { > install.ok > exch not exch > } if }}} * ¿À·ù * common.inc ÀÇ menuitemmap ¿¡¼­ {} ¸¦ »©¾ß ÇÔ. === po === {{{ txt_ok txt_cancel txt_reboot txt_continue txt_error_title txt_info_title txt_load_kernel_title txt_load_memtest txt_load_kernel txt_memtest txt_bootoptions }}}