LINUX.ORG.RU

GRUB не может найти указанные файлы

 , ,


0

1

Я столкнулся с проблемой при попытке загрузить Android(Х86 primeOS) на своем устройстве. Я использую GRUB для загрузки, и вот что я ввел в конфигурацию:

search --file --no-floppy --set=root /android/system.sfs selinux=0
linux /android/kernel quiet root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug SRC=/android
initrd /android/initrd.img

при попытке загрузки я получаю следующие ошибки:

error: no such device: /android/system.sfs.
error: file /android/kernel' not found.
error: you need to load the kernel first.
Press any key to continue...

вывод ❯ sudo fdisk -l:

Disk /dev/sda: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: XrayDisk 512GB S
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4BCEBB22-F155-4E41-BF30-448700227ADA
Device       Start        End   Sectors   Size Type
/dev/sda1     2048    2099199   2097152     1G EFI System
/dev/sda2  2099200 1000214527 998115328 475.9G Linux root (x86-64)
Disk /dev/zram0: 4 GiB, 4294967296 bytes, 1048576 sectors
Units: sectors of 1 * 4096 = 4096 bytes
Sector size (logical/physical): 4096 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk /dev/loop0: 104.19 MiB, 109252608 bytes, 213384 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

а так же:

❯ sudo ls /
android  bin  boot  dev  etc  home  lib  lib64	mnt  opt  proc	root  run  sbin  snap  srv  sys  tmp  usr  var

❯ sudo ls /android/
data.img  initrd.img  install.img  kernel  ramdisk.img	system.sfs

Буду благодарен за любые советы и помощь :)

Перемещено hobbit из general



Последнее исправление: Sensize (всего исправлений: 1)
Ответ на: комментарий от nicholas_ru

так вроде как понял, но у меня один вопрос как новичку к мастеру, что мне сейчас делать :)?

upd: я уже вводил: sudo mkfs.ext4 /android/data.img

Sensize
() автор топика
Последнее исправление: Sensize (всего исправлений: 1)
Ответ на: комментарий от nicholas_ru
insmod ext2
search --file --no-floppy --set=root /android/system.sfs 
linux /android/kernel quiet root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug SRC=/android
initrd /android/initrd.img
boot

Если я сделал всё правильно, то могу сообщить что не помогло :(

Sensize
() автор топика
Ответ на: комментарий от Sensize
insmod ext2
search --file --no-floppy --set=root /android/system.sfs 
linux ($root)/android/kernel root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug SRC=/android
initrd ($root)/android/initrd.img

Вроде бы так должно работать (проверять тебе).

«Ты ищешь устройство с файлом и делаешь его корнем. Необходимо явно указывать откуда берётся ядро и инитрд (с указанием устройства)» (примерный ход моих мыслей)

quiet убрал на случай ошибок, если заработает можешь вернуть.

anonymous
()

Рассказывай, что, где, когда, зачем, как. Без этого ничто не поможет, никто не поможет.

error: no such device: /android/system.sfs

По прежнему, ошибка всё ещё эта?

Значит, груб не находит этот файл. Действия после команды «search» ковырять просто бесполезно.

Что это за груб? Откуда взялся? Он вообще работает? Что-то другое им загружается?

Добавить не только модуль файловой системы, но и раздела:

insmod part_gpt; insmod ext2
search ...

Если верить приведённой тобой таблице разделов, то у тебя один диск. Можно попробовать без команды «search», задать конкретное значение переменной «root». Например:

search --file --no-floppy --set=root /android/system.sfs
root='hd0,gpt2'
...
andytux ★★★★★
()
Ответ на: комментарий от andytux

хорошо, попробую ответить на ваши вопросы :)

По прежнему, ошибка всё ещё эта? » Да

Что это за груб? » grub-install (GRUB) 2:2.12.r226.g56ccc5ed-1

Откуда взялся? » archinstall, возможно изменения (hyde)

Он вообще работает? » Да, при запуске Arch Linux с ним всё нормально

Что-то другое им загружается?

menuentry "Arch Linux" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-c73e8c11-6871-44c2-b0c1-daef2224a511' {
	savedefault
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_gpt
	insmod fat
	set root='hd0,gpt1'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  250D-1B27
	else
	  search --no-floppy --fs-uuid --set=root 250D-1B27
	fi
	echo	'Loading Linux linux ...'
	linux	/vmlinuz-linux root=UUID=c73e8c11-6871-44c2-b0c1-daef2224a511 rw rootflags=subvol=@ zswap.enabled=0 rootfstype=btrfs loglevel=3 quiet
	echo	'Loading initial ramdisk ...'
	initrd	/intel-ucode.img /initramfs-linux.img
}


