LINUX.ORG.RU

Чем конкретно я сломал загрузчик BBB? Как исправить?

 , , ,


0

1

Добавил в файл uEnv.txt две строчки (#коментарии):

#kernel_file=vmlinuz-5.2.9-gnu
#initrd_file=initrd.img-5.2.9-gnu

root@devuan:/boot# diff uEnv.txt bak/uEnv.txt 
2,3d1
< 
< 
6,8d3
< #kernel_file=vmlinuz-5.2.9-gnu
< #initrd_file=initrd.img-5.2.9-gnu
< 

И все сломалось, не грузится, даже мигающий текстовый курсор не появляется. Если скопировать старый файл uEnv.txt, то грузится нормально. Вопрос в чем причина? И второй вопрос очевидно, как загрузить новое ядро?

root@devuan:/boot# cat uEnv.txt

#u-boot eMMC specific overrides; Angstrom Distribution (BeagleBone Black) 2013-06-20


kernel_file=zImage
initrd_file=uInitrd
#kernel_file=vmlinuz-5.2.9-gnu
#initrd_file=initrd.img-5.2.9-gnu


loadaddr=0x82000000
fdtaddr=0x88000000
initrd_addr=0x88080000

loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${kernel_file}
loadinitrd=load mmc ${mmcdev}:${mmcpart} ${initrd_addr} ${initrd_file}; setenv initrd_size ${filesize}
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} /dtbs/${fdtfile}
#

console=ttyO0,115200n8
mmcroot=/dev/mmcblk0p2 rw net.ifnames=0
mmcrootfstype=ext4 rootwait fixrtc

##To disable HDMI/eMMC...
#optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G

##3.1MP Camera Cape
#optargs=capemgr.disable_partno=BB-BONE-EMMC-2G

mmcargs=setenv bootargs console=${console} root=${mmcroot} rootfstype=${mmcrootfstype} ${optargs}

#zImage:
uenvcmd=run loadzimage; run loadfdt; run mmcargs; bootz ${loadaddr} - ${fdtaddr}

#zImage + uInitrd: where uInitrd has to be generated on the running system
#boot_fdt=run loadzimage; run loadinitrd; run loadfdt
#uenvcmd=run boot_fdt; run mmcargs; bootz ${loadaddr} ${initrd_addr}:${initrd_size} ${fdtaddr}



Последнее исправление: simoshina (всего исправлений: 1)

А хотя нет, вот щас загрузилося, до создания этой темы удалил несколько пустых строк в uEnv.txt, может быть они мешали своим количеством?

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

Новое ядро взято отсюда:

deb mirror://linux-libre.fsfla.org/pub/linux-libre/freesh/mirrors.txt freesh main

Может быть, ему надо обязательно ядро с блобами?

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

Впечатление, что загрузка идет старым uboot 2013, который расположен на eMMC, потому что если грузиться с нажатой кнопкой со стороны USB(,что должно гарантировать даже загрузку uboot с SD карты тоже), то опять черный экран, даже с дефолтным (рабочим) ядром.

Т.е. я так понимаю, не хотят грузиться:

1) Новый дефолтный uboot с SD карты из образа с сайта Devuan

2) Новые ядра даже из репы Devuan даже старым рабочим uboot, и новым uboot впрочем тоже - см. предыдущий пункт.

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

может быть не то ядро?

рабочее ядро:

Linux devuan 4.9.105 #1 SMP PREEMPT Tue Jun 5 23:00:15 CEST 2018 armv7l GNU/Linux

проц. то одноядерный вообще-то:

cat /proc/cpuinfo 
processor       : 0
model name      : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 988.62
Features        : half thumb fastmult vfp edsp thumbee neon vfpv3 tls vfpd32 
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : Generic AM33XX (Flattened Device Tree)
Revision        : 0000
Serial          : 0000000000000000

Но ведь рабочее ядро тоже SMP?

simoshina
() автор топика
Ответ на: удаленный комментарий

Чувааак, ты не ффтыкаешь!1111адин

Есть такое понятие — «rubber duck debugging». Когда отладка заходит в тупик, берёшь резиновую уточку и рассказываешь ей, как должна работать программа, попутно смотря в код. И ошибка чудесным образом находится. Вместо уточки можно использовать джуниора — это называется «парное программирование». Но с уточкой работает не хуже.

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

а может длина имен файлов слишком длинная для fat ?

simoshina
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.