diff options
-rw-r--r-- | bincode.asm | 22 | ||||
-rwxr-xr-x | gfxboot | 20 | ||||
-rwxr-xr-x | mk_vocabulary | 2 | ||||
-rw-r--r-- | themes/openSUSE/src/bsplash.inc | 4 | ||||
-rw-r--r-- | themes/openSUSE/src/common.inc | 4 |
5 files changed, 39 insertions, 13 deletions
diff --git a/bincode.asm b/bincode.asm index b9f1ba6..f404ac0 100644 --- a/bincode.asm +++ b/bincode.asm @@ -9402,6 +9402,28 @@ prim_chdir_90: ret +;; mount - re-read filesystem meta data +; +; group: system +; +; ( -- int1 ) +; +; int1: error +; +; example +; mount pop % re-read iso fs after cdrom change +; + + bits 32 + +prim_mount: + mov al,6 + call gfx_cb ; (re)mount + mov dl,t_int + movzx eax,al + jmp pr_getobj + + ;; _readsector - read sector ; ; group: system @@ -1579,7 +1579,7 @@ sub prepare_grub close F; for (@opt_test_addfiles) { - system "cp $_ $dst/boot" and die "error copying file: $_\n"; + system "cp -r $_ $dst/boot" and die "error copying file: $_\n"; } for (@opt_test_rmfiles) { @@ -1697,7 +1697,7 @@ sub prepare_lilo close F; for (@opt_test_addfiles) { - system "cp $_ $dst/boot" and die "error copying file: $_\n"; + system "cp -r $_ $dst/boot" and die "error copying file: $_\n"; } for (@opt_test_rmfiles) { @@ -1771,12 +1771,6 @@ sub prepare_isolinux mkdir "$dst/boot/$arch_dir/loader", 0755; } - system "cp $opt_syslinux/usr/share/syslinux/isolinux.bin $dst/$loader" and die "error: no isolinux\n"; - if($loader ne "") { - system "isolinux-config --base=/boot/$arch_dir/loader $dst/${loader}isolinux.bin" . - ($opt_verbose ? "" : " >/dev/null"); - } - my $bl_unpacked; ( $bl_unpacked ) = unpack_archive $file; my $bl_packed = pack_archive $bl_unpacked, 'bootlogo'; @@ -1821,8 +1815,9 @@ sub prepare_isolinux close F; } + system "cp $opt_syslinux/usr/share/syslinux/isolinux.bin $dst/$loader" and die "error: no isolinux\n"; for (@opt_test_addfiles) { - system "cp $_ $dst/${loader}" and die "error copying file: $_\n"; + system "cp -r $_ $dst/${loader}" and die "error copying file: $_\n"; } for (@opt_test_rmfiles) { @@ -1830,6 +1825,11 @@ sub prepare_isolinux system "cd $dst/${loader} ; rm -f $_" and die "error deleting file: $_\n"; } + if($loader ne "") { + system "isolinux-config --base=/boot/$arch_dir/loader $dst/${loader}isolinux.bin" . + ($opt_verbose ? "" : " >/dev/null"); + } + if($opt_32 && $opt_64) { symlink "i386", "$dst/boot/x86_64" if -d "$dst/boot/i386"; } @@ -1911,7 +1911,7 @@ sub prepare_syslinux } for (@opt_test_addfiles) { - system "cp $_ $dst" and die "error copying file: $_\n"; + system "cp -r $_ $dst" and die "error copying file: $_\n"; } for (@opt_test_rmfiles) { diff --git a/mk_vocabulary b/mk_vocabulary index 157fb31..112842a 100755 --- a/mk_vocabulary +++ b/mk_vocabulary @@ -58,7 +58,7 @@ getbyte putbyte getword putword getdword putdword inbyte outbyte - findfile filesize getcwd chdir + findfile filesize getcwd chdir mount setmode currentmode videomodeinfo videomodes colorbits diff --git a/themes/openSUSE/src/bsplash.inc b/themes/openSUSE/src/bsplash.inc index 0b93692..d72703c 100644 --- a/themes/openSUSE/src/bsplash.inc +++ b/themes/openSUSE/src/bsplash.inc @@ -45,10 +45,14 @@ /bsplash.show { currentimage + % "/boot/i386/loader/xxx" chdir + "welcome.jpg" findfile /splash.file over def setimage 0 0 moveto 0 0 image.size image + % "/boot/i386/loader" chdir + bsplash.init bsplash.skip not { 100000 usleep } if diff --git a/themes/openSUSE/src/common.inc b/themes/openSUSE/src/common.inc index 4dae74f..bbbae25 100644 --- a/themes/openSUSE/src/common.inc +++ b/themes/openSUSE/src/common.inc @@ -199,8 +199,8 @@ /window.action actNothing def % cd change dialog info.type 5 eq info.type 6 eq or { - % 'chdir' triggers fs metadata re-read - getcwd dup .undef ne { chdir } { pop } ifelse + % 'mount' re-reads fs metadata + mount pop } if "" -1 3 return |