· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Jin LiveCD/Gfx Boot

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

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
[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
[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
 


ID
Password
Join
Your mode of life will be changed for the better because of new developments.


sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-05-10 10:05:02
Processing time 0.0176 sec