menuentry "Android"{
	search --file --no-floppy --set=root /android/system.sfs selinux=0
	linux /android/kernel quiet root=/dev/ram0 androidboot.selinux=permissive buildvariant=userdebug SRC=/android
	initrd /android/initrd.img
}


submenu "Advanced options for Arch Linux"{
menuentry "Arch Linux, with Linux linux" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-c73e8c11-6871-44c2-b0c1-daef2224a511' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  250D-1B27
		else
		  search --no-floppy --fs-uuid --set=root 250D-1B27
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=c73e8c11-6871-44c2-b0c1-daef2224a511 rw rootflags=subvol=@ zswap.enabled=0 rootfstype=btrfs loglevel=3 quiet
		echo	'Loading initial ramdisk ...'
		initrd	/intel-ucode.img /initramfs-linux.img
}


menuentry "Arch Linux, with Linux linux (fallback initramfs)" --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-c73e8c11-6871-44c2-b0c1-daef2224a511' {
	savedefault
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_gpt
		insmod fat
		set root='hd0,gpt1'
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1  250D-1B27
		else
		  search --no-floppy --fs-uuid --set=root 250D-1B27
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=UUID=c73e8c11-6871-44c2-b0c1-daef2224a511 rw rootflags=subvol=@ zswap.enabled=0 rootfstype=btrfs loglevel=3 quiet
		echo	'Loading initial ramdisk ...'
		initrd	/intel-ucode.img /initramfs-linux-fallback.img
}

Раздел дисков: https://ibb.co/VcXH99Mm

ps: хотел скачать android для своих нужд, эмуляторы андроида я не хотел скачивать по о.п, я нашел крутой материал который идеально подходит для моих нужд, но увы я столкнуться с проблемой который вы уже знаете :(

Sensize
() автор топика
Последнее исправление: Sensize (всего исправлений: 2)
Ответ на: комментарий от Sensize

То есть, файлы android у тебя на системном разлеле arch, а файловая система на нём btrfs?

Вот такую засаду ты себе устроил. Как минимум, модуль не ext2, а btrfs… По аналогии, как в загрузке arch, может ещё gzio.

andytux ★★★★★
()
Последнее исправление: andytux (всего исправлений: 1)
Ответ на: комментарий от Sensize

Потому и попал в засаду, что не понял.

Файлы android у тебя на разделе с файловой системой btrfs. Не самая стандартная система. Для ext зачастую модуль автоматом грузится. А для btrfs - неизвестно. Каких ещё сюрпризов ждать от неё - неизвестно. Вполне возможно, это только начало твоих бед. Дальше нужно, чтобы конкретно этот android умел работать с btrfs.

andytux ★★★★★
()
Ответ на: комментарий от Sensize

Пробовать добавить «insmod btrfs».

На первый раздел system.sfs наверно не поместится, можно было-бы попробовать скопировать его туда, хотя-бы для проверки гипотезы.

Где-то найти раздел с файловой системой ext4, например на флешке…

andytux ★★★★★
()
Ответ на: комментарий от andytux
❯ fastfetch                                󰄛  コンピューター
                                        ┌──────────────────────────────────────────┐
                                          󰇺 Chassis : 
                                          󰣇 OS : Arch Linux
                                           Kernel : 6.13.7-arch1-1
                                          󰏗 Packages : 889 (pacman), 30 (flatpak), 1 (snap)
                                          󰍹 Display : 1920x1080 @ 60Hz [Built-in]
                                          >_ Terminal : kitty 0.40.0
                                          󱗃 WM : Hyprland
                                        └──────────────────────────────────────────┘
                                        
                                        ┌──────────────────────────────────────────┐
                                           CPU : Intel(R) Celeron(R) N5095A @ 2.90 GHz
                                          󰊴 GPU : Intel UHD Graphics
                                           GPU Driver : i915
                                            Memory : 2.21 GiB / 11.46 GiB (19%)
                                          󱦟 OS Age  : 22 days
                                          󱫐 Uptime  : 49 mins
                                        └──────────────────────────────────────────┘
                                          ● ● ● ● ● ● ● ●
Sensize
() автор топика
Последнее исправление: Sensize (всего исправлений: 1)