Compare commits

...

11 Commits

Author SHA1 Message Date
Fabio Belavenuto
958369c5cc Merge pull request #16 from fbelavenuto/dev
merge dev
2022-07-07 16:00:19 -03:00
Fabio Belavenuto
863d949ae2 Removing workaroud, do not works with satadom 2022-07-07 15:54:07 -03:00
Fabio Belavenuto
b9c84664cd little fix 2022-07-07 15:07:44 -03:00
Fabio Belavenuto
d0ead7d18a Testing SATA DoM 2022-07-07 13:02:18 -03:00
Fabio Belavenuto
825f31287a More adjusts in actions 2022-07-07 08:28:12 -03:00
Fabio Belavenuto
73902b0609 Merge pull request #14 from green1052/patch-1
action cache update
2022-07-07 08:20:39 -03:00
green1052
c83e28613f Update main.yml 2022-07-07 17:07:49 +09:00
Fabio Belavenuto
378b10b7e3 Merge branch 'dev' 2022-07-06 21:46:31 -03:00
Fabio Belavenuto
66d8abb2f9 Adding vmdk image 2022-07-06 21:45:55 -03:00
Fabio Belavenuto
5fdf9afd22 Merge pull request #13 from fbelavenuto/dev
Adding buildroot external tree
2022-07-06 17:36:54 -03:00
Fabio Belavenuto
51b4d1666e Adding buildroot external tree
Adding r8125 and r8168 driver for loader
2022-07-06 17:36:08 -03:00
28 changed files with 127 additions and 29 deletions

View File

@@ -2,7 +2,12 @@ name: Build image
# Controls when the workflow will run
on:
# Push only in dev
push:
branches:
- dev
# When a release is published
release:
types: [published]
@@ -25,16 +30,16 @@ jobs:
# Check cache
- name: Cache buildroot
id: cache
uses: actions/cache@v2
uses: actions/cache@v3
with:
path: .buildroot
key: ${{ runner.os }}-${{ hashFiles('files/configs/arpl_defconfig') }}
# Install missing buildroot dependency
- name: Install dependency
# Install dependencies
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y libelf-dev
sudo apt-get install -y libelf-dev qemu-utils
# Prepare buildroot for first make (for cache)
- name: Prepare buildroot
@@ -48,7 +53,7 @@ jobs:
echo "Generating default config"
make arpl_defconfig
echo "First make"
make
make BR2_EXTERNAL=../external
# Build incremental from cache
- name: Build image
@@ -90,20 +95,25 @@ jobs:
make arpl_defconfig
echo "Version: ${VERSION}"
echo "Building..."
make
make BR2_EXTERNAL=../external
cd -
qemu-img convert -O vmdk arpl.img arpl.vmdk
# Zip image
- name: Pack
shell: bash
run: zip -9 "arpl-${{ steps.build.outputs.VERSION }}.img.zip" arpl.img
run: |
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.img.zip" arpl.img
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip" arpl.vmdk
# Upload artifact
- name: Upload
uses: actions/upload-artifact@v3
with:
name: Image to burn
path: arpl.img
name: Images
path: |
arpl.img
arpl.vmdk
retention-days: 1
# Publish a release if is a tag
@@ -113,5 +123,6 @@ jobs:
with:
files: |
arpl-${{ steps.build.outputs.VERSION }}.img.zip
arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip
.buildroot/output/images/bzImage
.buildroot/output/images/rootfs.cpio.xz

3
.gitignore vendored
View File

@@ -1,6 +1,7 @@
!.gitkeep
.vscode
arpl.img*
arpl.img
arpl.vmdk
*.zip
.buildroot
test.sh

View File

@@ -1 +1 @@
0.1-alpha5
0.1-alpha7

2
external/Config.in vendored Normal file
View File

