Автор Тема: Khadas VIM3  (Прочитано 13878 раз)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #16 : 21.07.2021 08:07:55 »
Нет! Вам нужен aarch64.

К сожалению, это я на форуме ошибся, не ту ссылку выложил, скачал и ставил я правильный образ.
http://nightly.altlinux.org/sisyphus-aarch64/tested/regular-mate-latest-aarch64.tar.xz

alt-rootfs-installer --rootfs=/mnt/temp/regular-mate-latest-aarch64.tar.xz --media=/dev/sdb

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #17 : 21.07.2021 13:53:56 »
Коллеги из Khadas инструкцию сделали, проверю ее чуть позже.
https://forum.khadas.com/t/installing-alt-linux-to-emmc-any-khadas-board-vim1-vim2-vim3-vim3l-edge/12871

Особенно беспокоит пункт с отсутствием драйверов в ядре.

Problems

serial console not active
kernel missed some drivers

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #18 : 22.07.2021 13:02:30 »
Достигнут промежуточный результат, загрузчик и ядро от Khadas Ubuntu rootfs от стабильной версии alt-p9-mate-20210612-aarch64.tar.xz



Установка alt пакетов работает, поставил hardinfo и проверил, результат на картинке.

Хотелось бы добить чтобы и ядро было от alt. Но об этом позже.

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #19 : 22.07.2021 19:17:57 »
Все решено.
Коллеги из Khadas помогли, написали скрипт который устанавливает заранее выбранный в скрипте образ Alt-Linux.
Скрипт работает, результат достигнут - Alt-Linux на Khadas VIM3.

Для его запуска нужно поставить и запустить с SD карты Krescue

https://docs.khadas.com/vim3/Krescue.html

выбрать в меню Rescue Shell, примонтировать диск со скриптом и выполнить его.
Можно там же в редакторе править - какой образ Alt-Linux применять для установки.

Сам скрипт:
 
*****************************

#!/bin/sh

## hyphop ##

#= AltLinux-install

## USAGE examples

#  curl -jkL https://raw.githubusercontent.com/khadas/krescue/master/scripts/AltLinux-install.sh | sh -s -
#  or local usage
#  ssh root@krescue.local < AltLinux-install.sh

set -e -o pipefail

BOARD=$(tr -d '\0' < /sys/firmware/devicetree/base/model || echo Khadas)
echo "AltLinux installation for $BOARD ..."

# checks
echo "check network connection..."
ping -c1 -w2 1.1.1.1 || (echo plz check or setup network connection; exit 1)
# stop prev session
pkill -f downloader || true
sleep 1
grep $(mmc_disk) /proc/mounts && umount $(mmc_disk)p1

# create partitions
echo "label: dos" | sfdisk $(mmc_disk)
echo "part1 : start=16M," | sfdisk $(mmc_disk)

# create rootfs
mkfs.ext4 -L ROOT $(mmc_disk)p1 < /dev/null
mkdir -p system && mount $(mmc_disk)p1 system

# can chouse any other rootfs source

#без графики
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-jeos-sysv-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-jeos-systemd-20210612-aarch64.tar.xz

#с графикой
SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-mate-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-xfce-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-icewm-sysv-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-lxqt-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-lxde-20210612-aarch64.tar.xz


echo "download and extract $SRC"
curl -A downloader -jkL $SRC | pixz -dc | tar -xf- -C system

