efidroid / projectmanagement

EFIDroid Project Management
118 stars 12 forks source link

Samsung Galaxy A10 UEFI #155

Open EFIShell0 opened 4 years ago

EFIShell0 commented 4 years ago

Hi! My phone Samsung Galaxy A10. 32 bit Android 9 ROM default. ARM64 CPU. UEFI supporting with A10? Thanks. (Bad English sorry :( )

M1cha commented 4 years ago

theoretically any device can work but efidroid has been discontinued.

TheW0LVERIN3 commented 4 years ago

theoretically any device can work but efidroid has been discontinued.

I think it would be best to add discontinued to the readme or the discription because nothing has happened here since 2017

EFIShell0 commented 4 years ago

No, I was just asking questions here to find out if my device supports the 64-bit UEFI specification. Support 64-bit UEFI?

M1cha commented 4 years ago

A device doesn't need anything special according the UEFI spec. You have to use one of the supported architectures(x86, x64, aarch32, aarch64 iirc) and there're some very basic architectural requirements which every device should support anyway.

Your A10 is an aarch64 device which can run UEFI while complying to the spec, but you'll have a very hard time implementing it because it has an exynos SoC.

EFIShell0 commented 4 years ago

A device doesn't need anything special according the UEFI spec. You have to use one of the supported architectures(x86, x64, aarch32, aarch64 iirc) and there're some very basic architectural requirements which every device should support anyway.

Your A10 is an aarch64 device which can run UEFI while complying to the spec, but you'll have a very hard time implementing it because it has an exynos SoC.

So how do I install an ARM64 OS on my A10 device in UEFI mode? Thanks. :)

M1cha commented 4 years ago

I think you misunderstood me. Technically your device could run UEFI, but there's (probably) no port which means you just can't do that.

EFIShell0 commented 4 years ago

They have installed Windows 10 ARM64 These people are on S8 in UEFI mode: https://www.neowin.net/news/developer-gets-windows-10-on-arm-to-boot-on-the-samsung-galaxy-s8/

EFIShell0 commented 4 years ago

Redmi Note 7 (Qualcomm SnapDragon 660 example): https://cntechpost.com/2020/04/19/developer-runs-uefi-shell-on-redmi-note-7-paving-way-for-desktop-system-installation/

feherneoh commented 4 years ago

Neither of these are Exynos based devices

EFIShell0 commented 4 years ago

Meanwhile, OEM Bootloader can be unlocked in developer options.

feherneoh commented 4 years ago

I did port UEFI to Redmi Note 4 (Snapdragon 625/MSM8953) too, but that won't help you with any phone that uses a different SoC

EFIShell0 commented 4 years ago

Understood. So I'm going to ask one last question. Is Stock ROM installed in 32-bit UEFI mode or 32-bit Legacy mode? (64-bit UEFI BIOS is 32-bit UEFI mode, EFI MIXED is required) If one is 64-bit UEFI, is 64-bit UEFI ROM available? Thank you.

feherneoh commented 4 years ago

I'm pretty sure you are assuming ARM devices are the same as x86 ones. They are not. On A10 stock ROM is most probably not using UEFI, but I don't own that device, so I cannot check. If I'm right, it has a bootloader that can only boot Linux (or stuff disguised as Linux), but most probably it can boot both 32 and 64 bit kernels. For Qualcomm devices with 64 bit SoC but 32 bit ROM that's how it usually goes, so I'll assume it's the same for Exynos too.

M1cha commented 4 years ago

@feherneoh is right. In other words: Even if you had fully working UEFI provided by the manufacturer, (most) ARM UEFI devices don't have operatingsystem independent ACPI-tables like x86 does. Furthermore, many peripherals need non-mainline drivers or even userspace-drivers.

EFIShell0 commented 4 years ago

@M1cha @feherneoh Thanks. Can GPT MBR status be checked on Android? Or can it be done on PC?

feherneoh commented 4 years ago

It's almost certain that your phone uses GPT, but even if it does not (unlikely), it's surely not using MBR

M1cha commented 4 years ago

@Turbodr try to run this on the device and post the output: ls -l /dev/block/by-name/

EFIShell0 commented 4 years ago

@M1cha Where should I write that Linux terminal command? Need a program?

feherneoh commented 4 years ago

https://play.google.com/store/apps/details?id=jackpal.androidterm

