Jump to content

Trying to build u-boot


gogoer

Recommended Posts

Hello.

I'm trying to understand how to build u-boot for my board. I have Nanopi Neo Core + Mini Shield and want to buid u-boot loader for it. I have some problems, maybe someone can help me)

I decide to try extlinux.conf file create boot menu.

First of all i got current version of u-boot (https://github.com/u-boot/u-boot) and configure it with Nanopi Neo default config:

make nanopi_neo_defconfig

i have next output in console:


 

U-Boot SPL 2022.07-rc3-00073-g4fe629d2e8-dirty (May 29 2022 - 23:11:36 +0300)
DRAM: 512 MiB
Trying to boot from MMC1


U-Boot 2022.07-rc3-00073-g4fe629d2e8-dirty (May 29 2022 - 23:11:36 +0300) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: FriendlyARM NanoPi NEO
DRAM:  512 MiB
Core:  63 devices, 17 uclasses, devicetree: separate
WDT:   Not starting watchdog@1c20ca0
MMC:   mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   phy interface1
eth0: ethernet@1c30000
starting USB...
Bus usb@1c1a000: USB EHCI 1.00
Bus usb@1c1a400: USB OHCI 1.0
Bus usb@1c1d000: USB EHCI 1.00
Bus usb@1c1d400: USB OHCI 1.0
scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
scanning bus usb@1c1d000 for devices... EHCI timed out on TD - token=0xd8d80



pause about 20-30 sec


Device NOT ready
   Request Sense returned 00 00 00
data abort
pc : [<5ffaaffe>]          lr : [<5ffa1daf>]
reloc pc : [<4a020ffe>]    lr : [<4a017daf>]
sp : 58a9bee8  ip : 0000001c     fp : 5ffdf00e
r10: 006f656e  r9 : 5bf69ec0     r8 : 58a9bf40
r7 : 00000000  r6 : 5ffe4758     r5 : e59ff014  r4 : 00000000
r3 : 00000000  r2 : 00000001     r1 : 00000000  r0 : 00000000
Flags: nZcv  IRQs off  FIQs off  Mode SVC_32 (T)
Code: 4604 f8d3 a03c 460f (f8da) 3000
Resetting CPU ...

resetting ...

 

then i try to buid sunxi version of bootloader (https://github.com/linux-sunxi/u-boot-sunxi) i have next output:

 

 

U-Boot SPL 2019.01-rc3-g829407b58f (May 29 2022 - 23:34:45 +0300)
DRAM: 512 MiB
Trying to boot from MMC1


U-Boot 2019.01-rc3-g829407b58f (May 29 2022 - 23:34:45 +0300) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: FriendlyElec NanoPi H3 Core
DRAM:  512 MiB
MMC:   MMC0: 01c20060 = 0x4540, 01c20088 = 0x8151000b, 01c202c0 = 0x4540
MMC2: 01c20060 = 0x4540, 01c20090 = 0x80500000, 01c202c0 = 0x4540
mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   eth-1: ethernet@1c30000
starting USB...
USB0:   USB EHCI 1.00
scanning bus 0 for devices... EHCI timed out on TD - token=0xd8d80

pause for 20-30 sec

Device NOT ready
   Request Sense returned 04 44 81
2 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found /extlinux/extlinux.conf
Retrieving file: /extlinux/extlinux.conf
290 bytes read in 3 ms (93.8 KiB/s)
Boot menu
1:      Default
2:      Local boot script (boot.scr)
Enter choice:

here it works, but i still have big pause.

 

Maybe someone can explain why i have this pause and how properly crteate bootloader for my board? i want to understand this process and build it by myself.

 

Link to comment
Share on other sites

Add:

i write Armbian 22.05 Focal image to sd card and it has same problem with delay in boot process:


 

U-Boot SPL 2021.10-armbian (May 28 2022 - 08:41:34 +0000)
DRAM: 512 MiB
Trying to boot from MMC1


U-Boot 2021.10-armbian (May 28 2022 - 08:41:34 +0000) Allwinner Technology

CPU:   Allwinner H3 (SUN8I 1680)
Model: FriendlyARM NanoPi NEO
DRAM:  512 MiB
MMC:   mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... Unable to use mmc 0:1... In:    serial
Out:   serial
Err:   serial
Net:   phy interface0

Error: ethernet@1c30000 address not set.
No ethernet found.

starting USB...
Bus usb@1c1a000: USB EHCI 1.00
Bus usb@1c1a400: USB OHCI 1.0
Bus usb@1c1d000: USB EHCI 1.00
Bus usb@1c1d400: USB OHCI 1.0
scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
scanning bus usb@1c1d000 for devices... EHCI timed out on TD - token=0xd8d80



pause for 20-30 sec


Device NOT ready
   Request Sense returned 00 00 00
2 USB Device(s) found
scanning bus usb@1c1d400 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Autoboot in 1 seconds, press <Space> to stop
switch to partitions #0, OK
mmc0 is current device

is it normal or there is chance to build without this pause?

Link to comment
Share on other sites

There should be I guess since Armbian boot processes do not have such a (long) pause. No idea though how this is managed. I suggest to take a look at our build script to get an idea who Armbian deals with this.

https://github.com/armbian/build/blob/87fa0628df82db765e45c4d020bb924de329616a/lib/compilation.sh#L117-L325

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines