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)

Какая файловая система? Установлен ли модуль файловой системы в grub?

anonymous
()
Ответ на: комментарий от anonymous

точно не помню, скачивал через archinstall

Sensize
() автор топика
Ответ на: комментарий от 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
()
Ответ на: комментарий от anonymous

спасибо за уделённое время, обязательно проверю

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

не помогло:(

но всё же, спасибо за уделённое время!

Sensize
() автор топика

@Vsevolod-linuxoid извини за беспокойство, но может сможешь помочь? :)

Sensize
() автор топика

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

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 ★★★★★
()
Ответ на: комментарий от Sensize

Сначала потренироваться в виртуальной машине (например VirtualBox), потом переносить эксперимент на железо.

MirandaUser2
()
Ответ на: комментарий от 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)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.