Skip to content

Commit

Permalink
configs/pcengines_apu2: new defconfig
Browse files Browse the repository at this point in the history
The apu2 by PC Engines is a 64 bit single board computer with coreboot
BIOS. It only has serial output, but no graphics chip. With its 2–4
ethernet ports, it is often used to build a firewall or router.

The provided defconfig configures busybox and isolinux. It will output
a hybrid ISO image that can be written to a USB stick or burned to a
CD.

Configuration based on a blogpost by Tony Arkles:

http://www.better-bsp.com/blog/2017/03/02/buildrooting-for-apu2/

Signed-off-by: Danilo Bargen <mail@dbrgn.ch>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
  • Loading branch information
dbrgn authored and tpetazzoni committed Sep 3, 2020
1 parent 4205289 commit 4bf38ac
Show file tree
Hide file tree
Showing 5 changed files with 117 additions and 0 deletions.
4 changes: 4 additions & 0 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -657,6 +657,10 @@ F: package/redis/
N: Daniel Sangue <daniel.sangue@sangue.ch>
F: package/libftdi1/

N: Danilo Bargen <mail@dbrgn.ch>
F: board/pcengines/apu2/
F: configs/pcengines_apu2_defconfig

N: Danomi Manchego <danomimanchego123@gmail.com>
F: package/cjson/
F: package/jq/
Expand Down
6 changes: 6 additions & 0 deletions board/pcengines/apu2/isolinux.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
serial 0 115200
default 1
label 1
kernel __KERNEL_PATH__
initrd __INITRD_PATH__
append root=/dev/sr0 console=ttyS0,115200n8
51 changes: 51 additions & 0 deletions board/pcengines/apu2/linux.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
CONFIG_SYSVIPC=y
CONFIG_CGROUPS=y
CONFIG_BLK_DEV_INITRD=y
CONFIG_SMP=y
CONFIG_HYPERVISOR_GUEST=y
CONFIG_PARAVIRT=y
CONFIG_MODULES=y
CONFIG_MODULE_UNLOAD=y
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
# CONFIG_WIRELESS is not set
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_VIRTIO_BLK=y
CONFIG_BLK_DEV_SD=y
CONFIG_SCSI_VIRTIO=y
CONFIG_ATA=y
CONFIG_SATA_AHCI=y
CONFIG_ATA_PIIX=y
CONFIG_NETDEVICES=y
CONFIG_VIRTIO_NET=y
CONFIG_IGB=y
CONFIG_NE2K_PCI=y
CONFIG_8139CP=y
# CONFIG_WLAN is not set
CONFIG_INPUT_EVDEV=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM_VIRTIO=m
CONFIG_DRM=y
CONFIG_SOUND=y
CONFIG_SND=y
# CONFIG_SND_PCI is not set
CONFIG_USB=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_UHCI_HCD=y
CONFIG_USB_STORAGE=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_VIRTIO_INPUT=y
CONFIG_VIRTIO_MMIO=y
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
CONFIG_EXT4_FS=y
CONFIG_AUTOFS4_FS=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y
CONFIG_UNWINDER_FRAME_POINTER=y
40 changes: 40 additions & 0 deletions board/pcengines/apu2/readme.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
Intro
=====

This is a board configuration for the apu2 platform by PC Engines.

https://pcengines.ch/apu2.htm

Since the apu2 does not have any graphical output, the default configuration
will ensure that the kernel output as well as the login prompt will be sent to
the serial port.

How to build
============

The provided defconfig creates a hybrid isolinux image that can be booted from
either an USB stick or a CD.

$ make pcengines_apu2_defconfig
$ make

How to write to an USB stick
============================

Once the build process is finished you will have an image
called "rootfs.iso9660" in the output/images/ directory.

Copy the bootable "rootfs.iso9660" onto the USB stick with "dd":

$ sudo dd if=output/images/rootfs.iso9660 of=/dev/sdX bs=1M conv=fsync
$ sudo sync

How to connect to the apu2
==========================

Connect to the DB9 serial port of the apu2 board (either directly or through a
USB adapter) with a baudrate of 115200.

For example with miniterm (part of pyserial):

$ miniterm.py -f direct /dev/ttyUSB0 115200
16 changes: 16 additions & 0 deletions configs/pcengines_apu2_defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
BR2_x86_64=y
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
BR2_TARGET_GENERIC_HOSTNAME="apu2"
BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
BR2_SYSTEM_DHCP="eth0"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/pcengines/apu2/linux.config"
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_ISO9660=y
BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU="board/pcengines/apu2/isolinux.cfg"
BR2_TARGET_ROOTFS_ISO9660_HYBRID=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_TARGET_SYSLINUX=y

0 comments on commit 4bf38ac

Please sign in to comment.