@@ -0,0 +1,2 @@
source "$BR2_EXTERNAL_ARPL_PATH/r8125/Config.in"
source "$BR2_EXTERNAL_ARPL_PATH/r8168/Config.in"

2
external/external.desc vendored Normal file
View File

@@ -0,0 +1,2 @@
name: ARPL
desc: ARPL external packages

1
external/external.mk vendored Normal file
View File

@@ -0,0 +1 @@
include $(sort $(wildcard $(BR2_EXTERNAL_ARPL_PATH)/*/*.mk))

10
external/r8125/Config.in vendored Normal file
View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_R8125
bool "r8125"
depends on BR2_LINUX_KERNEL
help
A standalone driver for the RTL8125 Ethernet adapter.
https://github.com/fbelavenuto/r8125
comment "r8125 needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL

2
external/r8125/r8125.hash vendored Normal file
View File

@@ -0,0 +1,2 @@
# Locally computed
sha256 fe2420e69ae653e989e8ae754d4e3b5740d62b6e19911d88553106aaeaac97b4 r8125-99cd3bc868e4ba82a473d8efaedad04fedb0c0f7.tar.gz

13
external/r8125/r8125.mk vendored Normal file
View File

@@ -0,0 +1,13 @@
################################################################################
#
# r8125
#
################################################################################
R8125_VERSION = 99cd3bc868e4ba82a473d8efaedad04fedb0c0f7
R8125_SITE = $(call github,fbelavenuto,r8125,$(R8125_VERSION))
R8125_LICENSE = GPL-2.0
$(eval $(kernel-module))
$(eval $(generic-package))

10
external/r8168/Config.in vendored Normal file
View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_R8168
bool "r8168"
depends on BR2_LINUX_KERNEL
help
A standalone driver for the RTL8168 Ethernet adapter.
https://github.com/fbelavenuto/r8168
comment "r8168 needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL

2
external/r8168/r8168.hash vendored Normal file
View File

@@ -0,0 +1,2 @@
# Locally computed
sha256 36c4ba7779259c0eee8d496ba600e5935dc8ce7b978e1dc023e1ee7de713d97e r8168-52c98bd764e6dd22ff17876afa655e9e11237cc9.tar.gz

12
external/r8168/r8168.mk vendored Normal file
View File

@@ -0,0 +1,12 @@
################################################################################
#
# r8168
#
################################################################################
R8168_VERSION = 52c98bd764e6dd22ff17876afa655e9e11237cc9
R8168_SITE = $(call github,fbelavenuto,r8168,$(R8168_VERSION))
R8168_LICENSE = GPL-2.0
$(eval $(kernel-module))
$(eval $(generic-package))

View File

@@ -30,7 +30,7 @@ null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
# Login in terminals
::respawn:/sbin/agetty -a root --noclear tty1
ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 vt100
ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 linux
::respawn:/usr/bin/ttyd login -f root
# Stuff to do for the 3-finger salute

View File

@@ -75,10 +75,13 @@ EFI_BUG="`readModelKey "${MODEL}" "builds.${BUILD}.efi-bug"`"
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
BUS=`udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2`
# Read SATADoM type
DOM="`readModelKey "${MODEL}" "dom"`"
# Prepare command line
CMDLINE_LINE=""
[ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi "
[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=1 "
[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} "
CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk log_buf_len=32M earlycon=uart8250,io,0x3f8,115200n8 elevator=elevator root=/dev/md0 loglevel=15"
for KEY in ${!CMDLINE[@]}; do
VALUE="${CMDLINE[${KEY}]}"
@@ -92,6 +95,23 @@ CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
echo -e "Model: \033[1;36m${MODEL}\033[0m"
echo -e "Build: \033[1;36m${BUILD}\033[0m"
echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m"
# Wait for an IP
COUNT=0
echo -n "IP: "
while true; do
IP=`ip route get 1.1.1.1 2>/dev/null | awk '{print$7}'`
if [ -n "${IP}" ]; then
echo -e "\033[1;32m${IP}\033[0m"
break
elif [ ${COUNT} -eq 8 ]; then
echo -e "\033[1;31mERROR\033[0m"
break
fi
COUNT=$((${COUNT}+1))
sleep 1
done
echo -e "\033[1;37mLoading DSM kernel...\033[0m"
# Executes DSM kernel via KEXEC

View File

@@ -1,5 +1,5 @@
ARPL_VERSION="0.1-alpha5"
ARPL_VERSION="0.1-alpha7"
# Define paths
TMP_PATH="/tmp"

View File

@@ -36,6 +36,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "v1000"
dom: 2
serial:
prefix:
- "2080"

View File

@@ -31,6 +31,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "v1000"
dom: 2
serial:
prefix:
- "0000"

View File

@@ -25,7 +25,6 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "bromolow"
serial:
prefix:
@@ -36,6 +35,7 @@ serial:
middle: "LWN"
suffix: "numeric"
disks: 12
dom: 1
builds:
42218:
ver: "7.0.1"

View File

@@ -29,8 +29,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwell"
dom: 1
serial:
prefix:
- "1130"

View File

@@ -36,8 +36,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwellnk"
dom: 1
serial:
prefix:
- "2030"

View File

@@ -29,8 +29,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "apollolake"
dom: 2
serial:
prefix:
- "1780"

View File

@@ -25,6 +25,7 @@ cmdline: &cmdline
syno_ttyS1: "serial,0x2f8"
vender_format_version: 2
platform: "geminilake"
dom: 2
dt: true
serial:
prefix:

View File

@@ -34,6 +34,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "geminilake"
dom: 2
serial:
prefix:
- "2030"

View File

@@ -29,8 +29,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "denverton"
dom: 2
serial:
prefix:
- "2030"

View File

@@ -30,8 +30,8 @@ cmdline: &cmdline
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwellnk"
dom: 1
serial:
prefix:
- "0000"

View File

@@ -63,13 +63,16 @@ while read f; do
done < <(readModelArray "${MODEL}" "builds.${BUILD}.patch")
# Temporary workaround
DT="`readModelKey "${MODEL}" "dt"`"
if [ "${DT}" != "true" ]; then
NUMPORTS=$((`ls /sys/class/scsi_host | wc -w`-1))
SYNOINFO["maxdisks"]=${NUMPORTS}
INTPORTCFG="0x`printf "%x" "$((2**${NUMPORTS}-1))"`"
SYNOINFO["internalportcfg"]="${INTPORTCFG}"
fi
# LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
# BUS=`udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2`
# DT="`readModelKey "${MODEL}" "dt"`"
# if [ "${DT}" != "true" ]; then
# NUMPORTS=$((`ls /sys/class/scsi_host | wc -w`-1))
# [ "${BUS}" = "ata" ] && NUMPORTS=$((${NUMPORTS}-1))
# SYNOINFO["maxdisks"]=${NUMPORTS}
# INTPORTCFG="0x`printf "%x" "$((2**${NUMPORTS}-1))"`"
# SYNOINFO["internalportcfg"]="${INTPORTCFG}"
# fi
# Patch /etc/synoinfo.conf
echo -n "."

View File

@@ -60,3 +60,5 @@ BR2_TARGET_ROOTFS_CPIO_XZ=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_R8125=y
BR2_PACKAGE_R8168=y

View File

@@ -50,7 +50,10 @@ echo "Generating default config"
make arpl_defconfig
echo "Version: ${VERSION}"
echo "Building... Drink a coffee and wait!"
make
make BR2_EXTERNAL=../external
cd -
rm -f *.zip
zip -9 "arpl-${VERSION}.img.zip" arpl.img
qemu-img convert -O vmdk arpl.img arpl.vmdk
zip -9 "arpl-${VERSION}.vmdk.zip" arpl.vmdk
[ -x test.sh ] && ./test.sh