- Official Post
A note to self, or possibly others running into the panic on boot: try the rootwait nousb kcmd options or combinations thereof.
Can anyone test that? other SoCs don't need that.
A note to self, or possibly others running into the panic on boot: try the rootwait nousb kcmd options or combinations thereof.
Can anyone test that? other SoCs don't need that.
Can anyone test that? other SoCs don't need that.
Just did moments ago, didn't help anything.
Not quite sure what that does, but here's what looks relevant from A1000 fex file:
Code Display More[usbc0] usb_used = 0 usb_port_type = 0 usb_detect_type = 0 usb_id_gpio = usb_det_vbus_gpio = usb_drv_vbus_gpio = port:PB09<1><0><default><0> usb_host_init_state = 0 [usbc1] usb_used = 1 usb_port_type = 1 usb_detect_type = 0 usb_id_gpio = usb_det_vbus_gpio = usb_drv_vbus_gpio = port:PH06<1><0><default><0> usb_host_init_state = 1 [usbc2] usb_used = 1 usb_port_type = 1 usb_detect_type = 0 usb_id_gpio = usb_det_vbus_gpio = usb_drv_vbus_gpio = port:PH03<1><0><default><0> usb_host_init_state = 1
OK usbc0 is disabled in the fex. So dtb should be OK. I don't see any differences.
OK usbc0 is disabled in the fex. So dtb should be OK. I don't see any differences.
Hmm, maybe this is the problem - what would be the DTS equivalent of usb_host_init_state in FEX?
Quotevarious: Set usbc2 usb_host_init_state to 1
Codeusb_host_init_state for usbc2 needs to be 1 for the wifi driver to properly auto-load. I don't have these boards to verify, but these are 512Mb RAM variants of 1Gb boards I do have, so it is safe to assume this is necessary with their 512Mb counter-parts too. Signed-off-by: Hans de Goede <[email protected]>
it seems to activate a lcd screen it has to happen in uboot. So if I build a new custom uboot, can I use a already flashed image and just dd the new uboot to the sd-card like this:
it seems to activate a lcd screen it has to happen in uboot.
simple-fb (U-Boot initialized screen) is not useful for LibreELEC.
So if I build a new custom uboot, can I use a already flashed image and just dd the new uboot to the sd-card like this:
you can.
simple-fb (U-Boot initialized screen) is not useful for LibreELEC.
So I have this projector running android on a A20. In the fex file, hdmi is disabled and lcd is enabled. So it seems the projector works through the lcd interface. On the sunxi pages it is mentioned that a custom u-boot should be build and the data in the fex file should be converted to u-boot config. But now you say this will not work on LE because it doesn't us simple-fb? How can I make LE picture through the projector then?
Would you say: don't bother, don't waist your time. Because this would means that LE will not work on any tablet, right?
I've tried the ready-made image linked here, which should be a mainline kernel, albeit an old one: Mainline Debian HowTo - linux-sunxi.org (image link). I didn't go into installing UBoot and full-featured boot - I think that nukes the onboard android, which I don't want to do yet (want to back up the partitions first, and don't have an ADB cable yet). But the pre-install environment did boot successfully, with even the USB ports working (there was no driver for the onboard wifi, but it did show up in lsusb.
What would be a simple way to prevent jernej's build from loading the Realtek wifi drivers, to check if that's the culprit here?
What would be a simple way to prevent jernej's build from loading the Realtek wifi drivers, to check if that's the culprit here?
The easiest that I could think of it to edit DT and remove USB node connected to wifi.
But now you say this will not work on LE because it doesn't us simple-fb?
Problem is that Kodi expects full DRM driver in order to work correctly. simple-fb is fbdev driver. You would see LibreELEC splash screen but I don't think Kodi would start.
How can I make LE picture through the projector then?
Would you say: don't bother, don't waist your time. Because this would means that LE will not work on any tablet, right?
Anything can run LE if it uses DRM driver and GPU driver which supports GBM interface. You just need to figure how to properly describe LCD panel in device tree. But I'm not right person to help you with that, I don't have experience with any output besides HDMI.
Anything can run LE if it uses DRM driver and GPU driver which supports GBM interface. You just need to figure how to properly describe LCD panel in device tree. But I'm not right person to help you with that, I don't have experience with any output besides HDMI.
OK, I will see if I can get further with this, I see in the pinephone dtb these lines that refer to the screen:
&dsi {
vcc-dsi-supply = <®_dldo1>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
panel@0 {
compatible = "xingbangda,xbd599";
reg = <0>;
reset-gpios = <&pio 3 23 GPIO_ACTIVE_LOW>; /* PD23 */
backlight = <&backlight>;
};
};
Display More
So probably it will be something regarding dsi. For the moment I don't find a specific A20 dtb for tablets using mainline.
roel note that tablets can use parallel, DSI or LVDS interface. You have to check fex file to see which one is actually used on your device.
jernej seems its parallel. It's certainly not LVDS is this one is not enabled. The fex section describes it as lcd_para so I assume this means parallel. I think this is out of my league but maybe I find a site with some good explanation. I already found this: ST Community
but I'm still confused about this drm/kms stuff.
Am I doing this right? I decompiled the DTB, set status="disabled" on the first enabled usb node (and the phy which the subsequent attempt to boot complained about), compiled and replaced sun4i-a10-a1000.dtb. Diff:
phy@1c13400 {
#phy-cells = <0x1>;
compatible = "allwinner,sun4i-a10-usb-phy";
reg = <0x1c13400 0x10 0x1c14800 0x4 0x1c1c800 0x4>;
reg-names = "phy_ctrl", "pmu1", "pmu2";
clocks = <0x2 0x7d>;
clock-names = "usb_phy";
resets = <0x2 0x1 0x2 0x2 0x2 0x3>;
reset-names = "usb0_reset", "usb1_reset", "usb2_reset";
- status = "okay";
+ status = "disabled";
usb1_vbus-supply = <0x1c>;
usb2_vbus-supply = <0x1d>;
phandle = <0x1a>;
};
usb@1c14000 {
compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
reg = <0x1c14000 0x100>;
interrupts = <0x27>;
clocks = <0x2 0x1b>;
phys = <0x1a 0x1>;
phy-names = "usb";
- status = "okay";
+ status = "disabled";
};
usb@1c14400 {
compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
reg = <0x1c14400 0x100>;
interrupts = <0x40>;
clocks = <0x2 0x7b 0x2 0x1c>;
phys = <0x1a 0x1>;
phy-names = "usb";
Display More
That did get rid of detecting the USB wifi (didn't have anything else attached), but the error message is the same:
Quote[ 4.084220] Run /init as init process
[ 4.095837] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004
[ 4.109445] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004 ]---
Am I doing this right? I decompiled the DTB, set status="disabled" on the first enabled usb node (and the phy which the subsequent attempt to boot complained about), compiled and replaced sun4i-a10-a1000.dtb.
yes, seems good.
but the error message is the same:
So wifi just appears to be last driver loaded, but not the cause.
jernej , which /init is this referring to? This one?
Yes.
> which /init..
Yes.
Is there a way to check that it (and busybox executable) is actually on the built image..? (My understanding is that this is the early rootfs - like initramfs on a PC Linux distro - and on these images, that's embedded in the KERNEL image file.) I tried the binwalk method of extraction, but for every xz file it finds in the KERNEL file, unxz reports it as corrupted.
binwalk /mnt/LEcard/KERNEL
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
36 0x24 Linux kernel ARM boot executable zImage (little-endian), load address: "0x00000000", end address: "0x00855668"
82818 0x14382 SHA256 hash constants, little endian
1001768 0xF4928 Certificate in DER format (x509 v3), header length: 4, sequence length: 4688
4588447 0x46039F Certificate in DER format (x509 v3), header length: 4, sequence length: 773
5235356 0x4FE29C mcrypt 2.5 encrypted data, algorithm: "H", keysize: 3625 bytes, mode: "T",
5486560 0x53B7E0 xz compressed data
5563871 0x54E5DF Unix path: /505V/F505/F707/F717/P8(
6313659 0x6056BB Unix path: /usr/share/plymouth/splash.png
6314139 0x60589B Copyright string: "Copyright (c) 2018-2019 Cosmin Truta%"
6502906 0x6339FA Copyright string: "copyrighted by many authors between 1998-2015."
6519234 0x6379C2 xz compressed data
6579912 0x6466C8 ELF, 32-bit LSB processor-specific, no machine,
6850378 0x68874A Certificate in DER format (x509 v3), header length: 4, sequence length: 5384
7286238 0x6F2DDE ELF, 32-bit LSB processor-specific,
7543244 0x7319CC Certificate in DER format (x509 v3), header length: 4, sequence length: 9476
7864179 0x77FF73 Copyright string: "Copyright (C) 2019 Free Software Foundation, Inc."
8605147 0x834DDB Unix path: /virtual/graphics/fbcon/5
Display More
Is there a way to check that it (and busybox executable) is actually on the built image..?
Not sure, but currently initramfs is in cpio archive, which starts with "070701" string.
Well.. there are ~15 CPIO signatures in there
While there seems to be something compressed in there, trying to extract it results in a lot of cpio errors, not finding "member names" (file names?)
cpio: Malformed number 0^A
cpio: Malformed number 3A609B^V
cpio: Malformed number 3103
cpio: Malformed number 4
cpio: Malformed number 18;
cpio: Malformed number t
cpio: Malformed number ^A
cpio: Substituting `.' for empty member name
drwxr-xr-x 200752 root 61213104 0 Jan 1 1970 .
cpio: warning: skipped 133997 bytes of junk
cpio: Malformed number nN_81ED0
cpio: Malformed number ^A
cpio: Malformed number 0468A8^V
cpio: Malformed number #03
cpio: Malformed number <A0>bin/bus
cpio: Malformed number ybou^w^?E
cpio: Malformed number LF^A^A^A<94>^S^Q
cpio: Malformed number (<9C>
cpio: Malformed number <80><87>0<C0>d^D<FD>
cpio: Malformed number <C1>^E4
cpio: Substituting `.' for empty member name
?--------- 4622976 root 87884364 0 Jan 1 1970 .
cpio: warning: skipped 189365 bytes of junk
cpio: Malformed number <E5>(_41ED0
cpio: Malformed number ^A
cpio: Malformed number 4621E^V
cpio: Malformed number 103
cpio: Malformed number ^D^T8
cpio: Malformed number <libx
cpio: Malformed number ^\
cpio: Malformed number `
cpio: Malformed number 1x
cpio: Malformed number ss_dns.s
cpio: Malformed number o.<B5>^T ^R
cpio: Substituting `.' for empty member name
?--------- 4144 root 4596192 0 Jan 1 1970 .
cpio: warning: skipped 54839 bytes of junk
cpio: Malformed number 0^A
cpio: Malformed number 346102
cpio: Malformed number B6784^V
cpio: Malformed number 03
cpio: Malformed number ^D^T1
cpio: Malformed number r/lib^D
cpio: Malformed number rt.so
cpio: Malformed number ELF^A^A^A<AB>
cpio: Malformed number 1^C
cpio: Malformed number ^W
cpio: Malformed number b%^A<C1>^E4
cpio: Substituting `.' for empty member name
-rwxr-xr-x 11958336 root 54923296 0 Jan 1 1970 .
cpio: warning: skipped 706213 bytes of junk
cpio: Malformed number <FE><E9>_81ED0
cpio: Malformed number ^A
cpio: Malformed number 04CE48^V
cpio: Malformed number #03
cpio: Malformed number <96>!ib<87><CA>
cpio: Malformed number <96><D5>1.1.0
cpio: Malformed number ^?ELF^A^A^A<A0>
cpio: Malformed number t^Pp<F5>E<E1>^D
cpio: Malformed number ^E4
cpio: Substituting `.' for empty member name
?--------- 5039232 root 87884544 0 Jan 1 1970 .
cpio: warning: skipped 178282 bytes of junk
cpio: Malformed number 0^A
cpio: Malformed number 346102^P
cpio: Malformed number ^R5^V
cpio: Malformed number
cpio: Malformed number #ldl9<A0>ar
cpio: Malformed number mhf.so.3
cpio: Malformed number <^PLd.so<94>
cpio: Malformed number <94>
cpio: Malformed number ibpth<8F><
cpio: Substituting `.' for empty member name
lrwxrwxrwx 0 root 54923296 0 Jan 1 1970 . ->
cpio: warning: skipped 40665 bytes of junk
cpio: Malformed number 0^A
cpio: Malformed number 3461D5
cpio: Malformed number #44'
cpio: Malformed number 3
cpio: Malformed number ^T9
cpio: Malformed number /lib^D
cpio: Malformed number armmem-v
cpio: Malformed number 7l.so
cpio: Malformed number ELF^A^Ai^A1
cpio: Malformed number ^C
cpio: Malformed number <EC>^Z!8A-^A<CD>
-rwxr-xr-x 0 root 54926672 0 Jan 1 1970 p\227K\376\252\252
cpio: warning: skipped 92411 bytes of junk
cpio: Malformed number 0^A
cpio: Malformed number 346102^P
cpio: Malformed number ^R8^V
cpio: Malformed number ^Pt<E7>$^A^\^S^D
cpio: Malformed number ^N
cpio: Malformed number _595A4<8C>
cpio: Malformed number ^T^_0<8C>
cpio: Malformed number .KA^M^PZ2^C
cpio: Substituting `.' for empty member name
lrwxrwxrwx 0 root 54923296 0 Jan 1 1970 . ->
cpio: warning: skipped 221172 bytes of junk
cpio: Malformed number ^A
cpio: Malformed number ^A
cpio: Malformed number 46102^L
cpio: Malformed number 790C^V
cpio: Malformed number 3
cpio: Malformed number ^T6
cpio: Malformed number /lib^D
cpio: Malformed number pthread.
cpio: Malformed number so
cpio: Malformed number ^A^AO ^Q(<A0>
cpio: Malformed number "<BC>O<80>^Z!^Lt
cpio: Malformed number <A9>^A<C0>^E4
?--------- 495808 root 4591648 0 Jan 1 1970 \260\227K\376\252\252
cpio: warning: skipped 49590 bytes of junk
cpio: Malformed number 00941
cpio: Malformed number ^?00A1FF0
cpio: Malformed number ^A
cpio: Malformed number 4621E^O
cpio: Malformed number 1^G
cpio: Malformed number ^_27
cpio: Malformed number (^BJ' ^N
cpio: Malformed number .1.0<98>
cpio: Malformed number ^P_42C7C<98>
cpio: Malformed number blkid<8A>
cpio: Substituting `.' for empty member name
?--------- 16 root 4596192 0 Jan 1 1970 .
cpio: warning: skipped 158525 bytes of junk
cpio: Malformed number 0^A
cpio: Malformed number 346102
cpio: Malformed number B45D8^V
cpio: Malformed number 03
cpio: Malformed number ^D^T6
cpio: Malformed number ib^D
cpio: Malformed number ss_dns.s
cpio: Malformed number o
cpio: Malformed number 1^C
cpio: Malformed number
<D0>!!<C8>A^A^A
cpio: Malformed number <CE>^E4
cpio: Substituting `.' for empty member name
-rwxr-xr-x 11820416 root 54923296 0 Jan 1 1970 .
cpio: warning: skipped 373903 bytes of junk
cpio: Malformed number 0^A
cpio: Malformed number 003E294^V
cpio: Malformed number ^Dusr/sbi
cpio: Malformed number n/iscsis
cpio: Malformed number tartd/gE
cpio: Malformed number LF^A^A^A^X^\^R
cpio: Malformed number (^X^X^R<A3><C8>^T!
cpio: Malformed number <E4><DD>^E^P<E3>^E4
cpio: Substituting `.' for empty member name
-rwxr-xr-x 4073792 root 38130246 7 Jan 1 1970 .
cpio: warning: skipped 135758 bytes of junk
cpio: Malformed number 0^A
cpio: Malformed number 3461DA
cpio: Malformed number BB724^V
cpio: Malformed number 03
cpio: Malformed number ^D^E^X
cpio: Malformed number <C1><CD><F7>^Afsck
cpio: Malformed number .fat
cpio: Malformed number F^A^A^A<86><83>^Q(
cpio: Malformed number <9C>
cpio: Malformed number ^B^R<B2><BB>l<B1>4
cpio: Substituting `.' for empty member name
-rwxr-xr-x 12284480 root 54926752 0 Jan 1 1970 .
cpio: premature end of file
Checked the init script, and will try booting with debugging in the kcmd, hopefully will get more clues what's wrong. If not, I reckon the intramfs is somehow broken.
will try booting with debugging in the kcmd, hopefully will get more clues what's wrong.
Nope, that didn't yield anything. Any ideas? May as well start setting up a build environment at this point...