PINE64
Won't boot, black screen - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: PinePhone (https://forum.pine64.org/forumdisplay.php?fid=120)
+--- Forum: PinePhone Software (https://forum.pine64.org/forumdisplay.php?fid=121)
+---- Forum: Mobian on PinePhone (https://forum.pine64.org/forumdisplay.php?fid=139)
+---- Thread: Won't boot, black screen (/showthread.php?tid=16949)



Won't boot, black screen - mdk - 07-02-2022

Today my pinephone stopped booting: green led, black screen.



It allready happened to me once, it was after an upgrade that went bad (phone going to sleep before finishing building initrd, me not noticing, something like that), it was quick to resolve by mounting the phone on my laptop via USB, and chrooting in it.



But today it's harder, I tried multiple things with no luck:



- In a chroot ran: dpkg-reconfigure linux-image-5.15-sunxi64

- Configured an older kernel, and tried setting a rescue mode in /boot/extlinux/extlinux.conf directly, and noticing the comment, by modifying the files in /etc and running u-boot-update too.

- Dropped `splash` and added `console=tty1` in `/etc/u-boot-menu.d/pinephone.conf`, ran `u-boot-update`. (Still black screen at this point).

- Soldered a jack-to-USB using an old "FTDI Friend" round in a drawer so I can take a look at serial output (it works!)



At this point I noticed:



> Moving Image from 0x40080000 to 0x40200000, end=415b0000

>   Loading Ramdisk to 452ba000, end 49fff776 ... OK

> FDT and ATAGS support not compiled in

>

> resetting ...



and after doodling around decided to remember that u-boot was no longer supported in Mobian.



So I installed tow-boot (wow it's nice not having to change the SD card each time I want to switch to mass storage ♥).



But still no luck, here's what I see over serial:



Code:
Tow-Boot 2021.10 (Oct 04 2021 - 15:09:26 +0000)004 [variant: mmcboot]

CPU:  Allwinner A64 (SUN50I)
Model: Pine64 PinePhone (1.2)
DRAM:  3 GiB
MMC:  mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Loading Environment from nowhere... OK
In:    serial
Out:  serial
Err:  serial
Net:  No ethernet found.
Please press [ESCAPE] or [CTRL+C] to enter the boot menu.
off
off
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
995 bytes read in 2 ms (485.4 KiB/s)
U-Boot menu
1:      Debian GNU/Linux bookworm/sid 5.15-sunxi64
2:      Debian GNU/Linux bookworm/sid 5.15-sunxi64 (rescue target)
3:      Debian GNU/Linux bookworm/sid 5.10-sunxi64
4:      Debian GNU/Linux bookworm/sid 5.10-sunxi64 (rescue target)
Enter choice: 1:        Debian GNU/Linux bookworm/sid 5.15-sunxi64
Retrieving file: /initrd.img-5.15-sunxi64
81025327 bytes read in 1739 ms (44.4 MiB/s)
Retrieving file: /vmlinuz-5.15-sunxi64
7448010 bytes read in 160 ms (44.4 MiB/s)
append: root=/dev/mapper/calamares_crypt ro
  Uncompressing Kernel Image
Moving Image from 0x40080000 to 0x40200000, end=415b0000
  Loading Ramdisk to 452ba000, end 49fff92f ... OK

Starting kernel ...

then nothing on the screen, nothing on serial, and it's time for me to go to sleep.

Any idea?


RE: Won't boot, black screen - Chief - 07-02-2022

I read your post carefully and if I'm reading it right it seems to me like you have done most things possible. Might it be better at this point to simply re-flash the eMMC card with a new Mobian? I should also suggest Arch Linux Phosh as well.


RE: Won't boot, black screen - mdk - 07-03-2022

> simply re-flash the eMMC card with a new Mobian?

In one hand it looks like a good idea (to fix the issue), in the other and I prefer understanding things so I'll postpone this idea as long as possible Smile


RE: Won't boot, black screen - mdk - 07-03-2022

Solved my issue. Since yesterday I was wondering how u-boot passed arguments to the kernel, as I was not seeing them in extlinux.conf, it looked like:

Code:
label l0
    menu label Debian GNU/Linux bookworm/sid 5.15-sunxi64
    linux /vmlinuz-5.15-sunxi64
    initrd /initrd.img-5.15-sunxi64

    append root=/dev/mapper/calamares_crypt ro quiet

I was like "OK 'append' but where are the others"?

Doodling around the u-boot documentation and things, I spotted:


Code:
root@seraph:/# apt-cache policy u-boot-menu

u-boot-menu:
  Installed: 4.1.0
  Candidate: 4.1.0
  Version table:
*** 4.1.0 990
        990 http://deb.debian.org/debian bookworm/main arm64 Packages
        100 /var/lib/dpkg/status
    4.0.4mobian1 990
        990 http://repo.mobian-project.org bookworm/main arm64 Packages

So I promptly ran:
Code:
apt install u-boot-menu=4.0.4mobian1
u-boot-update

Rebooted, and boom, solved.


In case someone needs to do it too, I'm doing it over USB mass storage, (hold volume up in tow-boot until the 2nd vibration, or via Jump Drive), I installed

Code:
apt install qemu-user-static binfmt-support

So I can run binaries via qemu, and then just run:
Code:
mount --bind /dev /media/mdk/root/dev/
mount --bind /sys /media/mdk/root/sys/
mount --bind /proc /media/mdk/root/proc/
mount --bind /media/mdk/boot /media/mdk/root/boot/
chroot /media/mdk/root/

to chroot myself in my phone.


So, let's go read /var/log/apt/history.log:

Code:
Start-Date: 2022-06-25  08:23:26
Commandline: apt full-upgrade
Requested-By: mobian (1000)
Upgrade: gstreamer1.0-plugins-ugly:arm64 (1.20.2-1+b1, 1.20.3-1), gsasl-common:arm64 (1.11.3-3, 2.0.0-1), libinput10:arm64 (1.20.1-1, 1.21.0-1), u-boot-menu:arm64 (4.0.4mobian1, 4.1.0), libgsasl18:arm64 (1.11.3-
3, 2.0.0-1), libgstreamer-plugins-bad1.0-0:arm64 (1.20.2-1+b1, 1.20.3-1), gir1.2-gst-plugins-bad-1.0:arm64 (1.20.2-1+b1, 1.20.3-1), libgnutls30:arm64 (3.7.4-2, 3.7.6-2), gstreamer1.0-plugins-bad:arm64 (1.20.2-1+
b1, 1.20.3-1), libgnutls-dane0:arm64 (3.7.4-2, 3.7.6-2), libinput-bin:arm64 (1.20.1-1, 1.21.0-1)
End-Date: 2022-06-25  08:25:38

and here we are, u-boot-menu upgraded from 4.0.4 (mobian side) to 4.1.0 (debian side).


RE: Won't boot, black screen - Chief - 07-03-2022

(07-03-2022, 03:09 AM)mdk Wrote: Solved my issue. Since yesterday I was wondering how u-boot passed arguments to the kernel, as I was not seeing them in extlinux.conf, it looked like:

Code:
label l0
    menu label Debian GNU/Linux bookworm/sid 5.15-sunxi64
    linux /vmlinuz-5.15-sunxi64
    initrd /initrd.img-5.15-sunxi64

    append root=/dev/mapper/calamares_crypt ro quiet

I was like "OK 'append' but where are the others"?

Doodling around the u-boot documentation and things, I spotted:


Code:
root@seraph:/# apt-cache policy u-boot-menu

u-boot-menu:
  Installed: 4.1.0
  Candidate: 4.1.0
  Version table:
*** 4.1.0 990
        990 http://deb.debian.org/debian bookworm/main arm64 Packages
        100 /var/lib/dpkg/status
    4.0.4mobian1 990
        990 http://repo.mobian-project.org bookworm/main arm64 Packages

So I promptly ran:
Code:
apt install u-boot-menu=4.0.4mobian1
u-boot-update

Rebooted, and boom, solved.


In case someone needs to do it too, I'm doing it over USB mass storage, (hold volume up in tow-boot until the 2nd vibration, or via Jump Drive), I installed

Code:
apt install qemu-user-static binfmt-support

So I can run binaries via qemu, and then just run:
Code:
mount --bind /dev /media/mdk/root/dev/
mount --bind /sys /media/mdk/root/sys/
mount --bind /proc /media/mdk/root/proc/
mount --bind /media/mdk/boot /media/mdk/root/boot/
chroot /media/mdk/root/

to chroot myself in my phone.


So, let's go read /var/log/apt/history.log:

Code:
Start-Date: 2022-06-25  08:23:26
Commandline: apt full-upgrade
Requested-By: mobian (1000)
Upgrade: gstreamer1.0-plugins-ugly:arm64 (1.20.2-1+b1, 1.20.3-1), gsasl-common:arm64 (1.11.3-3, 2.0.0-1), libinput10:arm64 (1.20.1-1, 1.21.0-1), u-boot-menu:arm64 (4.0.4mobian1, 4.1.0), libgsasl18:arm64 (1.11.3-
3, 2.0.0-1), libgstreamer-plugins-bad1.0-0:arm64 (1.20.2-1+b1, 1.20.3-1), gir1.2-gst-plugins-bad-1.0:arm64 (1.20.2-1+b1, 1.20.3-1), libgnutls30:arm64 (3.7.4-2, 3.7.6-2), gstreamer1.0-plugins-bad:arm64 (1.20.2-1+
b1, 1.20.3-1), libgnutls-dane0:arm64 (3.7.4-2, 3.7.6-2), libinput-bin:arm64 (1.20.1-1, 1.21.0-1)
End-Date: 2022-06-25  08:25:38

and here we are, u-boot-menu upgraded from 4.0.4 (mobian side) to 4.1.0 (debian side).

Congrats on solving it. This is a good thread to keep around as someone else might find this useful. Just the other day I flashed Tow-boot to boot sector  on my PP and this is great. No more jump drive although jump drive was like a must have in the beginning.