-
Notifications
You must be signed in to change notification settings - Fork 9
67 lines (56 loc) · 3.21 KB
/
build-ArchLinux-ARM.yml
File metadata and controls
67 lines (56 loc) · 3.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name: Build Arch Linux ARM
on:
workflow_dispatch:
env:
REQUIRED_PACKAGES: acl aptly aria2 bc binfmt-support bison btrfs-progs build-essential busybox ca-certificates ccache coreutils cpio cryptsetup crossbuild-essential-arm64 clang curl debian-archive-keyring debian-keyring debootstrap device-tree-compiler dialog dirmngr dosfstools dwarves f2fs-tools fakeroot flex gawk gcc-arm-linux-gnueabi gcc-aarch64-linux-gnu gdisk git gpg gzip imagemagick jq kmod libbison-dev libc6-dev-armhf-cross libcrypto++-dev libelf-dev libfdt-dev libfile-fcntllock-perl parallel libfl-dev liblz4-tool libncurses-dev libncurses5 libncurses5-dev libncursesw5-dev libpython2.7-dev libssl-dev libusb-1.0-0-dev linux-base llvm lld lzma lz4 locales lzop ncurses-base ncurses-term nfs-kernel-server ntpdate p7zip p7zip-full parted patchutils pigz pixz pkg-config pv python3-dev python3-distutils qemu-user-static rename rsync swig subversion tar u-boot-tools udev unzip uuid-dev vim wget whiptail xz-utils xsltproc zip zlib1g-dev zstd distcc lib32ncurses-dev lib32stdc++6 libc6-i386 python2 python3 axel libarchive-tools u-boot-tools
DOWNLOAD_URL: http://os.archlinuxarm.org/os/ArchLinuxARM-aarch64-latest.tar.gz
TZ: Asia/Jakarta
WORKING_DIR: /WORKING_DIR
jobs:
build:
# https://openwrt.org/docs/guide-developer/toolchain/install-buildsystem#debianubuntu
runs-on: ubuntu-22.04
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Setup Environment
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo -E apt-get -qq update > /dev/null
sudo -E apt-get -qq install $REQUIRED_PACKAGES > /dev/null
sudo -E apt-get -qq autoremove --purge > /dev/null
sudo -E apt-get -qq clean > /dev/null
sudo timedatectl set-timezone "$TZ"
sudo mkdir -p "$WORKING_DIR"
sudo chown $USER:$GROUPS "$WORKING_DIR"
- name: Download Arch Linux ARM tarball
working-directory: ${{ env.WORKING_DIR }}
run: |
axel -q4n 5 ${{ env.DOWNLOAD_URL }} -o ArchLinuxARM-aarch64.tar.gz
axel -q4n 5 https://github.com/trapd00r/LS_COLORS/raw/master/lscolors.sh
- name: Build Arch Linux ARM Image
id: build
run: |
sudo chmod +x $GITHUB_WORKSPACE/build.sh
echo "BUILD_DATE=$(date +"%m%d")" >> $GITHUB_ENV
sudo -i cp -a $GITHUB_WORKSPACE/src ${{ env.WORKING_DIR }}/src
sudo -i $GITHUB_WORKSPACE/build.sh
echo "status=success" >> ${GITHUB_OUTPUT}
- name: Release the firmware
uses: ncipollo/release-action@main
if: ${{ steps.build.outputs.status }} == 'success' && !cancelled()
with:
tag: ArchLinuxARM-aarch64_${{ env.BUILD_DATE }}
artifacts: ${{ env.WORKING_DIR }}/BUILD_OUT/*
allowUpdates: true
token: ${{ secrets.GH_TOKEN }}
body: |
Default users:
* Username: __root__ | Password: __root__
* Username: __alarm__ | Password: __alarm__
After booting, initialize the pacman keyring and populate the Arch Linux ARM package signing keys:
```
pacman-key --init
pacman-key --populate archlinuxarm
```