EFIShell0 commented 4 years ago

:/ $ ls -l /dev/block/by-name total 0 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 boot -> /dev/block/mmcblk0p15 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 bota0 -> /dev/block/mmcblk0p1 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 bota1 -> /dev/block/mmcblk0p2 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 bota2 -> /dev/block/mmcblk0p6 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 bota3 -> /dev/block/mmcblk0p23 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 cache -> /dev/block/mmcblk0p28 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 cm -> /dev/block/mmcblk0p7 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 cp_debug -> /dev/block/mmcblk0p30 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 cpefs -> /dev/block/mmcblk0p5 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 dtb -> /dev/block/mmcblk0p17 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 dtbo -> /dev/block/mmcblk0p18 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 efs -> /dev/block/mmcblk0p3 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 m9kefs1 -> /dev/block/mmcblk0p8 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 m9kefs2 -> /dev/block/mmcblk0p9 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 m9kefs3 -> /dev/block/mmcblk0p10 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 misc -> /dev/block/mmcblk0p14 lrwxrwxrwx 1 root root 18 2020-07-03 12:53 mmcblk0 -> /dev/block/mmcblk0 lrwxrwxrwx 1 root root 23 2020-07-03 12:53 mmcblk0boot0 -> /dev/block/mmcblk0boot0 lrwxrwxrwx 1 root root 23 2020-07-03 12:53 mmcblk0boot1 -> /dev/block/mmcblk0boot1 lrwxrwxrwx 1 root root 22 2020-07-03 12:53 mmcblk0rpmb -> /dev/block/mmcblk0rpmb lrwxrwxrwx 1 root root 21 2020-07-03 12:53 nad_fw -> /dev/block/mmcblk0p31 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 nad_refer -> /dev/block/mmcblk0p11 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 omr -> /dev/block/mmcblk0p29 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 param -> /dev/block/mmcblk0p12 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 persistent -> /dev/block/mmcblk0p20 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 product -> /dev/block/mmcblk0p27 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 radio -> /dev/block/mmcblk0p19 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 recovery -> /dev/block/mmcblk0p16 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 reserved2 -> /dev/block/mmcblk0p24 lrwxrwxrwx 1 root root 20 2020-07-03 12:53 sec_efs -> /dev/block/mmcblk0p4 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 steady -> /dev/block/mmcblk0p21 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 system -> /dev/block/mmcblk0p25 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 up_param -> /dev/block/mmcblk0p13 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 userdata -> /dev/block/mmcblk0p32 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 vbmeta -> /dev/block/mmcblk0p22 lrwxrwxrwx 1 root root 21 2020-07-03 12:53 vendor -> /dev/block/mmcblk0p26 :/ $

@M1cha

EFIShell0 commented 4 years ago

@feherneoh Thanks for the application.

M1cha commented 4 years ago

I can't see anything obvious in there. I googled the partition names but couldn't find info for all of them. If you really wanna get into it you could dump them all and run binwalk on each of them. My guess would be cm, nad_ or mmcblk0boot

EFIShell0 commented 4 years ago

@M1cha So how can I do what you say?

feherneoh commented 4 years ago

It's GPT, but Samsung surely loves messing the partition layout up as much as humanly possible

EFIShell0 commented 4 years ago

@feherneoh EFI MIXED Mod working?

feherneoh commented 4 years ago

@feherneoh EFI MIXED Mod working?

I'm pretty sure that what you are talking about doesn't exist on ARM

EFIShell0 commented 4 years ago

@feherneoh EFI MIXED Mod working?

I'm pretty sure that what you are talking about doesn't exist on ARM

LineageOS 17.X 64 Bit UEFI ROM or 32 bit UEFI ROM with A10?

feherneoh commented 4 years ago

@feherneoh EFI MIXED Mod working?

I'm pretty sure that what you are talking about doesn't exist on ARM

LineageOS 17.X 64 Bit UEFI ROM or 32 bit UEFI ROM with A10?

On ARM64 devices you can usually boot both 32 and 64 bit kernels from 32 bit UEFI (not with EFISTUB though) Also there are no such things as "UEFI ROM"s for Android devices.

Kirill2006183 commented 2 years ago

Hello, here it weighs 21 years, someone is porting UEFI to Samsung a10

Kirill2006183 commented 2 years ago

and then some tried to port ubuntu touch to samsung a10 but without success