Skip to content

Commit 9cbea2f

Browse files
2 parents 987dbbf + 6101f6f commit 9cbea2f

File tree

3 files changed

+46
-1
lines changed

3 files changed

+46
-1
lines changed

.gitpod.Dockerfile

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM gitpod/workspace-full-vnc
2+
3+
RUN sudo apt-get install -y \
4+
nasm \
5+
cpio \
6+
xorriso \
7+
qemu-system-x86-64
8+
9+
RUN python3 -m pip install requests xbstrap

.gitpod.yml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
image:
2+
file: .gitpod.Dockerfile
3+
4+
ports:
5+
# vnc
6+
- port: 6080
7+
# open-preview is too small to reliably use, especially on smaller viewports
8+
onOpen: open-browser
9+
- port: 5900
10+
onOpen: ignore
11+
12+
tasks:
13+
- init: ./aero.py --no-run
14+
command: ./aero.py --only-run

aero.py

+23-1
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,11 @@ def parse_args():
161161
default=False,
162162
action='store_true',
163163
help='doesn\'t run the built image in emulator when applicable')
164+
165+
parser.add_argument('--only-run',
166+
default=False,
167+
action='store_true',
168+
help='runs aero without rebuilding. ignores any build-related flags')
164169

165170
parser.add_argument('--bios',
166171
type=str,
@@ -638,7 +643,24 @@ def main():
638643

639644
download_bundled()
640645

641-
if args.clean:
646+
if args.only_run:
647+
iso_path = os.path.join(BUILD_DIR, 'aero.iso')
648+
649+
if not os.path.exists(iso_path):
650+
user_bins = build_userland(args)
651+
652+
if not user_bins:
653+
return
654+
655+
kernel_bin = build_kernel(args)
656+
657+
if not kernel_bin or args.check:
658+
return
659+
660+
kernel_bin = kernel_bin[0]
661+
iso_path = prepare_iso(args, kernel_bin, user_bins)
662+
run_in_emulator(args, iso_path)
663+
elif args.clean:
642664
src_target = os.path.join('src', 'target', args.target)
643665
userland_target = os.path.join('userland', 'target')
644666

0 commit comments

Comments
 (0)