initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
+6
View File
@@ -0,0 +1,6 @@
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
fatload mmc 0 $kernel_addr_r Image
fatload mmc 0 $fdt_addr_r sun50i-a64-pine64.dtb
booti $kernel_addr_r - $fdt_addr_r
+40
View File
@@ -0,0 +1,40 @@
image boot.vfat {
vfat {
files = {
"Image",
"sun50i-a64-pine64.dtb",
"boot.scr"
}
}
size = 64M
}
image sdcard.img {
hdimage {
}
partition spl {
in-partition-table = "no"
image = "sunxi-spl.bin"
offset = 8K
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.itb"
offset = 40K
size = 1M # 1MB - 40KB
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}
+38
View File
@@ -0,0 +1,38 @@
Intro
=====
This default configuration will allow you to start experimenting with the
buildroot environment for the Pine64. With the current configuration
it will bring-up the board, and allow access through the serial console.
Pine64 link:
https://www.pine64.org/?page_id=1194
Wiki link:
https://openedev.amarulasolutions.com/display/ODWIKI/Pine64
This configuration uses U-Boot mainline and kernel mainline.
How to build
============
$ make pine64_defconfig
$ make
Note: you will need access to the internet to download the required
sources.
How to write the SD card
========================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
$ sudo sync
Insert the micro SDcard in your Pine64 and power it up. The console
is on the serial line, 115200 8N1.
+4
View File
@@ -0,0 +1,4 @@
label rock64-buildroot
kernel /boot/Image
devicetree /boot/rk3328-rock64.dtb
append console=ttyS2,1500000n8 root=/dev/mmcblk0p1 ro rootwait
+23
View File
@@ -0,0 +1,23 @@
image sdcard.img {
hdimage {
}
partition uboot-spl {
in-partition-table = "no"
image = "u-boot-tpl-spl.img"
offset = 32K # 512 * 0x40 from start of sd card
}
partition uboot {
in-partition-table = "no"
image = "u-boot.itb"
offset = 256K # 512 * 0x200 from start of sd card
}
partition rootfs {
partition-type = 0x83
bootable = "yes"
image = "rootfs.ext2"
size = 500M
}
}
@@ -0,0 +1,32 @@
From 211bf049084e6e374dac253138fa813682910146 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20=C5=81yszczek?= <michal.lyszczek@bofc.pl>
Date: Tue, 5 Feb 2019 22:08:54 +0100
Subject: [PATCH] Makefile: rk3328 needs itb image to boot properly
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>
---
Makefile | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Makefile b/Makefile
index 8086f3c93e..a6425b5b03 100644
--- a/Makefile
+++ b/Makefile
@@ -799,6 +799,11 @@ ifneq ($(BUILD_ROM),)
ALL-$(CONFIG_X86_RESET_VECTOR) += u-boot.rom
endif
+# rk3328 needs itb image to boot properly
+ifeq ($(CONFIG_ROCKCHIP_RK3328),y)
+ALL-y += u-boot.itb
+endif
+
# enable combined SPL/u-boot/dtb rules for tegra
ifeq ($(CONFIG_TEGRA)$(CONFIG_SPL),yy)
ALL-y += u-boot-tegra.bin u-boot-nodtb-tegra.bin
--
2.18.1
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
MKIMAGE=$HOST_DIR/bin/mkimage
BOARD_DIR="$(dirname $0)"
$MKIMAGE -n rk3328 -T rksd -d $BINARIES_DIR/u-boot-tpl.bin $BINARIES_DIR/u-boot-tpl.img
cat $BINARIES_DIR/u-boot-tpl.img $BINARIES_DIR/u-boot-spl.bin > $BINARIES_DIR/u-boot-tpl-spl.img
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
+95
View File
@@ -0,0 +1,95 @@
Intro
=====
This default configuration will allow you to start experimenting with the
buildroot environment for the Rock64. With this default configuration you
can log in into board via uart and look around.
Board homepage: https://www.pine64.org/?page_id=7147
Build
=====
First, load rock64 config for buildroot
$ make rock64_defconfig
Optionally make changes to buildroot config (to install more programs)
$ make menuconfig
And then build everything
$ make
When completed, following files will be generated in output/images directory:
.
├── Image
├── bl31.bin
├── bl31.elf
├── rk3328-rock64.dtb
├── rootfs.ext2
├── rootfs.ext4 -> rootfs.ext2
├── rootfs.tar
├── sdcard.img
├── u-boot-spl.bin
├── u-boot-tpl-spl.img
├── u-boot-tpl.bin
├── u-boot-tpl.img
├── u-boot.bin
└── u-boot.itb
Creating bootable SD card
=========================
!!! THIS COMMAND MAY WIPE YOUR DISK!
!!! MAKE SURE YOU PASSED CORRECT DEVICE!
!!! OR IT THIS WILL WIPE YOUR DISK!
Simply invoke (as root)
# dd if=output/images/sdcard.img of=/dev/sdX && sync
Where X is your SD card device (not partition), of= argument may also be
/dev/mmcblk0 if you are using built-in sd card reader.
Runtime
=======
Login
-----
By default, buildroot has no password, just type 'root' as login user, and
you will be logged in.
Serial console
--------------
Serial console needs to be connected to pins (into 40pin rpi compatible part)
pin 6: gnd
pin 8: tx
pin 10: rx
Pin numbers are printed on board.
Uart configuration is not standard. Rock64 uses 1500000 (1,5M) baudrate
with standard 8n1.
Ethernet
--------
To enable ethernet you need to load modules for it:
# modprobe stmmac
# modprobe dwmac-rk
and since by default there is no dhcp installed, you need to configure ip
address, remember to change address to fit your network.
# ifconfig eth0 up
# ip addr add 10.1.1.180/24 dev eth0
# ping 10.1.1.1
PING 10.1.1.1 (10.1.1.1): 56 data bytes
64 bytes from 10.1.1.1: seq=0 ttl=64 time=0.695 ms
+4
View File
@@ -0,0 +1,4 @@
label RK3399_ROCKPRO64 linux
kernel /Image
devicetree /rk3399-rockpro64.dtb
append earlycon=uart8250,mmio32,0xff1a0000 root=/dev/mmcblk0p4 rw rootwait
+39
View File
@@ -0,0 +1,39 @@
image boot.vfat {
vfat {
files = {
"Image",
"rk3399-rockpro64.dtb",
"extlinux"
}
}
size = 64M
}
image sdcard.img {
hdimage {
gpt = true
}
partition loader1 {
image = "idbloader.img"
offset = 32K
}
partition loader2 {
image = "u-boot.itb"
offset = 8M
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
offset = 16M
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}
+5
View File
@@ -0,0 +1,5 @@
#!/bin/sh
BOARD_DIR="$(dirname $0)"
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
+60
View File
@@ -0,0 +1,60 @@
PINE64 ROCKPro64
================
https://www.pine64.org/rockpro64/
Build:
======
$ make rockpro64_defconfig
$ make
Files created in output directory
=================================
output/images
├── bl31.elf
├── boot.vfat
├── extlinux
├── idbloader.img
├── Image
├── rk3399-rockpro64.dtb
├── rootfs.ext2
├── rootfs.ext4 -> rootfs.ext2
├── rootfs.tar
├── sdcard.img
├── u-boot.bin
└── u-boot.itb
Creating bootable SD card:
==========================
Simply invoke (as root)
sudo dd if=output/images/sdcard.img of=/dev/sdX && sync
Where X is your SD card device.
Booting:
========
RockPro64 has a 40-pin PI-2 GPIO Bus.
Connect a jumper between pin 23 and pin 25 for SD card boot.
Serial console:
---------------
The pin layout for serial console on PI-2 GPIO Bus is as follows:
pin 6: gnd
pin 8: tx
pin 10: rx
Initially connect pin 6 and pin 8(transmit). Apply power to RockPro64, once the
power is on then connect pin 10(receive).
Baudrate for this board is 1500000.
Login:
------
Enter 'root' as login user, and the prompt is ready.
https://wiki.amarulasolutions.com/bsp/rockchip/rk3399/rockpro64.html
+6
View File
@@ -0,0 +1,6 @@
setenv bootargs console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
fatload mmc 0 $kernel_addr_r Image
fatload mmc 0 $fdt_addr_r sun50i-a64-sopine-baseboard.dtb
booti $kernel_addr_r - $fdt_addr_r
+40
View File
@@ -0,0 +1,40 @@
image boot.vfat {
vfat {
files = {
"Image",
"sun50i-a64-sopine-baseboard.dtb",
"boot.scr"
}
}
size = 64M
}
image sdcard.img {
hdimage {
}
partition spl {
in-partition-table = "no"
image = "sunxi-spl.bin"
offset = 8K
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.itb"
offset = 40K
size = 1M # 1MB - 40KB
}
partition boot {
partition-type = 0xC
bootable = "true"
image = "boot.vfat"
}
partition rootfs {
partition-type = 0x83
image = "rootfs.ext4"
}
}
+38
View File
@@ -0,0 +1,38 @@
Intro
=====
This default configuration will allow you to start experimenting with the
buildroot environment for the SoPine. With the current configuration
it will bring-up the board, and allow access through the serial console.
SoPINE link:
https://www.pine64.org/?page_id=1491
Wiki link:
https://openedev.amarulasolutions.com/display/ODWIKI/SoPine
This configuration uses U-Boot mainline and kernel mainline.
How to build
============
$ make pine64_sopine_defconfig
$ make
Note: you will need access to the internet to download the required
sources.
How to write the SD card
========================
Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.
Copy the bootable "sdcard.img" onto an SD card with "dd":
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
$ sudo sync
Insert the micro SDcard in your SoPine and power it up. The console
is on the serial line, 115200 8N1.