# setup host name
echo ${BOARD// /-} > system/etc/hostname

# fix dtb paths
for a in system/lib/devicetree/*-alt1; do ln -s . $a/amlogic; ln -s . $a/rockchip; done

# maybe need fix extlinux config
cp system/boot/extlinux/extlinux.conf system/boot/extlinux/extlinux.conf.bak
# sed -i s/console=tty1/earlyprintk/ system/boot/extlinux/extlinux.conf

# setup secure tty
echo ttyAML0 >> system/etc/securetty
echo ttyFIQ0 >> system/etc/securetty

umount system

echo "install uboot to eMMC"
mmc_update_uboot online

echo "optional install uboot to SPI flash"
case $BOARD in
*vim|*VIM) echo "skipped for $BOARD";;
*)
spi_update_uboot online -k && echo need poweroff and poweron device again
esac

# DONE
echo "AltLinux installation for $BOARD : DONE"
echo "plz reboot device"

**********************

Источник:
https://forum.khadas.com/t/installing-alt-linux-to-emmc-any-khadas-board-vim1-vim2-vim3-vim3l-edge/12871


« Последнее редактирование: 22.07.2021 19:37:46 от smatsak »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Khadas VIM3
« Ответ #20 : 22.07.2021 20:21:26 »
Ну не фига себе :-)

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #21 : 22.07.2021 21:20:16 »
Ну не фига себе
Кстати, не пережил обновление ядра (update-kernel -f), видимо где-то что-то ручками править надо.
Сейчас у него вечный ребут, на initrd уходит в перезагрузку.
« Последнее редактирование: 22.07.2021 21:21:52 от smatsak »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Khadas VIM3
« Ответ #22 : 22.07.2021 21:24:49 »
# fix dtb paths
for a in system/lib/devicetree/*-alt1; do ln -s . $a/amlogic; ln -s . $a/rockchip; done

# fix dtb paths
for a in system/lib/devicetree/*-alt1; do ln -s . $a/amlogic; ln -s . $a/rockchip; done

придётся при каждом обновлении ядра делать.

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #23 : 22.07.2021 22:05:53 »
# fix dtb paths
for a in system/lib/devicetree/*-alt1; do ln -s . $a/amlogic; ln -s . $a/rockchip; done

придётся при каждом обновлении ядра делать.

И это проверю, сейчас проверяю образы по списку.
http://nightly.altlinux.org/p9-aarch64/release/alt-p9-icewm-sysv-20210612-aarch64.tar.xz - это кривой образ, очень плохо работает с графикой, окна перемещаются с великими тормозами, прям не ожидал такого увидеть.
Нажимаешь на ярлык меню и ждешь, потащил окно и замер на полпути.
С этим образом у нас не сложилось, прибил.


Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #24 : 22.07.2021 22:27:03 »
for a in system/lib/devicetree/*-alt1; do ln -s . $a/amlogic; ln -s . $a/rockchip; done
Возможно помогло,
http://nightly.altlinux.org/p9-aarch64/release/alt-p9-lxqt-20210612-aarch64.tar.xz
Сложился на запуске сети, initrd пережил после обновления пакетов и ядра.

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #25 : 22.07.2021 23:01:44 »
http://nightly.altlinux.org/p9-aarch64/release/alt-p9-lxde-20210612-aarch64.tar.xz

после обновления системы и ядра, пережил старт initrd , но так же висит на старте сети, lo запустил и висит.
свалился в rdshell (initramfs)

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Khadas VIM3
« Ответ #26 : 23.07.2021 04:34:23 »
после обновления системы и ядра, пережил старт initrd , но так же висит на старте сети, lo запустил и висит.
свалился в rdshell (initramfs)

make-initrd не кладёт нужный модуль. Тогда добавьте в /etc/initrd.mk:
MODULES_TRY_ADD += ahci.ko ahci_platform.ko sd_mod.ko
MODULES_TRY_ADD += usbhid.ko usbkbd.ko
MODULES_TRY_ADD += evdev.ko
MODULES_TRY_ADD += drivers/pci
MODULES_TRY_ADD += drivers/mmc drivers/usb/host
MODULES_TRY_ADD += drivers/usb/storage drivers/nvmem
MODULES_TRY_ADD += drivers/dma drivers/reset
MODULES_TRY_ADD += drivers/usb/dwc2 drivers/usb/dwc3
MODULES_TRY_ADD += drivers/phy drivers/usb/phy
MODULES_TRY_ADD += drivers/bus
MODULES_TRY_ADD += drivers/pwm drivers/regulator
MODULES_TRY_ADD += drivers/i2c

До установки нового ядра, а для установленного выполните:
make-initrd -k <ядро>

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #27 : 23.07.2021 13:02:45 »
Может еще чего подкрутить?
А то впечатление пока не очень, даже без обновления ядра.
Графика медленная (фреймбуфер), звука нет, wi-fi не работает.
Если взять их ядро, то графика норм, рисует быстро, вот только звука и wi-fi тоже нет.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Khadas VIM3
« Ответ #28 : 23.07.2021 16:02:57 »
Если взять их ядро, то графика норм, рисует быстро, вот только звука и wi-fi тоже нет.

Берите их ядро. Кто говорил, что будет легко?

Спросите у них, почему с их ядром нет звука и wi-fi.

Оффлайн smatsak

  • Linux, C++
  • Давно тут
  • **
  • Сообщений: 204
  • Cloud-based technology
Re: Khadas VIM3
« Ответ #29 : 29.07.2021 01:24:53 »
Берите их ядро. Кто говорил, что будет легко?
"Нормальные герои Всегда идут в обход!" (с)

1. Разбил скрипт khadas на две части:
Первая - скачивание и установка образа Альт Линукс:
загрузиться с диска krescue и выполнить часть скрипта:

#!/bin/sh

## hyphop ##

#= AltLinux-install

## USAGE examples

#  curl -jkL https://raw.githubusercontent.com/khadas/krescue/master/scripts/AltLinux-install.sh | sh -s -
#  or local usage
#  ssh root@krescue.local < AltLinux-install.sh

set -e -o pipefail

BOARD=$(tr -d '\0' < /sys/firmware/devicetree/base/model || echo Khadas)
echo "AltLinux installation for $BOARD ..."

# checks
echo "check network connection..."
ping -c1 -w2 1.1.1.1 || (echo plz check or setup network connection; exit 1)
# stop prev session
pkill -f downloader || true
sleep 1
grep $(mmc_disk) /proc/mounts && umount $(mmc_disk)p1

# create partitions
echo "label: dos" | sfdisk $(mmc_disk)
echo "part1 : start=16M," | sfdisk $(mmc_disk)

# create rootfs
mkfs.ext4 -L ROOT $(mmc_disk)p1 < /dev/null
mkdir -p system && mount $(mmc_disk)p1 system

# can chouse any other rootfs source

#без графики
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-jeos-sysv-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-jeos-systemd-20210612-aarch64.tar.xz

#с графикой
SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-mate-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-xfce-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-icewm-sysv-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-lxqt-20210612-aarch64.tar.xz
#SRC=http://nightly.altlinux.org/p9-aarch64/release/alt-p9-lxde-20210612-aarch64.tar.xz


echo "download and extract $SRC"
curl -A downloader -jkL $SRC | pixz -dc | tar -xf- -C system

# setup host name
echo ${BOARD// /-} > system/etc/hostname

# fix dtb paths
for a in system/lib/devicetree/*-alt1; do ln -s . $a/amlogic; ln -s . $a/rockchip; done

# maybe need fix extlinux config
cp system/boot/extlinux/extlinux.conf system/boot/extlinux/extlinux.conf.bak
# sed -i s/console=tty1/earlyprintk/ system/boot/extlinux/extlinux.conf

# setup secure tty
echo ttyAML0 >> system/etc/securetty
echo ttyFIQ0 >> system/etc/securetty

2. из раздела /boot убрал все ядра и файлы Альт Линукс, скопировал туда ядра и файлы Khadas Ubuntu, сделал ссылки на новое ядро и init.rd:
root@Krescue:~# ls -lha system/boot
drwx------    4 root     root        4.0K Jul 28 11:28 .
drwxr-xr-x   23 root     root        4.0K Jun 12 06:06 ..
-rwxr-xr-x    1 root     root        4.5M Jun 25 07:02 System.map-5.12.0
-rwxr-xr-x    1 root     root      186.0K Jun 25 07:02 config-5.12.0
drwxr-xr-x    2 root     root        4.0K Jul 28 11:27 extlinux
drwxr-xr-x    4 root     root        4.0K Jul 28 11:33 grub
lrwxrwxrwx    1 root     root          17 Jul 28 11:21 initrd.img -> initrd.img-5.12.0
-rwxr-xr-x    1 root     root       11.7M Jul 26 13:13 initrd.img-5.12.0
lrwxrwxrwx    1 root     root          14 Jul 28 11:17 vmlinuz -> vmlinuz-5.12.0
-rwxr-xr-x    1 root     root       21.4M Jun 25 07:02 vmlinuz-5.12.0

root@Krescue:~# cat system/boot/extlinux/extlinux.conf
menu title ALTLinux Boot Options

default linux
timeout 50

label linux
   kernel /boot/vmlinuz
   initrd /boot/initrd.img
   fdtdir /boot/dtb
   append root=LABEL=ROOT ro   console=tty1

root@Krescue:~#

3. Скопировал модули от ядра Khadas Ubuntu
root@Krescue:~# ls -lha system/lib/modules/
drwxr-xr-x    3 root     root        4.0K Jul 28 11:28 .
drwxr-xr-x   24 root     root        4.0K Jun 12 05:56 ..
drwxr-xr-x    3 root     root        4.0K Jun 25 07:04 5.12.0
4. Скопировал файлы khadas /lib/firmware/ -> system/lib/firmware/, те что пересекались, копировал с заменой, т.к. более новое ядро у Khadas (заработал wi-fi, графика, пока нет звука через hdmi)
5. Выполнил вторую часть скрипта Khadas по установке загрузчика:
umount system

echo "install uboot to eMMC"
mmc_update_uboot online

echo "optional install uboot to SPI flash"
case $BOARD in
*vim|*VIM) echo "skipped for $BOARD";;
*)
spi_update_uboot online -k && echo need poweroff and poweron device again
esac

# DONE
echo "AltLinux installation for $BOARD : DONE"
echo "plz reboot device"

6. После перезагрузки получил вполне рабочий вариант Альт Линукс.

P.S.

"И мы с пути кривого обратно не свернем, а надо будет снова пойдем кривым путем! " (с)
« Последнее редактирование: 29.07.2021 01:51:56 от smatsak »