Initial commit
This commit is contained in:
commit
5a7c2d425c
30
.github/workflows/build.yml
vendored
Normal file
30
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
name: Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: Run build.bash
|
||||
run: ./build.bash
|
||||
|
||||
- name: Create release
|
||||
uses: actions/create-release@v1
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: Build Number\:${{ github.ref }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
files: |
|
||||
dist/boot/boot.img
|
||||
56
build.bash
Normal file
56
build.bash
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
|
||||
. config/config.bash
|
||||
|
||||
set -e
|
||||
|
||||
# Install the required packages
|
||||
apt-get update
|
||||
apt-get install -y\
|
||||
curl\
|
||||
xz-utils\
|
||||
bzip2\
|
||||
fakeroot\
|
||||
build-essential\
|
||||
ncurses-dev\
|
||||
libssl-dev\
|
||||
bc\
|
||||
flex\
|
||||
libelf-dev\
|
||||
bison\
|
||||
autoconf\
|
||||
libtool\
|
||||
libpng-dev\
|
||||
libfreetype-dev\
|
||||
git
|
||||
|
||||
# Create the dist directory
|
||||
mkdir -p dist/boot
|
||||
|
||||
# Download the kernel source
|
||||
wget https://www.kernel.org/pub/linux/kernel/v${LINUX_MAJOR}.x/linux-${LINUX_MAJOR}.${LINUX_MINOR}.${LINUX_PATCH}.tar.xz
|
||||
tar -xvf linux-${LINUX_MAJOR}.${LINUX_MINOR}.${LINUX_PATCH}.tar.xz
|
||||
cd linux-${LINUX_MAJOR}.${LINUX_MINOR}.${LINUX_PATCH}
|
||||
cp ../config/linux.config .config
|
||||
make -j$(nproc)
|
||||
echo $PWD
|
||||
cp arch/x86/boot/bzImage ../dist/boot/.
|
||||
cd ..
|
||||
|
||||
# Download the busybox source
|
||||
wget https://busybox.net/downloads/busybox-${BUSYBOX_MAJOR}.${BUSYBOX_MINOR}.${BUSYBOX_PATCH}.tar.bz2
|
||||
tar -xvf busybox-${BUSYBOX_MAJOR}.${BUSYBOX_MINOR}.${BUSYBOX_PATCH}.tar.bz2
|
||||
cd busybox-${BUSYBOX_MAJOR}.${BUSYBOX_MINOR}.${BUSYBOX_PATCH}
|
||||
cp ../config/busybox.config .config
|
||||
make -j$(nproc)
|
||||
make CONFIG_PREFIX=../dist install
|
||||
cd ..
|
||||
|
||||
# Create the bootable image
|
||||
dd if=/dev/zero of=dist/boot/boot.img bs=1M count=64
|
||||
mkfs.ext4 dist/boot/boot.img
|
||||
mkdir -p dist/mnt
|
||||
mount dist/boot/boot.img dist/mnt
|
||||
cp -r dist/* dist/mnt/.
|
||||
umount dist/mnt
|
||||
rmdir dist/mnt
|
||||
1231
config/busybox.config
Normal file
1231
config/busybox.config
Normal file
File diff suppressed because it is too large
Load Diff
9
config/config.bash
Normal file
9
config/config.bash
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
LINUX_MAJOR=6
|
||||
LINUX_MINOR=7
|
||||
LINUX_PATCH=4
|
||||
|
||||
BUSYBOX_MAJOR=1
|
||||
BUSYBOX_MINOR=36
|
||||
BUSYBOX_PATCH=1
|
||||
5349
config/linux.config
Normal file
5349
config/linux.config
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user