Ask your questions here.
Post a reply

Re: Fix for Working UEFI on Refractasnapshot.

Tue May 10, 2016 12:07 pm

Just lost my whole post. That seems to be in line with the rest of what's going on. Short version - script runs fine, iso is created but won't boot in vbox efi mode. I get dropped to a grub prompt. Usual grub commands don't help.

Re: Fix for Working UEFI on Refractasnapshot.

Thu May 12, 2016 12:07 am

Found a way to do efi emulation in qemu (use ovmf "bios" .. https://packages.debian.org/search?keywords=ovmf) . Files made with the script I posted before didn't boot properly (grub prompt only) but this one works:

http://paste.debian.net/683478

I don't know yet if this works also for usb.

Anyone want to help test/modify/improve it? I want to nail this down to basic shell commands.

Unfortunately ovmf is in the "non-free" section .. is that what you use also for virtualbox?

Re: Fix for Working UEFI on Refractasnapshot.

Thu May 12, 2016 2:17 am

I'm on the road right now, I've got usb sticks and a laptop, but I can only do 32-bit. If you can link me to an iso, I can test it on usb. I can do more in about a week.

I use virtualbox for testing, No ovmf. Never even heard of it until a couple days ago. I can play with that when I get home.

Edit: No, I can't test usb with uefi now. Need newer hardware for that.

Re: Fix for Working UEFI on Refractasnapshot.

Thu May 12, 2016 6:46 pm

Just burned an actual live-cd, using the files the updated script made. On a friend's newish uefi laptop, it boots.

A syslinux usb, containing (same file) /EFI/BOOT/bootx64.efi booted but didn't display the menu. I did get it going manually, from the grub prompt.

I can see why. The "memdisk" initial config, embedded in the grub image, looks for /isolinux/isolinux.cfg to "set root". That doesn't exist on the usb (it's /syslinux).

Code:
search --file --set=root /isolinux/isolinux.cfg
set prefix=($root)/boot/grub
source $prefix/x86_64-efi/grub.cfg

This is fixable. Could search another file or simply create a "dummy" /isolinux/isolinux.cfg in the usb, just for grub to find. A DD'd (Death and Destruction) isohybrid *should* work.

Solidxk's bootx64.efi searches for ".disk/info" to do that. It's a text ID tag for Casper (Ubuntu), containing just a distro version name. It's not used for Debian's live-boot.

The "solidxk-constructor" https://github.com/SolydXK/solydxk-constructor uses a script by Colin Watson (GPL2+, copyright Canonical). It does however depend on other parts of the solydxk-constructor application, which probably doesn't fit our use-case (and seems not to make an xorriso-compatible boot image).

Another resource is https://mirror.csclub.uwaterloo.ca/slac ... /EFI/BOOT/ Got some ideas from that but again, didn't work "as-is"

Back now to only qemu to test this.

Re: Fix for Working UEFI on Refractasnapshot.

Thu May 26, 2016 9:26 pm

I used the second script to make a couple of isos. They boot in vbox with efi enabled. In qemu (with ovmf) I briefly see some monochrome screen come up, and then the isolinux boot menu comes up, and it boots. Same thing with a uefi test iso that I made ove a year ago.

I'm gonna upload a mini/nox iso with uefi so someone with new hardware can test.

Re: Fix for Working UEFI on Refractasnapshot.

Thu May 26, 2016 11:52 pm

Here's a test iso for anyone who can boot it on uefi hardware. No uefi install with this. ~350MB
http://downloads.sourceforge.net/projec ... 6_2310.iso

Re: Fix for Working UEFI on Refractasnapshot.

Fri May 27, 2016 1:20 am

I'm making one like this for usb. Don't know if it'll work or where I can test it.
Code:
search --file --set=root /isolinux/isolinux.cfg || search --file --set=root /syslinux/syslinux.cfg
set prefix=($root)/boot/grub
source $prefix/x86_64-efi/grub.cfg


Edit: That didn't work. Neither did
Code:
search --file --set=root /*linux/*linux.cfg

Neither one would boot in virtualbox.

Re: Fix for Working UEFI on Refractasnapshot.

Fri May 27, 2016 4:01 am

Code:
search --file --set=root /syslinux/syslinux.cfg
set prefix=($root)/boot/grub
source $prefix/x86_64-efi/grub.cfg


Made an iso using the above code.
Put it on a usb using refracta2usb.*
Copied the boot and efi folders from the iso to the usb stick.
dd from the beginning of the drive to the end of the first partition into a .img file.
Converted .img to .vdi
Booted it as a hard drive in vbox with efi enabled. It works!

* This didn't really work the first time. Since newer versions of refracta2usb assume a multiboot usb, the necessary /live folder was not in the root of the device. so I moved it up, made another image, converted it, and that's the one that booted.

uploading refracta8_uefi2.img to the testing folder at sourceforge.
Code:
dd if=refracta8_uefi2.img of=/dev/<your thumb drive>

Re: Fix for Working UEFI on Refractasnapshot.

Fri May 27, 2016 12:16 pm

Did some more experimenting with it. It's not necessary to move /live to the root of the thumb drive. Instead, /boot/grub/grub.cfg can be edited on the mounted device - it needed "live-media-path=" in the boot command. I did that and made a new disk image. It boots. I'm not getting autologin, but it boots. I believe the usb stick would boot in a uefi computer.

Here's a disk image that can be dd'd to a usb stick and booted. (It's not isohybrid. It's a real fat32 + mbr.)
https://sourceforge.net/projects/refrac ... _uefi2.img

That's the one with /live in the root. If that work, I'm pretty sure it'll work with multiboot, too. Now I just have to figure out how to work this into refractasnapshot and refracta2usb. The way I see it now, you'll have to decide when you make the snapshot whether you're making it for CD or USB.

Re: Fix for Working UEFI on Refractasnapshot.

Fri May 27, 2016 2:12 pm

Multiboot usb works.

Synopsis:
-use /syslinux/syslinux.cfg when you create the efi image
-make a snapshot with the uefi files included
-make a live-usb with refracta2usb (I used unpacked-iso)
-copy efi and boot directories to the root of the usb
-edit /syslinux/live.cfg and /boot/grub/grub.cfg, adding -live-media-path where needed.
-add a second live iso (unpacked again) this time an i386 system without the uefi files.
-edit boot menus again.
-reboot the stick (again, I made a disk image and booted it in vbox with efi enabled.)

The grub boot menu comes up, and I can boot into either system.
With efi disabled in vbox, the syslinux boot menu comes up, and I can boot either system from there.
Post a reply