WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Bootx64.efi missing?  (Read 4669 times)

Offline polikuo

  • Hero Member
  • *****
  • Posts: 669
Re: Bootx64.efi missing?
« Reply #30 on: December 01, 2021, 07:55:41 AM »
Perhaps the way to go would be to propose a modification to tc-install?

It's insanely difficult to implement UEFI into tc-install.

Reinventing the wheel is actually easier than refactoring.

Plus, some machines may have their own specifications.

Manual install is the proper way if you want to go UEFI.

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 913
Re: Bootx64.efi missing?
« Reply #31 on: December 01, 2021, 01:56:04 PM »
Hi Polikuo!  I've got a suggestion then ...

If we followed how Porteus, Gparted Live, and how SystemRescueCd does it, there is no need for tc-install at all!  For those three systems (so far), all that is really needed is simple file-copying after either unarchiving, or mounting an iso.    (see the off-topic threads)

I have noticed some differences between TC and dCore - perhaps this might help.  From my utility log:

TinyCorePure64.iso:
Code: [Select]
ISO analysis:
  Image is an ISO9660 image
  Will use '/boot/isolinux/isolinux.cfg' for Syslinux
  Detected Syslinux version: 4.05/0x4f92e181 (from '/boot/isolinux/isolinux.bin')
  Detected EFI bootloader(s) (from '/EFI/BOOT/efiboot.img'):
  ● 'bootx64.efi'
Disk image analysis:
  Image has an unknown Master Boot Record
  Image is a bootable disk image
ISO label: 'TinyCorePure64'
  Size: 27.7 MB (Projected)
  Note: File on disk is larger than reported ISO size by 888 KB...
  Uses: Syslinux/Isolinux v4.05
  Uses: EFI
Using image: TinyCorePure64-12.0.iso (29 MB)

And for dCore64:
Code: [Select]
ISO analysis:
  Image is an ISO9660 image
  Will use '/isolinux/isolinux.cfg' for Syslinux
  Detected Syslinux version: 6.04/20191223 (from '/isolinux/isolinux.bin')
  Detected EFI bootloader(s) (from '/EFI/BOOT/efi.img'):
  ● 'bootx64.efi'
Disk image analysis:
  Image has an unknown Master Boot Record
  Image is a bootable disk image
ISO label: 'ISOIMAGE'
  Size: 202.6 MB (Projected)
  Uses: Syslinux/Isolinux v6.04
  Uses: EFI
Using image: dCorePlus-stretch64.iso (204 MB)

So the first thing I see is that a different version of Syslinux/Isolinux is used.
AND, possibly TC's file-size being off by only 888kb.  Maybe enough to matter?

Which makes me wonder if TC's efiboot.img might have missing / corrupted components.  Something awry in the El-Torito build chain?  What's causing that 888kb discrepency and does it even matter?

That's a UNIX book! - cool  -- Garth

Offline PDP-8

  • Hero Member
  • *****
  • Posts: 913
Re: Bootx64.efi missing?
« Reply #32 on: December 01, 2021, 02:46:42 PM »
Polikuo - btw, did I forget to say thanks for all your hard work?  I'm still loving your editor too.

So I'm in there slugging it out with ya' from a user standpoint looking for something elusive...

The efiboot.img file being the same size as a floppy got me researching and wondering and looking into El-Torito.  ugh.

I don't know if it's related, but seeing the floppy-image sizes being an option netted me this on stack exchange:

https://unix.stackexchange.com/questions/491043/boot-grub-efi-img-invalid-image-size

Making me wonder if something in libisofs and the el-torito build-chain is fudging a value to 1.4mb to avoid El-Torito / Xorriso not being able to attach an image.

The only reason it caught my eye is that I don't know if that 888kb discrepency might be pointing to something like this or not.

Excuse my ignorance, I don't know.  I'm just throwing darts.
That's a UNIX book! - cool  -- Garth

Offline nick65go

  • Hero Member
  • *****
  • Posts: 606
Re: Bootx64.efi missing?
« Reply #33 on: December 01, 2021, 11:57:14 PM »
So the first thing I see is that a different version of Syslinux/Isolinux is used.
AND, possibly TC's file-size being off by only 888kb.  Maybe enough to matter?
Maybe you need a coffee break?
First of all, isolinux is specific to BIOS boot. There is no link/implications for UEFI. And you filled this topic to focus on UEFI64 only machines.
Then an ISO has a sector of 2048 bytes, but a HDD has a sector of 4096 bytes. Oh boy...
https://en.wikipedia.org/wiki/Disk_sector

PS: Did I say Xorriso? NO! So, use mkisofs. Beep beep.. flash flash... Remember UEFI booting from 160 KB floppy? Hard to lean new tricks to an old dog.
« Last Edit: December 02, 2021, 12:25:29 AM by nick65go »

Offline polikuo

  • Hero Member
  • *****
  • Posts: 669
Re: Bootx64.efi missing?
« Reply #34 on: December 02, 2021, 07:28:08 AM »
It's really just technology evolving.
Modern computer is simply way more resourceful than the old one.
Thus, people invent new ways for booting.

The difference is the size limit, giving UEFI more functionality.
There are machines with a fully functional web browser in UEFI mode.
Boot medium becomes optional.

However, the principles are alike.

Legacy BIOS:
- The mobo (motherboard) reads the first 512 byte (MBR) from a hard drive into the memory and hand over the control to the bootloader. (syslinux/extlinux)
- The bootloader finds a partition marked as bootable.
- Loads the PBR to expand the bootloader for more function.
- Boots the system with a given config. (syslinux.cfg/extlinux.conf)

That's all. Legacy BIOS doesn't do much.

UEFI:
- The mobo starts a UEFI shell.
- It looks for a partition marked as EFI.
- Loads the BOOTX64.EFI
- Boots the system with a given config.
« Last Edit: December 02, 2021, 07:30:09 AM by polikuo »