Всем привет! Простите, что надоедаю с этим armbian, но тема как по мне достойна внимания. В общем и целом собрал ядро, загрузчик - все работает отлично. Тут захотелось перенести /boot в другой раздел на карточке. Сказано - сделано. Вот такая карта раздлов на данный момент получилась:
ice Boot Start End Sectors Size Id Type
/dev/sdc1 8192 61220863 61212672 29,2G 83 Linux
/dev/sdc2 * 61220864 62332927 1112064 543M 83 Linux
sdc2 - это boot-раздел. Да, не очень очевидно, но так уж вышло. Разделу задан флаг boot.
Затер весь boot.cmd и напиал следующее
load mmc 0:2 0x43400000 uInitrd
load mmc 0:2 0x42000000 zImage
load mmc 0:2 0x43000000 dtb/sun8i-h3-orangepi-pc.dtb
bootz 0x42000000 0x43400000 0x43000000
Система стартует, начинается работа initramfs и …
done.
Begin: Mounting root file system ... Begin: Running /scripts/local-top ... done.
Begin: Running /scripts/local-premount ... Scanning for Btrfs filesystems
done.
Begin: Will now check root file system ... fsck from util-linux 2.37.2
[/usr/sbin/fsck.ext4 (1) -- /dev/mmcblk0p2] fsck.ext4 -a -C0 /dev/mmcblk0p2
armbi_boot: clean, 265/34800 files, 19851/139008 blocks
done.
done.
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /dev on /root/dev failed: No such file or directory
done.
mount: mounting /run on /root/run failed: No such file or directory
run-init: can't execute '/sbin/init': No such file or directory
Target filesystem doesn't have requested /sbin/init.
run-init: can't execute '/sbin/init': No such file or directory
run-init: can't execute '/etc/init': No such file or directory
run-init: can't execute '/bin/init': No such file or directory
run-init: can't execute '/bin/sh': No such file or directory
run-init: can't execute '': No such file or directory
No init found. Try passing init= bootarg.
Распаковал uInitrd, что-бы посмотреть, что-же там такое.
dd if=uInitrd-5.15.80-sunxi of=uInitrd-5.15.80-sunxi.img.gz bs=64 skip=1
gunzip uInitrd-5.15.80-sunxi.img.gz
mkdir uInitrd && cd uInitrd
cpio -i < ../uInitrd-5.15.48-sunxi.img
Но что-то понять не могу, где ему сказать, что система находится в /dev/mmcblk0p1???
P.S. Если что, в системе не забыл создать папку /boot и fstab указал, что ее нужно монтировать по такому-то UUID.
UPD. Я идиот и не верно истолковал понятие rootdev, посчитав, что там файлы загрузки должны быть. Поправил boot.cmd
setenv rootdev "/dev/mmcblk0p1"
setenv rootfstype "ext4"
setenv consoleargs "console=ttyS0,115200"
setenv verbosity "1"
setenv disp_mode "1920x1080p60"
part uuid mmc 0:2 partuuid;
setenv rootdev "/dev/mmcblk0p1"
setenv bootargs "root=/dev/mmcblk0p1 rootwait rootfstype=${rootfstype} ${consoleargs} hdmi.audio=EDID:0 disp.screen0_output_mode=${disp_mode} consoleblank=0 loglevel=${verbosity} ubootpart=${partuuid} ubootsource=mmc usb-storage.quirks=${usbstoragequirks} ${extraargs} ${extraboardargs}"
load mmc 0:2 0x43400000 uInitrd
load mmc 0:2 0x42000000 zImage
load mmc 0:2 0x43000000 dtb/sun8i-h3-orangepi-pc.dtb
bootz 0x42000000 0x43400000 0x43000000
Система стала загружаться.. Вывод df -h
┌──(fck😈fuck)-[ 📂/home/fck ]
└─> df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 100M 3.3M 97M 4% /run
/dev/mmcblk0p1 29G 1.5G 27G 6% /
tmpfs 500M 0 500M 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 500M 0 500M 0% /tmp
/dev/mmcblk0p2 519M 53M 428M 11% /boot
/dev/zram1 47M 2.5M 41M 6% /var/log
tmpfs 100M 0 100M 0% /run/user/1000