Update Buildroot to 2019.02.3 (#415)
* Update Buildroot to 2019-02.3 * Fix enter script * Update ova_defconfig * Fix network manager * Remove runc patches * Use same docker version * Fix build * Fix vmtools * Fix depens * Fix handling with tempfiles * Fix permission handling * Fix cp * Cleanup * Fix mounts
This commit is contained in:
@@ -6,11 +6,11 @@ image efi-part.vfat {
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
file bzImage {
|
||||
image = "bzImage"
|
||||
file Image {
|
||||
image = "Image"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
@@ -27,5 +27,4 @@ image disk.img {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
|
||||
}
|
||||
2
buildroot/board/pc/grub-efi.cfg → buildroot/board/aarch64-efi/grub.cfg
Executable file → Normal file
2
buildroot/board/pc/grub-efi.cfg → buildroot/board/aarch64-efi/grub.cfg
Executable file → Normal file
@@ -2,5 +2,5 @@ set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=/dev/sda2 rootwait console=tty1
|
||||
linux /Image root=/dev/vda2 rootwait console=ttyAMA0
|
||||
}
|
||||
5
buildroot/board/aarch64-efi/post-image.sh
Executable file
5
buildroot/board/aarch64-efi/post-image.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
34
buildroot/board/aarch64-efi/readme.txt
Normal file
34
buildroot/board/aarch64-efi/readme.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
|
||||
The aarch64_efi_defconfig allows to build a minimal Linux system that
|
||||
can boot on all AArch64 servers providing an EFI firmware and ACPI.
|
||||
|
||||
Building and booting
|
||||
====================
|
||||
|
||||
$ make aarch64_efi_defconfig
|
||||
$ make
|
||||
|
||||
The file output/images/disk.img is a complete disk image that can be
|
||||
booted, it includes the grub2 bootloader, Linux kernel and root
|
||||
filesystem.
|
||||
|
||||
Testing under Qemu
|
||||
==================
|
||||
|
||||
This image can also be tested using Qemu:
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M virt \
|
||||
-cpu cortex-a57 \
|
||||
-m 512 \
|
||||
-nographic \
|
||||
-bios </path/to/QEMU_EFI.fd> \
|
||||
-drive file=output/images/disk.img,if=none,format=raw,id=hd0 \
|
||||
-device virtio-blk-device,drive=hd0 \
|
||||
-netdev user,id=eth0 \
|
||||
-device virtio-net-device,netdev=eth0
|
||||
|
||||
Note that </path/to/QEMU_EFI.fd> needs to point to a valid aarch64 UEFI
|
||||
firmware image for qemu.
|
||||
It may be provided by your distribution as a edk2-aarch64 or AAVMF
|
||||
package, in path such as /usr/share/edk2/aarch64/QEMU_EFI.fd .
|
||||
@@ -0,0 +1,35 @@
|
||||
From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001
|
||||
From: Shyam Saini <shyam.saini@amarulasolutions.com>
|
||||
Date: Mon, 15 Apr 2019 16:16:16 +0530
|
||||
Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB
|
||||
|
||||
The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which
|
||||
causes board reset because of larger uImage size.
|
||||
|
||||
Error log snippet:
|
||||
Booting using the fdt blob at 0x1f00000
|
||||
Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN
|
||||
Must RESET board to recover
|
||||
resetting ...
|
||||
|
||||
Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
|
||||
---
|
||||
include/configs/rk3288_common.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
|
||||
index 72a54bc0ab..eab7cf4d86 100644
|
||||
--- a/include/configs/rk3288_common.h
|
||||
+++ b/include/configs/rk3288_common.h
|
||||
@@ -9,6 +9,8 @@
|
||||
#include <asm/arch/hardware.h>
|
||||
#include "rockchip-common.h"
|
||||
|
||||
+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */
|
||||
+
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
|
||||
#define CONFIG_SYS_MALLOC_LEN (32 << 20)
|
||||
#define CONFIG_SYS_CBSIZE 1024
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From 8ee2b03039cccf64402a72dea2185d7fe1972729 Mon Sep 17 00:00:00 2001
|
||||
From: Shyam Saini <shyam.saini@amarulasolutions.com>
|
||||
Date: Mon, 15 Apr 2019 16:16:16 +0530
|
||||
Subject: [PATCH] include: configs: Increase CONFIG_SYS_BOOTM_LEN to 16MB
|
||||
|
||||
The default value of CONFIG_SYS_BOOTM_LEN is 0x800000 i.e, 8MB which
|
||||
causes board reset because of larger uImage size.
|
||||
|
||||
Error log snippet:
|
||||
Booting using the fdt blob at 0x1f00000
|
||||
Loading Kernel Image ... Image too large: increase CONFIG_SYS_BOOTM_LEN
|
||||
Must RESET board to recover
|
||||
resetting ...
|
||||
|
||||
Signed-off-by: Shyam Saini <shyam.saini@amarulasolutions.com>
|
||||
---
|
||||
include/configs/rk3288_common.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/configs/rk3288_common.h b/include/configs/rk3288_common.h
|
||||
index 72a54bc0ab..eab7cf4d86 100644
|
||||
--- a/include/configs/rk3288_common.h
|
||||
+++ b/include/configs/rk3288_common.h
|
||||
@@ -9,6 +9,8 @@
|
||||
#include <asm/arch/hardware.h>
|
||||
#include "rockchip-common.h"
|
||||
|
||||
+#define CONFIG_SYS_BOOTM_LEN (16 << 20) /* 16MB */
|
||||
+
|
||||
#define CONFIG_SKIP_LOWLEVEL_INIT_ONLY
|
||||
#define CONFIG_SYS_MALLOC_LEN (32 << 20)
|
||||
#define CONFIG_SYS_CBSIZE 1024
|
||||
--
|
||||
2.11.0
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
From 7e3f2c482bc16537a093e87a27f0d465804a88e4 Mon Sep 17 00:00:00 2001
|
||||
From: Julien Olivain <juju@cotds.org>
|
||||
Date: Tue, 11 Dec 2018 23:04:46 +0100
|
||||
Subject: [PATCH] csky: update cmdline for serial console and rootfs on sda1
|
||||
|
||||
Signed-off-by: Julien Olivain <juju@cotds.org>
|
||||
---
|
||||
arch/csky/boot/dts/gx6605s.dts | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/csky/boot/dts/gx6605s.dts b/arch/csky/boot/dts/gx6605s.dts
|
||||
index ce56106af967..f5d60b21e6f9 100644
|
||||
--- a/arch/csky/boot/dts/gx6605s.dts
|
||||
+++ b/arch/csky/boot/dts/gx6605s.dts
|
||||
@@ -155,6 +155,6 @@
|
||||
};
|
||||
|
||||
chosen {
|
||||
- bootargs = "console=tty0 init=/sbin/init root=/dev/sda2 rw rootwait";
|
||||
+ bootargs = "console=ttyS0,115200 init=/sbin/init root=/dev/sda1 rw rootwait";
|
||||
};
|
||||
};
|
||||
--
|
||||
2.19.2
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"BOOT.BIN",
|
||||
"uEnv.txt",
|
||||
"system.bit",
|
||||
"zynq-zybo.dtb",
|
||||
"u-boot-dtb.img",
|
||||
"uImage"
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
GENIMAGE_CFG="${BOARD_DIR}/genimage.cfg"
|
||||
GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
|
||||
OUTPUT_DIR="${O}/images"
|
||||
|
||||
rm -rf "${GENIMAGE_TMP}"
|
||||
|
||||
cp board/digilent/zybo/uEnv.txt ${BINARIES_DIR}
|
||||
cp board/digilent/zybo/system.bit ${BINARIES_DIR}
|
||||
|
||||
genimage \
|
||||
--rootpath "${TARGET_DIR}" \
|
||||
--tmppath "${GENIMAGE_TMP}" \
|
||||
--inputpath "${BINARIES_DIR}" \
|
||||
--outputpath "${BINARIES_DIR}" \
|
||||
--config "${GENIMAGE_CFG}"
|
||||
@@ -1,76 +0,0 @@
|
||||
Digilent Zybo
|
||||
=============
|
||||
|
||||
This is the Buildroot board support for the Digilent Zybo. The Zybo is
|
||||
a development board based on the Xilinx Zynq-7000 based All-Programmable
|
||||
System-On-Chip.
|
||||
|
||||
Zybo information including schematics, reference designs, and manuals are
|
||||
available from http://store.digilentinc.com/zybo-zynq-7000-arm-fpga-soc-trainer-board/ .
|
||||
|
||||
If you want a custom FPGA bitstream to be loaded by U-Boot, copy it as
|
||||
system.bit in board/digilent/zybo/.
|
||||
|
||||
Steps to create a working system for Zybo:
|
||||
|
||||
1) make zynq_zybo_defconfig
|
||||
2) make
|
||||
3) write your SD Card with the sdcard.img file using dd by doing
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
4) insert the SD Card and power up your Zybo
|
||||
5) Expect serial console on the second USB serial port exposed by the board
|
||||
|
||||
The expected output:
|
||||
|
||||
U-Boot SPL 2016.05 (May 20 2016 - 16:16:24)
|
||||
mmc boot
|
||||
Trying to boot from MMC1
|
||||
reading system.dtb
|
||||
spl_load_image_fat_os: error reading image system.dtb, err - -1
|
||||
reading u-boot-dtb.img
|
||||
reading u-boot-dtb.img
|
||||
|
||||
|
||||
U-Boot 2016.05 (May 20 2016 - 16:16:24 +0200)
|
||||
|
||||
Model: Zynq ZYBO Development Board
|
||||
Board: Xilinx Zynq
|
||||
I2C: ready
|
||||
DRAM: ECC disabled 512 MiB
|
||||
MMC: sdhci@e0100000: 0
|
||||
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB
|
||||
In: serial@e0001000
|
||||
Out: serial@e0001000
|
||||
Err: serial@e0001000
|
||||
Model: Zynq ZYBO Development Board
|
||||
Board: Xilinx Zynq
|
||||
Net: ZYNQ GEM: e000b000, phyaddr 0, interface rgmii-id
|
||||
I2C EEPROM MAC address read failed
|
||||
|
||||
Warning: ethernet@e000b000 (eth0) using random MAC address - 56:64:dd:a7:6d:94
|
||||
eth0: ethernet@e000b000
|
||||
...
|
||||
|
||||
Resulting system
|
||||
----------------
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
The first partition is a FAT32 partition created at the beginning of the SD Card
|
||||
that contains the following files :
|
||||
/BOOT.BIN
|
||||
/zynq-zybo.dtb
|
||||
/uEnv.txt
|
||||
/system.bit
|
||||
/uImage
|
||||
/u-boot-dtb.img
|
||||
|
||||
The second partition is an ext4 partition that contains the root filesystem.
|
||||
|
||||
You can alter the booting procedure by modifying the uEnv.txt file
|
||||
in first partition of the SD card. It is a plain text file in format
|
||||
<key>=<value> one per line:
|
||||
|
||||
kernel_image=myimage
|
||||
modeboot=myboot
|
||||
myboot=...
|
||||
@@ -1,5 +0,0 @@
|
||||
bootargs=root=/dev/mmcblk0p2 rootwait rw rootfstype=ext4
|
||||
fpga_image=system.bit
|
||||
fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image}; then echo Booting FPGA from ${fpga_image}; fpga info 0 && fpga loadb 0 0x1000000 $filesize; else echo FPGA image ${fpga_image} was not found, skipping...; fi;
|
||||
kernel_image=uImage
|
||||
sdboot=echo Booting from SD...; run fpgaboot; fatload mmc 0 0x1000000 ${kernel_image} && fatload mmc 0 0x2000000 zynq-zybo.dtb && bootm 0x1000000 - 0x2000000
|
||||
@@ -3,7 +3,7 @@
|
||||
# We mimic the .sdcard Freescale's image format:
|
||||
# * the SD card must have 33 kB free space at the beginning,
|
||||
# * U-Boot is integrated into imx8-boot-sd.bin and is dumped as is,
|
||||
# * a FAT partition at offset 32MB is containing Image and DTB files
|
||||
# * a FAT partition at offset 8MB is containing Image and DTB files
|
||||
# * a single root filesystem partition is required (ext2, ext3 or ext4)
|
||||
#
|
||||
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
From 27a2cd6a1980adf3002412678c8fdec6528dc47d Mon Sep 17 00:00:00 2001
|
||||
From: Trent Piepho <tpiepho@impinj.com>
|
||||
Date: Fri, 6 Apr 2018 17:11:27 -0700
|
||||
Subject: [PATCH] imx: Create distinct pre-processed mkimage config files
|
||||
|
||||
Each imx image is created by a separate sub-make and during this process
|
||||
the mkimage config file is run though cpp.
|
||||
|
||||
The cpp output is to the same file no matter what imx image is being
|
||||
created.
|
||||
|
||||
This means if two imx images are generated in parallel they will attempt
|
||||
to independently produce the same pre-processed mkimage config file at
|
||||
the same time.
|
||||
|
||||
Avoid the problem by making the pre-processed config file name unique
|
||||
based on the imx image it will be used in. This way each image will
|
||||
create a unique config file and they won't clobber each other when run
|
||||
in parallel.
|
||||
|
||||
This should fixed the build bug referenced in b5b0e4e3 ("imximage:
|
||||
Remove failure when no IVT offset is found").
|
||||
|
||||
Cc: Breno Lima <breno.lima@nxp.com>
|
||||
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
Cc: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
Signed-off-by: Trent Piepho <tpiepho@impinj.com>
|
||||
Tested-by: Fabio Estevam <fabio.estevam@nxp.com>
|
||||
[fabio: Adapted to imx_v2017.03_4.9.11_1.0.0_ga]
|
||||
Signed-off-by: Fabio Estevam <festevam@gmail.com>
|
||||
---
|
||||
arch/arm/imx-common/Makefile | 15 ++++++++-------
|
||||
1 file changed, 8 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/imx-common/Makefile b/arch/arm/imx-common/Makefile
|
||||
index d862258..f1bae8d 100644
|
||||
--- a/arch/arm/imx-common/Makefile
|
||||
+++ b/arch/arm/imx-common/Makefile
|
||||
@@ -69,9 +69,11 @@ endif
|
||||
quiet_cmd_cpp_cfg = CFGS $@
|
||||
cmd_cpp_cfg = $(CPP) $(cpp_flags) -x c -o $@ $<
|
||||
|
||||
-IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%).cfgtmp
|
||||
+# mkimage source config file
|
||||
+IMX_CONFIG = $(CONFIG_IMX_CONFIG:"%"=%)
|
||||
|
||||
-$(IMX_CONFIG): %.cfgtmp: % FORCE
|
||||
+# How to create a cpp processed config file, they all use the same source
|
||||
+%.cfgout: $(IMX_CONFIG) FORCE
|
||||
$(Q)mkdir -p $(dir $@)
|
||||
$(call if_changed_dep,cpp_cfg)
|
||||
|
||||
@@ -79,7 +81,7 @@ MKIMAGEFLAGS_u-boot.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imxim
|
||||
-e $(CONFIG_SYS_TEXT_BASE)
|
||||
u-boot.imx: MKIMAGEOUTPUT = u-boot.imx.log
|
||||
|
||||
-u-boot.imx: u-boot.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
+u-boot.imx: u-boot.bin u-boot.cfgout $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
|
||||
ifeq ($(CONFIG_OF_SEPARATE),y)
|
||||
@@ -87,16 +89,15 @@ MKIMAGEFLAGS_u-boot-dtb.imx = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T i
|
||||
-e $(CONFIG_SYS_TEXT_BASE)
|
||||
u-boot-dtb.imx: MKIMAGEOUTPUT = u-boot-dtb.imx.log
|
||||
|
||||
-u-boot-dtb.imx: u-boot-dtb.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
+u-boot-dtb.imx: u-boot-dtb.bin u-boot-dtb.cfgout $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
endif
|
||||
|
||||
MKIMAGEFLAGS_SPL = -n $(filter-out $(PLUGIN).bin $< $(PHONY),$^) -T imximage \
|
||||
-e $(CONFIG_SPL_TEXT_BASE)
|
||||
-
|
||||
SPL: MKIMAGEOUTPUT = SPL.log
|
||||
|
||||
-SPL: spl/u-boot-spl.bin $(IMX_CONFIG) $(PLUGIN).bin FORCE
|
||||
+SPL: spl/u-boot-spl.bin spl/u-boot-spl.cfgout $(PLUGIN).bin FORCE
|
||||
$(call if_changed,mkimage)
|
||||
|
||||
MKIMAGEFLAGS_u-boot.uim = -A arm -O U-Boot -a $(CONFIG_SYS_TEXT_BASE) \
|
||||
@@ -124,4 +125,4 @@ cmd_u-boot-nand-spl_imx = (printf '\000\000\000\000\106\103\102\040\001' && \
|
||||
spl/u-boot-nand-spl.imx: SPL FORCE
|
||||
$(call if_changed,u-boot-nand-spl_imx)
|
||||
|
||||
-targets += $(addprefix ../../../,$(IMX_CONFIG) SPL u-boot.uim spl/u-boot-nand-spl.imx)
|
||||
+targets += $(addprefix ../../../,SPL spl/u-boot-spl.cfgout u-boot-dtb.cfgout u-boot.cfgout u-boot.uim spl/u-boot-nand-spl.imx)
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -21,7 +21,7 @@ You will find in output/images/ the following files:
|
||||
- boot.vfat
|
||||
- fsl-imx8mq-evk.dtb
|
||||
- Image
|
||||
- imx-boot-imx8mqevk-sd.bin
|
||||
- imx8-boot-sd.bin
|
||||
- lpddr4_pmu_train_fw.bin
|
||||
- rootfs.ext2
|
||||
- rootfs.ext4
|
||||
@@ -69,7 +69,7 @@ Enable HDMI output
|
||||
|
||||
To enable HDMI output at boot you must provide the video kernel boot
|
||||
argument. To set the video boot argument from U-Boot run after
|
||||
stoping in U-Boot prompt:
|
||||
stopping in U-Boot prompt:
|
||||
|
||||
setenv mmcargs 'setenv bootargs console=${console} root=${mmcroot} video=HDMI-A-1:1920x1080-32@60'
|
||||
saveenv
|
||||
|
||||
@@ -16,10 +16,15 @@ image flash.bin {
|
||||
flashtype = "nor-16M-256"
|
||||
partition uboot {
|
||||
image = "u-boot.bin"
|
||||
size = 320K
|
||||
size = 256K
|
||||
}
|
||||
partition dtb {
|
||||
image = "da850-lego-ev3.dtb"
|
||||
size = 64K
|
||||
offset = 0x40000
|
||||
}
|
||||
partition uimage {
|
||||
image = "uImage.da850-lego-ev3"
|
||||
image = "uImage"
|
||||
size = 4M
|
||||
offset = 0x50000
|
||||
}
|
||||
@@ -35,7 +40,10 @@ image flash.bin {
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
file uImage {
|
||||
image = "uImage.da850-lego-ev3"
|
||||
image = "uImage"
|
||||
}
|
||||
file da850-lego-ev3.dtb {
|
||||
image = "da850-lego-ev3.dtb"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
CONFIG_ARM_APPENDED_DTB=n
|
||||
CONFIG_ARCH_DAVINCI_DM644x=n
|
||||
CONFIG_ARCH_DAVINCI_DM355=n
|
||||
CONFIG_ARCH_DAVINCI_DM646x=n
|
||||
@@ -60,3 +61,8 @@ CONFIG_DRM_DUMB_VGA_DAC=n
|
||||
CONFIG_DRM_TINYDRM=y
|
||||
CONFIG_TINYDRM_ST7586=y
|
||||
CONFIG_FB_DA8XX=n
|
||||
CONFIG_COMMON_CLK_PWM=y
|
||||
CONFIG_BT=y
|
||||
CONFIG_BT_HS=n
|
||||
CONFIG_BT_LE=n
|
||||
CONFIG_RFKILL=y
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
From cdd8d11858fa34f6e813fae46b5556e9fb3570dc Mon Sep 17 00:00:00 2001
|
||||
From: David Lechner <david@lechnology.com>
|
||||
Date: Sun, 19 Nov 2017 19:54:32 -0600
|
||||
Subject: [PATCH] configs: legoev3: increase flash image sizes
|
||||
|
||||
This increases the kernel image to 4M and the rootfs image to 10M.
|
||||
|
||||
It is getting hard to get a kernel image to fit in 3M and the rootfs image
|
||||
size now matches the filesyssize variable.
|
||||
|
||||
Signed-off-by: David Lechner <david@lechnology.com>
|
||||
---
|
||||
include/configs/legoev3.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/configs/legoev3.h b/include/configs/legoev3.h
|
||||
index 79fa3c4..2eeaf85 100644
|
||||
--- a/include/configs/legoev3.h
|
||||
+++ b/include/configs/legoev3.h
|
||||
@@ -204,7 +204,7 @@
|
||||
"mmcargs=setenv bootargs mem=${memsize} console=${console} root=/dev/mmcblk0p2 rw rootwait lpj=747520\0" \
|
||||
"mmcboot=bootm ${loadaddr}\0" \
|
||||
"flashargs=setenv bootargs mem=${memsize} initrd=${filesysaddr},${filesyssize} root=/dev/ram0 rw rootfstype=squashfs console=${console} lpj=747520\0" \
|
||||
- "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x300000; sf read ${filesysaddr} 0x350000 0x960000; bootm ${loadaddr}\0" \
|
||||
+ "flashboot=sf probe 0; sf read ${loadaddr} 0x50000 0x400000; sf read ${filesysaddr} 0x450000 0xA00000; bootm ${loadaddr}\0" \
|
||||
"loadimage=fatload mmc 0 ${loadaddr} uImage\0" \
|
||||
"loadbootscr=fatload mmc 0 ${bootscraddr} boot.scr\0" \
|
||||
"bootscript=source ${bootscraddr}\0" \
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -70,6 +70,13 @@ official Lego Mindstorms EV3 programming software firmware update tool to load
|
||||
the image. To use sdcard.img, use a disk writing tool such as Etcher or dd to
|
||||
write the image to the µSD card.
|
||||
|
||||
NOTE: The sdcard.img created by lego_ev3_defconfig won't boot if the official
|
||||
LEGO firmware is installed on the EV3 (it has an old version of U-Boot that
|
||||
doesn't know about device tree). You must either set the kernel configuration
|
||||
option to append the device tree to the kernel or you can create a boot.scr
|
||||
that chainloads a newer U-Boot or you can install a newer U-Boot in the flash
|
||||
memory (just flashing u-boot.bin is enough).
|
||||
|
||||
Finish
|
||||
======
|
||||
|
||||
@@ -80,3 +87,13 @@ See:
|
||||
- http://botbench.com/blog/2013/08/05/mindsensors-ev3-usb-console-adapter/
|
||||
|
||||
The serial port config to use is 115200/8-N-1.
|
||||
|
||||
Bluetooth
|
||||
=========
|
||||
|
||||
To enable Bluetooth:
|
||||
|
||||
# modprobe hci_uart
|
||||
# /usr/libexec/bluetooth/bluetoothd &
|
||||
# bluetoothctl
|
||||
[bluetooth]# power on
|
||||
|
||||
4
buildroot/board/orangepi/orangepi-lite2/extlinux.conf
Normal file
4
buildroot/board/orangepi/orangepi-lite2/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h6-orangepi-lite2.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
33
buildroot/board/orangepi/orangepi-lite2/genimage.cfg
Normal file
33
buildroot/board/orangepi/orangepi-lite2/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-h6-orangepi-lite2.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
4
buildroot/board/orangepi/orangepi-lite2/post-build.sh
Executable file
4
buildroot/board/orangepi/orangepi-lite2/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
44
buildroot/board/orangepi/orangepi-lite2/readme.txt
Normal file
44
buildroot/board/orangepi/orangepi-lite2/readme.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Orangepi Lite2. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi Lite2 link:
|
||||
http://www.orangepi.org/Orange%20Pi%20Lite%202/
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+Lite2
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make orangepi_lite2_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 Orangepi Lite2 and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
|
||||
WiFi
|
||||
====
|
||||
|
||||
# wpa_passphrase ACCESSPOINTNAME >> /etc/wpa_supplicant.conf
|
||||
(type password and enter)
|
||||
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B
|
||||
# udhcpc -i wlan0
|
||||
# ping google.com
|
||||
@@ -0,0 +1,82 @@
|
||||
#AP6255_NVRAM_V1.0_29052015
|
||||
|
||||
NVRAMRev=$Rev: 498373 $
|
||||
sromrev=11
|
||||
vendid=0x14e4
|
||||
devid=0x43ab
|
||||
manfid=0x2d0
|
||||
prodid=0x06e4
|
||||
macaddr=00:90:4c:c5:12:38
|
||||
nocrc=1
|
||||
boardtype=0x6e4
|
||||
boardrev=0x1304
|
||||
xtalfreq=37400
|
||||
#boardflags: 5GHz eTR switch by default
|
||||
#2.4GHz eTR switch by default
|
||||
#bit1 for btcoex
|
||||
boardflags=0x00080201
|
||||
boardflags2=0x40000000
|
||||
boardflags3=0x48200100
|
||||
rxgains2gelnagaina0=0
|
||||
rxgains2gtrisoa0=0
|
||||
rxgains2gtrelnabypa0=0
|
||||
rxgains5gelnagaina0=0
|
||||
rxgains5gtrisoa0=0
|
||||
rxgains5gtrelnabypa0=0
|
||||
rxchain=1
|
||||
txchain=1
|
||||
aa2g=1
|
||||
aa5g=1
|
||||
tssipos5g=1
|
||||
tssipos2g=1
|
||||
femctrl=0
|
||||
AvVmid_c0=0,157,1,126,1,126,1,126,1,126
|
||||
pa2ga0=-112,6296,-662
|
||||
pa2ga1=-165,3699,-515
|
||||
pa5ga0=-143,6016,-683,-141,6013,-678,-137,5988,-670,-136,5982,-670
|
||||
pa5ga1=-161,3544,-499,-166,3543,-497,-169,3569,-497,-171,3598,-498
|
||||
itrsw=1
|
||||
pdoffset2g40ma0=10
|
||||
pdoffset40ma0=0xaaaa
|
||||
pdoffset80ma0=0xaaaa
|
||||
extpagain5g=2
|
||||
extpagain2g=2
|
||||
tworangetssi2g=1
|
||||
tworangetssi5g=1
|
||||
# LTECX flags
|
||||
# WCI2
|
||||
ltecxmux=0
|
||||
ltecxpadnum=0x0504
|
||||
ltecxfnsel=0x22
|
||||
ltecxgcigpio=0x32
|
||||
|
||||
maxp2ga0=64
|
||||
ofdmlrbw202gpo=0x0033
|
||||
dot11agofdmhrbw202gpo=0x1553
|
||||
mcsbw202gpo=0x99355533
|
||||
|
||||
maxp5ga0=80,82,76,77
|
||||
|
||||
mcsbw205glpo=0x99755000
|
||||
mcsbw205gmpo=0x9df55000
|
||||
mcsbw205ghpo=0x99855000
|
||||
|
||||
mcsbw405glpo=0xb8555000
|
||||
mcsbw405gmpo=0xed955000
|
||||
mcsbw405ghpo=0xd9755000
|
||||
|
||||
mcsbw805glpo=0xc8555000
|
||||
mcsbw805gmpo=0xe9555000
|
||||
mcsbw805ghpo=0xd9555000
|
||||
|
||||
swctrlmap_2g=0x00040004,0x00020002,0x00040004,0x010a02,0x1ff
|
||||
swctrlmap_5g=0x00100010,0x00200020,0x00100010,0x010a02,0x2f4
|
||||
swctrlmapext_5g=0x00000000,0x00000000,0x00000000,0x000000,0x000
|
||||
swctrlmapext_2g=0x00000000,0x00000000,0x00000000,0x000000,0x000
|
||||
|
||||
vcodivmode=1
|
||||
deadman_to=481500000
|
||||
ed_thresh2g=-54
|
||||
ed_thresh5g=-54
|
||||
|
||||
muxenab=0x10
|
||||
4
buildroot/board/orangepi/orangepi-one-plus/extlinux.conf
Normal file
4
buildroot/board/orangepi/orangepi-one-plus/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label linux
|
||||
kernel /Image
|
||||
devicetree /sun50i-h6-orangepi-one-plus.dtb
|
||||
append console=ttyS0,115200 earlyprintk root=/dev/mmcblk0p2 rootwait
|
||||
33
buildroot/board/orangepi/orangepi-one-plus/genimage.cfg
Normal file
33
buildroot/board/orangepi/orangepi-one-plus/genimage.cfg
Normal file
@@ -0,0 +1,33 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"Image",
|
||||
"sun50i-h6-orangepi-one-plus.dtb",
|
||||
"extlinux"
|
||||
}
|
||||
}
|
||||
size = 64M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition u-boot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-sunxi-with-spl.bin"
|
||||
offset = 8192
|
||||
size = 1040384 # 1MB - 8192
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
||||
4
buildroot/board/orangepi/orangepi-one-plus/post-build.sh
Executable file
4
buildroot/board/orangepi/orangepi-one-plus/post-build.sh
Executable file
@@ -0,0 +1,4 @@
|
||||
#!/bin/sh
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $BINARIES_DIR/extlinux/extlinux.conf
|
||||
37
buildroot/board/orangepi/orangepi-one-plus/readme.txt
Normal file
37
buildroot/board/orangepi/orangepi-one-plus/readme.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
This default configuration will allow you to start experimenting with the
|
||||
buildroot environment for the Orangepi One Plus. With the current configuration
|
||||
it will bring-up the board, and allow access through the serial console.
|
||||
|
||||
Orangepi One Plus link:
|
||||
http://www.orangepi.org/OrangePiOneplus/
|
||||
|
||||
Wiki link:
|
||||
https://openedev.amarulasolutions.com/display/ODWIKI/Orangepi+One+Plus
|
||||
|
||||
This configuration uses U-Boot mainline and kernel mainline.
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make orangepi_one_plus_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 Orangepi One Plus and power it up. The console
|
||||
is on the serial line, 115200 8N1.
|
||||
@@ -1,3 +1,5 @@
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
CONFIG_REGULATOR_SY8106A=y
|
||||
CONFIG_DRM_SUN8I_DW_HDMI=y
|
||||
CONFIG_SUN8I_DE2_CCU=y
|
||||
CONFIG_SND_SUN8I_CODEC_ANALOG=y
|
||||
|
||||
@@ -15,3 +15,6 @@ CONFIG_CFG80211_WEXT=y
|
||||
|
||||
# wireless drivers
|
||||
CONFIG_WLAN=y
|
||||
|
||||
# ondemand cpufreq governor
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
|
||||
|
||||
10
buildroot/board/pc/post-build.sh
Executable file
10
buildroot/board/pc/post-build.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
BOARD_DIR=$(dirname "$0")
|
||||
|
||||
cp -f "$BOARD_DIR/grub-bios.cfg" "$TARGET_DIR/boot/grub/grub.cfg"
|
||||
|
||||
# Copy grub 1st stage to binaries, required for genimage
|
||||
cp -f "$HOST_DIR/lib/grub/i386-pc/boot.img" "$BINARIES_DIR"
|
||||
62
buildroot/board/pc/post-image-efi-gpt.sh
Executable file
62
buildroot/board/pc/post-image-efi-gpt.sh
Executable file
@@ -0,0 +1,62 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
cd ${BINARIES_DIR}
|
||||
|
||||
# GPT partition type UUIDs
|
||||
esp_type=c12a7328-f81f-11d2-ba4b-00a0c93ec93b
|
||||
linux_type=44479540-f297-41b2-9af7-d131d5f0458a
|
||||
|
||||
# Partition UUIDs
|
||||
efi_part_uuid=$(uuidgen)
|
||||
root_part_uuid=$(uuidgen)
|
||||
|
||||
# Boot partition offset and size, in 512-byte sectors
|
||||
efi_part_start=64
|
||||
efi_part_size=32768
|
||||
|
||||
# Rootfs partition offset and size, in 512-byte sectors
|
||||
root_part_start=$(( efi_part_start + efi_part_size ))
|
||||
root_part_size=$(( $(stat -c %s rootfs.ext2) / 512 ))
|
||||
|
||||
first_lba=34
|
||||
last_lba=$(( root_part_start + root_part_size ))
|
||||
|
||||
# Disk image size in 512-byte sectors
|
||||
image_size=$(( last_lba + first_lba ))
|
||||
|
||||
cat > efi-part/EFI/BOOT/grub.cfg <<EOF
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /bzImage root=PARTUUID=$root_part_uuid rootwait console=tty1
|
||||
}
|
||||
EOF
|
||||
|
||||
# Create EFI system partition
|
||||
rm -f efi-part.vfat
|
||||
dd if=/dev/zero of=efi-part.vfat bs=512 count=0 seek=$efi_part_size
|
||||
mkdosfs efi-part.vfat
|
||||
mcopy -bsp -i efi-part.vfat efi-part/startup.nsh ::startup.nsh
|
||||
mcopy -bsp -i efi-part.vfat efi-part/EFI ::EFI
|
||||
mcopy -bsp -i efi-part.vfat bzImage ::bzImage
|
||||
|
||||
rm -f disk.img
|
||||
dd if=/dev/zero of=disk.img bs=512 count=0 seek=$image_size
|
||||
|
||||
sfdisk disk.img <<EOF
|
||||
label: gpt
|
||||
label-id: $(uuidgen)
|
||||
device: /dev/foobar0
|
||||
unit: sectors
|
||||
first-lba: $first_lba
|
||||
last-lba: $last_lba
|
||||
|
||||
/dev/foobar0p1 : start=$efi_part_start, size=$efi_part_size, type=$esp_type, uuid=$efi_part_uuid, name="efi-part.vfat"
|
||||
/dev/foobar0p2 : start=$root_part_start, size=$root_part_size, type=$linux_type, uuid=$root_part_uuid, name="rootfs.ext2"
|
||||
EOF
|
||||
|
||||
dd if=efi-part.vfat of=disk.img bs=512 count=$efi_part_size seek=$efi_part_start conv=notrunc
|
||||
dd if=rootfs.ext2 of=disk.img bs=512 count=$root_part_size seek=$root_part_start conv=notrunc
|
||||
@@ -1,14 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
# Detect boot strategy, EFI or BIOS
|
||||
if [ -f ${BINARIES_DIR}/efi-part/startup.nsh ]; then
|
||||
cp -f ${BOARD_DIR}/grub-efi.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
else
|
||||
cp -f ${BOARD_DIR}/grub-bios.cfg ${TARGET_DIR}/boot/grub/grub.cfg
|
||||
# Copy grub 1st stage to binaries, required for genimage
|
||||
cp -f ${HOST_DIR}/lib/grub/i386-pc/boot.img ${BINARIES_DIR}
|
||||
fi
|
||||
|
||||
exit $?
|
||||
@@ -9,7 +9,7 @@ Bare PC sample config
|
||||
|
||||
$ make pc_x86_64_bios_defconfig
|
||||
|
||||
Or for EFI:
|
||||
For EFI-based boot strategy on a GPT-partitioned disk:
|
||||
|
||||
$ make pc_x86_64_efi_defconfig
|
||||
|
||||
@@ -57,13 +57,7 @@ qemu-system-x86_64 \
|
||||
Emulation in qemu (UEFI)
|
||||
========================
|
||||
|
||||
1. Edit grub-efi.cfg
|
||||
|
||||
Since the driver will show up in the virtual machine as /dev/vda,
|
||||
change board/pc/grub-efi.cfg to use root=/dev/vda2 instead of
|
||||
root=/dev/sda2. Then rebuild grub2 and the image.
|
||||
|
||||
2. Run the emulation with:
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-x86_64 \
|
||||
-M pc \
|
||||
|
||||
4
buildroot/board/pine64/rock64/extlinux.conf
Normal file
4
buildroot/board/pine64/rock64/extlinux.conf
Normal 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
buildroot/board/pine64/rock64/genimage.cfg
Normal file
23
buildroot/board/pine64/rock64/genimage.cfg
Normal file
@@ -0,0 +1,23 @@
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition uboot-spl {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot-tpl-spl.img"
|
||||
offset = 32768 # 512 * 0x40 from start of sd card
|
||||
}
|
||||
|
||||
partition uboot {
|
||||
in-partition-table = "no"
|
||||
image = "u-boot.itb"
|
||||
offset = 262144 # 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
buildroot/board/pine64/rock64/post-build.sh
Executable file
9
buildroot/board/pine64/rock64/post-build.sh
Executable 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
buildroot/board/pine64/rock64/readme.txt
Normal file
95
buildroot/board/pine64/rock64/readme.txt
Normal 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
|
||||
@@ -1,6 +1,6 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a57 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
|
||||
qemu-system-aarch64 -M virt -cpu cortex-a53 -nographic -smp 1 -kernel output/images/Image -append "root=/dev/vda console=ttyAMA0" -netdev user,id=eth0 -device virtio-net-device,netdev=eth0 -drive file=output/images/rootfs.ext4,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
|
||||
@@ -1,10 +1,30 @@
|
||||
Signed-Off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
From LKML.
|
||||
From 4ac4324dcdaf237aa34545b3795acb2e5c42d10e Mon Sep 17 00:00:00 2001
|
||||
From: Waldemar Brodkorb <wbx@openadk.org>
|
||||
Date: Fri, 1 Feb 2019 11:36:20 +0100
|
||||
Subject: [PATCH] arm-versatile-nommu: Linux patch
|
||||
|
||||
diff -Nur linux-4.15.13.orig/arch/arm/Kconfig linux-4.15.13/arch/arm/Kconfig
|
||||
--- linux-4.15.13.orig/arch/arm/Kconfig 2018-03-24 11:02:53.000000000 +0100
|
||||
+++ linux-4.15.13/arch/arm/Kconfig 2018-04-01 03:47:33.415078244 +0100
|
||||
@@ -355,6 +355,17 @@
|
||||
Originally made by Waldemar Brodkorb <wbx@openadk.org> from LKML.
|
||||
|
||||
Signed-Off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||
[Gerome: reformated as a Git patch]
|
||||
Signed-off-by: Gerome Burlats <gerome.burlats@smile.fr>
|
||||
[Romain: fix Waldemar's authorship in Git patch]
|
||||
Signed-off-by: Romain Naour <romain.naour@smile.fr>
|
||||
---
|
||||
arch/arm/Kconfig | 11 +++++++++++
|
||||
arch/arm/Kconfig.debug | 3 ++-
|
||||
arch/arm/include/asm/mach/map.h | 1 +
|
||||
arch/arm/mach-versatile/Kconfig | 5 +++--
|
||||
arch/arm/mach-versatile/Makefile.boot | 3 +++
|
||||
arch/arm/mach-versatile/versatile_dt.c | 4 ++++
|
||||
6 files changed, 24 insertions(+), 3 deletions(-)
|
||||
create mode 100644 arch/arm/mach-versatile/Makefile.boot
|
||||
|
||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
||||
index e8cd55a5b04c..fc2dbff70394 100644
|
||||
--- a/arch/arm/Kconfig
|
||||
+++ b/arch/arm/Kconfig
|
||||
@@ -353,6 +353,17 @@ config ARM_SINGLE_ARMV7M
|
||||
select SPARSE_IRQ
|
||||
select USE_OF
|
||||
|
||||
@@ -22,10 +42,11 @@ diff -Nur linux-4.15.13.orig/arch/arm/Kconfig linux-4.15.13/arch/arm/Kconfig
|
||||
config ARCH_EBSA110
|
||||
bool "EBSA-110"
|
||||
select ARCH_USES_GETTIMEOFFSET
|
||||
diff -Nur linux-4.15.13.orig/arch/arm/Kconfig.debug linux-4.15.13/arch/arm/Kconfig.debug
|
||||
--- linux-4.15.13.orig/arch/arm/Kconfig.debug 2018-03-24 11:02:53.000000000 +0100
|
||||
+++ linux-4.15.13/arch/arm/Kconfig.debug 2018-04-01 03:47:33.416078232 +0100
|
||||
@@ -1795,7 +1795,8 @@
|
||||
diff --git a/arch/arm/Kconfig.debug b/arch/arm/Kconfig.debug
|
||||
index f6fcb8a79889..92fc637d3db8 100644
|
||||
--- a/arch/arm/Kconfig.debug
|
||||
+++ b/arch/arm/Kconfig.debug
|
||||
@@ -1843,7 +1843,8 @@ config DEBUG_UNCOMPRESS
|
||||
config UNCOMPRESS_INCLUDE
|
||||
string
|
||||
default "debug/uncompress.h" if ARCH_MULTIPLATFORM || ARCH_MSM || \
|
||||
@@ -35,10 +56,11 @@ diff -Nur linux-4.15.13.orig/arch/arm/Kconfig.debug linux-4.15.13/arch/arm/Kconf
|
||||
default "mach/uncompress.h"
|
||||
|
||||
config EARLY_PRINTK
|
||||
diff -Nur linux-4.15.13.orig/arch/arm/include/asm/mach/map.h linux-4.15.13/arch/arm/include/asm/mach/map.h
|
||||
--- linux-4.15.13.orig/arch/arm/include/asm/mach/map.h 2018-03-24 11:02:53.000000000 +0100
|
||||
+++ linux-4.15.13/arch/arm/include/asm/mach/map.h 2018-04-01 03:47:17.587276119 +0100
|
||||
@@ -62,6 +62,7 @@
|
||||
diff --git a/arch/arm/include/asm/mach/map.h b/arch/arm/include/asm/mach/map.h
|
||||
index 9b7c328fb207..b1fe9c8b5c3e 100644
|
||||
--- a/arch/arm/include/asm/mach/map.h
|
||||
+++ b/arch/arm/include/asm/mach/map.h
|
||||
@@ -62,6 +62,7 @@ extern int ioremap_page(unsigned long virt, unsigned long phys,
|
||||
#else
|
||||
#define iotable_init(map,num) do { } while (0)
|
||||
#define vm_reserve_area_early(a,s,c) do { } while (0)
|
||||
@@ -46,9 +68,10 @@ diff -Nur linux-4.15.13.orig/arch/arm/include/asm/mach/map.h linux-4.15.13/arch/
|
||||
#endif
|
||||
|
||||
#endif
|
||||
diff -Nur linux-4.15.13.orig/arch/arm/mach-versatile/Kconfig linux-4.15.13/arch/arm/mach-versatile/Kconfig
|
||||
--- linux-4.15.13.orig/arch/arm/mach-versatile/Kconfig 2018-03-24 11:02:53.000000000 +0100
|
||||
+++ linux-4.15.13/arch/arm/mach-versatile/Kconfig 2018-04-01 03:47:33.417078219 +0100
|
||||
diff --git a/arch/arm/mach-versatile/Kconfig b/arch/arm/mach-versatile/Kconfig
|
||||
index f5c275434d6c..06ad999d5978 100644
|
||||
--- a/arch/arm/mach-versatile/Kconfig
|
||||
+++ b/arch/arm/mach-versatile/Kconfig
|
||||
@@ -1,7 +1,8 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
config ARCH_VERSATILE
|
||||
@@ -60,16 +83,19 @@ diff -Nur linux-4.15.13.orig/arch/arm/mach-versatile/Kconfig linux-4.15.13/arch/
|
||||
select ARM_AMBA
|
||||
select ARM_TIMER_SP804
|
||||
select ARM_VIC
|
||||
diff -Nur linux-4.15.13.orig/arch/arm/mach-versatile/Makefile.boot linux-4.15.13/arch/arm/mach-versatile/Makefile.boot
|
||||
--- linux-4.15.13.orig/arch/arm/mach-versatile/Makefile.boot 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ linux-4.15.13/arch/arm/mach-versatile/Makefile.boot 2018-04-01 03:47:25.644175394 +0100
|
||||
diff --git a/arch/arm/mach-versatile/Makefile.boot b/arch/arm/mach-versatile/Makefile.boot
|
||||
new file mode 100644
|
||||
index 000000000000..eacfc3f5c33e
|
||||
--- /dev/null
|
||||
+++ b/arch/arm/mach-versatile/Makefile.boot
|
||||
@@ -0,0 +1,3 @@
|
||||
+# Empty file waiting for deletion once Makefile.boot isn't needed any more.
|
||||
+# Patch waits for application at
|
||||
+# http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=7889/1 .
|
||||
diff -Nur linux-4.15.13.orig/arch/arm/mach-versatile/versatile_dt.c linux-4.15.13/arch/arm/mach-versatile/versatile_dt.c
|
||||
--- linux-4.15.13.orig/arch/arm/mach-versatile/versatile_dt.c 2018-03-24 11:02:53.000000000 +0100
|
||||
+++ linux-4.15.13/arch/arm/mach-versatile/versatile_dt.c 2018-04-01 03:47:10.913359555 +0100
|
||||
diff --git a/arch/arm/mach-versatile/versatile_dt.c b/arch/arm/mach-versatile/versatile_dt.c
|
||||
index 3c8d39c12909..8cfa05a37295 100644
|
||||
--- a/arch/arm/mach-versatile/versatile_dt.c
|
||||
+++ b/arch/arm/mach-versatile/versatile_dt.c
|
||||
@@ -37,7 +37,11 @@
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
@@ -82,3 +108,6 @@ diff -Nur linux-4.15.13.orig/arch/arm/mach-versatile/versatile_dt.c linux-4.15.1
|
||||
#define __io_address(n) ((void __iomem __force *)IO_ADDRESS(n))
|
||||
|
||||
/*
|
||||
--
|
||||
2.14.5
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
CONFIG_ARCH_RV64I=y
|
||||
CONFIG_ARCH_RV32I=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_PCI=y
|
||||
7
buildroot/board/qemu/riscv32-virt/readme.txt
Normal file
7
buildroot/board/qemu/riscv32-virt/readme.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-riscv32 -M virt -kernel output/images/bbl -append "root=/dev/vda ro console=ttyS0" -drive file=output/images/rootfs.ext2,format=raw,id=hd0 -device virtio-blk-device,drive=hd0 -netdev user,id=net0 -device virtio-net-device,netdev=net0 -nographic
|
||||
|
||||
The login prompt will appear in the terminal that started Qemu.
|
||||
|
||||
Tested with QEMU 2.12.1
|
||||
@@ -6,6 +6,7 @@ CONFIG_XTENSA_VARIANT_CUSTOM_NAME="dc233c"
|
||||
# CONFIG_XTENSA_VARIANT_MMU is not set
|
||||
CONFIG_XTENSA_UNALIGNED_USER=y
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_MEMMAP_CACHEATTR=0x2cccccc7
|
||||
CONFIG_KERNEL_LOAD_ADDRESS=0x00003000
|
||||
# CONFIG_PCI is not set
|
||||
CONFIG_XTENSA_PLATFORM_XTFPGA=y
|
||||
|
||||
@@ -9,6 +9,7 @@ image boot.vfat {
|
||||
"rpi-firmware/config.txt",
|
||||
"rpi-firmware/fixup.dat",
|
||||
"rpi-firmware/start.elf",
|
||||
"rpi-firmware/overlays",
|
||||
"Image"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,13 +15,6 @@ built-in microSD card slot *WILL NOT WORK*. The Internet says that you have to
|
||||
upload the first bootloader via UART. This manual does not cover these steps;
|
||||
only MicroSoMs without the eMMC are supported.
|
||||
|
||||
Limitations
|
||||
===========
|
||||
|
||||
There's no access to the SPI flash in this combination of kernel/uboot/dts.
|
||||
|
||||
There is no support for the SFP.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
@@ -49,7 +42,7 @@ command as root:
|
||||
|
||||
dd if=output/images/sdcard.img of=/dev/<your-microsd-device> conv=fdatasync
|
||||
|
||||
*** WARNING! The script will destroy all the card content. Use with care! ***
|
||||
*** WARNING! The dd command will destroy all the card content. Use with care! ***
|
||||
|
||||
For details about the medium image layout, see the definition in
|
||||
board/solidrun/clearfog/genimage.cfg.
|
||||
|
||||
4
buildroot/board/solidrun/macchiatobin/extlinux.conf
Normal file
4
buildroot/board/solidrun/macchiatobin/extlinux.conf
Normal file
@@ -0,0 +1,4 @@
|
||||
label Macchiatobin Linux
|
||||
kernel /boot/Image
|
||||
devicetree /boot/armada-8040-mcbin.dtb
|
||||
append console=ttyS0,115200n8 root=/dev/mmcblk1p1 rootwait
|
||||
@@ -1,3 +1,3 @@
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_MARVELL_10G_PHY=y
|
||||
CONFIG_PHY_MVEBU_CP110_COMPHY=y
|
||||
CONFIG_SFP=y
|
||||
|
||||
5
buildroot/board/solidrun/macchiatobin/post-build-mainline.sh
Executable file
5
buildroot/board/solidrun/macchiatobin/post-build-mainline.sh
Executable file
@@ -0,0 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
install -m 0644 -D $BOARD_DIR/extlinux.conf $TARGET_DIR/boot/extlinux/extlinux.conf
|
||||
@@ -15,19 +15,20 @@ How to build
|
||||
There are two build options: mainline support and vendor support.
|
||||
|
||||
For the mainline BSP, we use:
|
||||
- Linux v4.15
|
||||
- U-Boot v2018.01
|
||||
- Linux v4.19.2
|
||||
- U-Boot v2018.11
|
||||
|
||||
For the vendor BSP, we use the sources available from Marvell Github
|
||||
page at https://github.com/MarvellEmbeddedProcessors, which uses:
|
||||
- Linux v4.4.52
|
||||
- U-Boot v2017.03
|
||||
- Linux v4.4.120
|
||||
- U-Boot v2018.03
|
||||
|
||||
At the moment mainline support for the board is a work in progress.
|
||||
Mainline kernel 4.15 enables eth2 in 1Gb (RJ45 connector J5) and
|
||||
eth0 in 10Gb (SFP connector CON15 and RJ45 connector CON16).
|
||||
The vendor BSP enables more hardware features out of the box,
|
||||
e.g. all the network interfaces.
|
||||
At the moment mainline support for the board is a work in
|
||||
progress. Mainline kernel 4.19 enables eth2 in 1Gb (RJ45 connector J5),
|
||||
copper 10Gb interfaces, and automatic configuration of select SFP
|
||||
modules on the SFP cages. The vendor BSP enables more hardware features
|
||||
out of the box, but lacks support for SFP detection and automatic
|
||||
configuration.
|
||||
|
||||
To use the mainline BSP run the following commands:
|
||||
|
||||
@@ -73,10 +74,13 @@ Insert the micro SDcard in the MacchiatoBin board and power it up.
|
||||
The serial console is accessible at the micro-USB Type-B connector
|
||||
marked CON9. The serial line settings are 115200 8N1.
|
||||
|
||||
By default U-Boot will load its environment from the SPI flash. On the
|
||||
first boot SPI flash may be empty or it may contain a legacy
|
||||
environment incompatible with up-to-date mainline U-Boot and
|
||||
kernel. Then the following commands can be used to boot the board:
|
||||
Note: the following text only applies to the vendor BSP from
|
||||
solidrun_macchiatobin_marvell_defconfig.
|
||||
|
||||
By default Marvell provided U-Boot will load its environment from the
|
||||
SPI flash. On the first boot SPI flash may be empty or it may contain a
|
||||
legacy environment that prevents proper boot. Then the following
|
||||
commands can be used to boot the board:
|
||||
|
||||
=> ext4load mmc 1:1 0x01700000 /boot/uEnv-example.txt
|
||||
=> env import -t 0x01700000 $filesize
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
CONFIG_ENV_IS_IN_MMC=y
|
||||
# CONFIG_ENV_IS_IN_SPI_FLASH is not set
|
||||
Reference in New Issue
Block a user