Compare commits
7
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7bf53181e2 | ||
|
|
b7cbad2db7 | ||
|
|
1db74f791a | ||
|
|
372fda3afc | ||
|
|
749ffe6d73 | ||
|
|
76b399f3b5 | ||
|
|
83f7ebb223 |
No files matched your search
+2
-16
@@ -22,8 +22,8 @@ steps:
|
|||||||
commands:
|
commands:
|
||||||
- git fetch --tags
|
- git fetch --tags
|
||||||
- find . -type f -print0 | xargs -0 dos2unix
|
- find . -type f -print0 | xargs -0 dos2unix
|
||||||
- chmod +x /drone/src/toolchain/*.sh
|
- chmod +x /drone/src/*.sh
|
||||||
- /drone/src/toolchain/compile.sh
|
- /drone/src/compile.sh
|
||||||
|
|
||||||
- name: upload-iso-artifact
|
- name: upload-iso-artifact
|
||||||
image: alpine/git
|
image: alpine/git
|
||||||
@@ -50,17 +50,3 @@ steps:
|
|||||||
- |
|
- |
|
||||||
curl -X PUT https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \
|
curl -X PUT https://gitea.spexeah.com/api/packages/Spexeah/generic/asuro-iso/latest/Asuro.iso \
|
||||||
-H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso"
|
-H "Authorization: token $GITEA_TOKEN" --upload-file "Asuro-$(git rev-parse --short HEAD).iso"
|
||||||
|
|
||||||
- name: msg status
|
|
||||||
image: appleboy/drone-discord
|
|
||||||
failure: ignore
|
|
||||||
depends_on:
|
|
||||||
- compile
|
|
||||||
when:
|
|
||||||
status: [success, failure, changed]
|
|
||||||
settings:
|
|
||||||
webhook_id:
|
|
||||||
from_secret: discord_webhook_id
|
|
||||||
webhook_token:
|
|
||||||
from_secret: discord_webhook_secret
|
|
||||||
message: "**Asuro Build**\n\n{{#success build.status}}✅ Build successful!\n\n{{else}}❌ Build failed!\n\n{{/success}}Repository: `{{repo.namespace}}/{{repo.name}}`\nBranch: `{{commit.branch}}`\nCommit: `{{commit.sha}}`\nAuthor: `{{commit.author}} <{{commit.email}}>`\n\nGitea Diff: [Link](<{{commit.link}}>)\nDrone Build: [Link](<{{build.link}}>)\n\nMessage: {{commit.message}}"
|
|
||||||
@@ -1,8 +1 @@
|
|||||||
* text=auto eol=lf
|
* text=auto eol=lf
|
||||||
lvglh/** linguist-vendored
|
|
||||||
lvgl/** linguist-vendored
|
|
||||||
.vscode/* linguist-vendored
|
|
||||||
lib/* linguist-generated
|
|
||||||
release/* linguist-generated
|
|
||||||
iso/* linguist-generated
|
|
||||||
*.asm linguist-detectable
|
|
||||||
@@ -11,11 +11,3 @@
|
|||||||
/*.img
|
/*.img
|
||||||
src/include/asuro.pas
|
src/include/asuro.pas
|
||||||
localenv.json
|
localenv.json
|
||||||
/lvgl/
|
|
||||||
dockerout.txt
|
|
||||||
AGENTS.md
|
|
||||||
lessons_learnt.md
|
|
||||||
*.log
|
|
||||||
/doc/*.md
|
|
||||||
wasuro
|
|
||||||
src/core/core.version.pas
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
# Map all Aaron identities to a single preferred identity
|
|
||||||
Aaron Hance <[email protected]> aaron <aaron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
|
|
||||||
Aaron Hance <[email protected]> aaronhance <[email protected]>
|
|
||||||
Aaron Hance <[email protected]> aaron hance <[email protected]>
|
|
||||||
Aaron Hance <[email protected]> Aaron <[email protected]>
|
|
||||||
|
|
||||||
# Map all Kieron identities to a single preferred identity
|
|
||||||
Kieron Morris <[email protected]> kieron <kieron@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c>
|
|
||||||
Kieron Morris <[email protected]> Kieron <[email protected]>
|
|
||||||
Kieron Morris <[email protected]> t3hn3rd <[email protected]>
|
|
||||||
|
|
||||||
# Map goose's multiple identities
|
|
||||||
goose <goose@6dbc8c32-bb84-406f-8558-d1cf31a0ab0c> goose <[email protected]>
|
|
||||||
+4
-3
@@ -5,18 +5,19 @@ VOLUME ["/code"]
|
|||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
RUN dpkg --add-architecture i386
|
RUN dpkg --add-architecture i386
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
curl dos2unix wget git make nasm binutils xorriso grub-pc-bin gcc gcc-multilib && \
|
curl dos2unix wget git make nasm binutils:i386 xorriso grub-pc-bin && \
|
||||||
apt-get clean my room
|
apt-get clean my room
|
||||||
|
|
||||||
SHELL ["/bin/bash", "-c"]
|
SHELL ["/bin/bash", "-c"]
|
||||||
ARG FPC_VERSION=3.2.2
|
ARG FPC_VERSION=2.6.4
|
||||||
RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSION/fpc-$FPC_VERSION.i386-linux.tar/download | tar -xf - && \
|
RUN curl -sL https://sourceforge.net/projects/freepascal/files/Linux/$FPC_VERSION/fpc-$FPC_VERSION.i386-linux.tar/download | tar -xf - && \
|
||||||
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
|
pushd fpc-$FPC_VERSION.i386-linux && ./install.sh && popd && \
|
||||||
rm -rf fpc-$FPC_VERSION.i386-linux
|
rm -rf fpc-$FPC_VERSION.i386-linux
|
||||||
|
|
||||||
|
COPY compile.sh /compile.sh
|
||||||
ADD https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver /usr/bin/semver
|
ADD https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver /usr/bin/semver
|
||||||
RUN chmod +x /usr/bin/semver
|
RUN chmod +x /usr/bin/semver
|
||||||
WORKDIR /code
|
WORKDIR /code
|
||||||
RUN find . -type f -print0 | xargs -0 dos2unix
|
RUN find . -type f -print0 | xargs -0 dos2unix
|
||||||
ENTRYPOINT ["/bin/bash", "-c"]
|
ENTRYPOINT ["/bin/bash", "-c"]
|
||||||
CMD ["find toolchain -name '*.sh' -exec dos2unix {} + 2>/dev/null; find toolchain -name '*.sh' -exec chmod +x {} +; bash toolchain/compile.sh"]
|
CMD ["/compile.sh"]
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
{ Compatibility shim: wasuro references the old unit name 'lmemorymanager'.
|
|
||||||
Since wasuro/ cannot be modified, this unit re-exports the public API of
|
|
||||||
memory.heap so that 'uses lmemorymanager' continues to compile. }
|
|
||||||
unit lmemorymanager;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
uses
|
|
||||||
memory.heap;
|
|
||||||
|
|
||||||
const
|
|
||||||
ALLOC_UNIT = memory.heap.ALLOC_UNIT;
|
|
||||||
DATA_OFFSET = memory.heap.DATA_OFFSET;
|
|
||||||
PAGE_SIZE_LMM = memory.heap.PAGE_SIZE_LMM;
|
|
||||||
TOTAL_UNITS = memory.heap.TOTAL_UNITS;
|
|
||||||
BITMAP_DWORDS = memory.heap.BITMAP_DWORDS;
|
|
||||||
SIZE_PREFIX = memory.heap.SIZE_PREFIX;
|
|
||||||
LARGE_ALLOC_MAGIC = memory.heap.LARGE_ALLOC_MAGIC;
|
|
||||||
|
|
||||||
type
|
|
||||||
PHeapPageHeader = memory.heap.PHeapPageHeader;
|
|
||||||
THeapPageHeader = memory.heap.THeapPageHeader;
|
|
||||||
|
|
||||||
procedure init;
|
|
||||||
function kalloc(size : uint32) : void;
|
|
||||||
function klalloc(size : uint32) : void;
|
|
||||||
procedure klfree(address : uint32);
|
|
||||||
function kpalloc(address : uint32) : void;
|
|
||||||
procedure kfree(area : void);
|
|
||||||
function lmm_total_free : uint32;
|
|
||||||
function lmm_page_count : uint32;
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
procedure init;
|
|
||||||
begin
|
|
||||||
memory.heap.init;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function kalloc(size : uint32) : void; inline;
|
|
||||||
begin
|
|
||||||
kalloc := memory.heap.kalloc(size);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function klalloc(size : uint32) : void; inline;
|
|
||||||
begin
|
|
||||||
klalloc := memory.heap.klalloc(size);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure klfree(address : uint32); inline;
|
|
||||||
begin
|
|
||||||
memory.heap.klfree(address);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function kpalloc(address : uint32) : void; inline;
|
|
||||||
begin
|
|
||||||
kpalloc := memory.heap.kpalloc(address);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure kfree(area : void); inline;
|
|
||||||
begin
|
|
||||||
memory.heap.kfree(area);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function lmm_total_free : uint32; inline;
|
|
||||||
begin
|
|
||||||
lmm_total_free := memory.heap.lmm_total_free;
|
|
||||||
end;
|
|
||||||
|
|
||||||
function lmm_page_count : uint32; inline;
|
|
||||||
begin
|
|
||||||
lmm_page_count := memory.heap.lmm_page_count;
|
|
||||||
end;
|
|
||||||
|
|
||||||
end.
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
unit types;
|
|
||||||
|
|
||||||
interface
|
|
||||||
|
|
||||||
implementation
|
|
||||||
|
|
||||||
end.
|
|
||||||
Regular → Executable
+4
-8
@@ -7,7 +7,7 @@ echo "Asuro Compilation"
|
|||||||
echo " "
|
echo " "
|
||||||
|
|
||||||
#Compile Stub.asm
|
#Compile Stub.asm
|
||||||
rm -f lib/*
|
rm lib/*
|
||||||
|
|
||||||
runOrFail() {
|
runOrFail() {
|
||||||
local binary=$1
|
local binary=$1
|
||||||
@@ -20,13 +20,9 @@ runOrFail() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
TOOLCHAIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
||||||
|
|
||||||
declare -a run_steps=(
|
declare -a run_steps=(
|
||||||
"compile_stub.sh" "Failed to compile stub!"
|
"compile_stub.sh" "Failed to compile stub!"
|
||||||
"compile_vergen.sh" "Versions failed to compile"
|
"compile_vergen.sh" "Versions failed to compile"
|
||||||
"compile_lvgl.sh" "Failed to compile LVGL!"
|
|
||||||
"compile_wasuro.sh" "Failed to pull Wasuro!"
|
|
||||||
"compile_sources.sh" "Failed to compile FPC Sources!"
|
"compile_sources.sh" "Failed to compile FPC Sources!"
|
||||||
"compile_link.sh" "Failed linking!"
|
"compile_link.sh" "Failed linking!"
|
||||||
"compile_isogen.sh" "Failed to create ISO!"
|
"compile_isogen.sh" "Failed to create ISO!"
|
||||||
@@ -36,7 +32,7 @@ for ((i=0; i<${#run_steps[@]}; i+=2))
|
|||||||
do
|
do
|
||||||
if [ "$ERRCOUNT" -eq "0" ]
|
if [ "$ERRCOUNT" -eq "0" ]
|
||||||
then
|
then
|
||||||
script="${TOOLCHAIN_DIR}/${run_steps[$i]}"
|
script=$(pwd)/"${run_steps[$i]}"
|
||||||
message="${run_steps[$i+1]}"
|
message="${run_steps[$i+1]}"
|
||||||
runOrFail "$script" "$message"
|
runOrFail "$script" "$message"
|
||||||
fi
|
fi
|
||||||
@@ -45,9 +41,9 @@ done
|
|||||||
#Call generate final artifacts based on failure or success of the above.
|
#Call generate final artifacts based on failure or success of the above.
|
||||||
if [ "$ERRCOUNT" -ne "0" ]
|
if [ "$ERRCOUNT" -ne "0" ]
|
||||||
then
|
then
|
||||||
. "${TOOLCHAIN_DIR}/compile_finish.sh" "failed"
|
. ./compile_finish.sh "failed"
|
||||||
else
|
else
|
||||||
. "${TOOLCHAIN_DIR}/compile_finish.sh" "success"
|
. ./compile_finish.sh "success"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -14,9 +14,4 @@ done;
|
|||||||
objstring=lib/stub.o" "$objstring
|
objstring=lib/stub.o" "$objstring
|
||||||
echo "Object Files: "$objstring
|
echo "Object Files: "$objstring
|
||||||
echo " "
|
echo " "
|
||||||
|
ld -m elf_i386 -s --gc-sections -Tlinker.script -o bin/kernel.bin $objstring
|
||||||
# Find libgcc for i386 (needed by LVGL compiled with gcc)
|
|
||||||
LIBGCC=$(gcc -m32 -print-libgcc-file-name)
|
|
||||||
echo "libgcc: ${LIBGCC}"
|
|
||||||
|
|
||||||
ld -m elf_i386 -s --gc-sections -Ttoolchain/linker.script -o bin/kernel.bin $objstring --start-group lib/liblvgl.a ${LIBGCC} --end-group
|
|
||||||
File renamed without changes.
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
echo " "
|
||||||
|
echo "======================="
|
||||||
|
echo " "
|
||||||
|
echo "Compiling FPC Sources..."
|
||||||
|
echo " "
|
||||||
|
fpc -Aelf -gw -g -gl -n -vlewn -O3 -Op3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ -Fusrc/* -Fusrc/driver/* -Fusrc/driver/net/* src/kernel.pas
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
echo " "
|
||||||
|
echo "======================="
|
||||||
|
echo " "
|
||||||
|
echo "Compiling Stub..."
|
||||||
|
echo " "
|
||||||
|
nasm -f elf src/stub/stub.asm -o lib/stub.o
|
||||||
File renamed without changes.
@@ -1,15 +1,14 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
set -e
|
||||||
TOOLCHAIN_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
||||||
echo " "
|
echo " "
|
||||||
echo "======================="
|
echo "======================="
|
||||||
echo " "
|
echo " "
|
||||||
echo "Generating Versioning Info..."
|
echo "Generating Versioning Info..."
|
||||||
echo " "
|
echo " "
|
||||||
chmod +x "${TOOLCHAIN_DIR}/compile_checksum.sh"
|
chmod +x ./compile_checksum.sh
|
||||||
"${TOOLCHAIN_DIR}/compile_checksum.sh"
|
./compile_checksum.sh
|
||||||
outfile="src/core/core.version.pas"
|
outfile="src/include/asuro.pas"
|
||||||
file="toolchain/version"
|
file="version"
|
||||||
{
|
{
|
||||||
# this script requires semver tool
|
# this script requires semver tool
|
||||||
wget -q https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver -O bin/semver && chmod +x bin/semver
|
wget -q https://raw.githubusercontent.com/fsaintjacques/semver-tool/master/src/semver -O bin/semver && chmod +x bin/semver
|
||||||
@@ -23,7 +22,7 @@ sub=$(semver get patch $tagref)
|
|||||||
version=$(semver get release $tagref)
|
version=$(semver get release $tagref)
|
||||||
release=$(semver get prerel $tagref)
|
release=$(semver get prerel $tagref)
|
||||||
build=$(semver get build $tagref)
|
build=$(semver get build $tagref)
|
||||||
linecount=$("${TOOLCHAIN_DIR}/loc.sh" | awk '{print $1}')
|
linecount=$(./loc.sh | awk '{print $1}')
|
||||||
sourcecount=$(find src -type f | wc -l)
|
sourcecount=$(find src -type f | wc -l)
|
||||||
drivercount=$(find src/driver -type f | wc -l)
|
drivercount=$(find src/driver -type f | wc -l)
|
||||||
fpcversion=$(fpc -h | grep -m 1 version | awk '{print $5}')
|
fpcversion=$(fpc -h | grep -m 1 version | awk '{print $5}')
|
||||||
@@ -35,7 +34,7 @@ checksum=$(md5sum checksums.md5 | awk '{print $1}')
|
|||||||
|
|
||||||
[[ -n "$release" ]] && version="$version-$release"
|
[[ -n "$release" ]] && version="$version-$release"
|
||||||
cat > $outfile <<EOF
|
cat > $outfile <<EOF
|
||||||
unit core.version;
|
unit asuro;
|
||||||
|
|
||||||
interface
|
interface
|
||||||
|
|
||||||
Whitespace-only changes.
@@ -1,32 +0,0 @@
|
|||||||
#Flat filesystem
|
|
||||||
|
|
||||||
A super simple filesystem for asuro. Folders are emulated in filenames.
|
|
||||||
|
|
||||||
Starts with disk info sector, sector 0 of volume
|
|
||||||
|
|
||||||
---
|
|
||||||
#### disk info
|
|
||||||
|
|
||||||
jmp2boot : ubit24;
|
|
||||||
OEMName : array[0..7] of char;
|
|
||||||
version : uint16 // numerical version of filesystem
|
|
||||||
sectorCount : uint16;
|
|
||||||
fileCount : uint16
|
|
||||||
signature : uint32 = 0x0B00B1E5
|
|
||||||
|
|
||||||
|
|
||||||
the Rest of the sector is reserved
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Starting from sector 1 is the file table. Table size is determined by entry size (64) * fileCount
|
|
||||||
|
|
||||||
---
|
|
||||||
####File entry
|
|
||||||
|
|
||||||
name : array[0..59] of char //file name max 60 chars
|
|
||||||
fileStart : 16bit // start sector of data
|
|
||||||
fileSize : 16bit // data size in sectors
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Loaded 20 of 242 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user