Alpine Linux running in Seoul

Two runtimes, one with the Alpine standard live image, both with an 8GiB
disk image.
This commit is contained in:
Ehmry - 2019-04-05 17:05:17 +02:00
parent cba0f9dc6c
commit 42ccf06ea5
10 changed files with 353 additions and 15 deletions

View File

@ -11,14 +11,32 @@ CONFIG_UPSTREAM_VERSION=19.02
CONFIG_PUBLIC_USER=ehmry
CONFIG_PUBLIC_KEY=6E10414EE7160781F5FEE8FFB14D043A26B3D2C7
CONFIG_PUBLIC_SRC_BASE_NOVA=genodelabs/src/base-nova/2019-03-17
CONFIG_PUBLIC_SRC_BLOCK_SHRED=ehmry/src/block_shred/2019-03-31
CONFIG_PUBLIC_SRC_CHROOT=genodelabs/src/chroot/2019-03-17
CONFIG_PUBLIC_SRC_EXPAT=nfeske/src/expat/2019-02-19
CONFIG_PUBLIC_SRC_INIT=ehmry/src/init/2019-03-17
CONFIG_PUBLIC_SRC_LIBCRYPTO=ehmry/src/libcrypto/2019-03-17
CONFIG_PUBLIC_SRC_LIBSSH=ehmry/src/libssh/2019-03-17
CONFIG_PUBLIC_SRC_LWIP=ehmry/src/vfs_lwip/2019-03-22
CONFIG_PUBLIC_SRC_INIT=genodelabs/src/init/2019-03-17
CONFIG_PUBLIC_SRC_LIBC=genodelabs/src/libc/2019-03-17
CONFIG_PUBLIC_SRC_LIBCRYPTO=genodelabs/src/libcrypto/2019-03-17
CONFIG_PUBLIC_SRC_LIBICONV=genodelabs/src/libiconv/2019-02-25
CONFIG_PUBLIC_SRC_LIBPNG=genodelabs/src/libpng/2019-02-25
CONFIG_PUBLIC_SRC_LIBSSH=genodelabs/src/libssh/2019-03-17
CONFIG_PUBLIC_SRC_LIBSSL=genodelabs/src/libssl/2019-03-17
CONFIG_PUBLIC_SRC_LWIP=ehmry/src/vfs_lwip/2019-04-01
CONFIG_PUBLIC_SRC_MENU_VIEW=genodelabs/src/menu_view/2019-03-17
CONFIG_PUBLIC_SRC_MESA=nfeske/src/mesa/2019-02-19
CONFIG_PUBLIC_SRC_NIC_BRIDGE=ehmry/src/nic_bridge/2019-03-17
CONFIG_PUBLIC_SRC_NIT_FB=genodelabs/src/nit_fb/2019-03-17
CONFIG_PUBLIC_SRC_POSIX=genodelabs/src/posix/2019-03-17
CONFIG_PUBLIC_SRC_RAM_BLOCK=alex-ab/src/ram_block/2019-02-25
CONFIG_PUBLIC_SRC_ROM_BLOCK=ehmry/src/rom_block/2019-04-05-a
CONFIG_PUBLIC_SRC_REPORT_ROM=genodelabs/src/report_rom/2019-03-17
CONFIG_PUBLIC_SRC_SEOUL_NOVA=alex-ab/src/seoul-nova/2019-04-05
CONFIG_PUBLIC_SRC_SSH_CLIENT=ehmry/src/ssh_client/2019-03-29
CONFIG_PUBLIC_SRC_STDCXX=genodelabs/src/stdcxx/2019-02-25
CONFIG_PUBLIC_SRC_TERMINAL=ehmry/src/terminal/2019-04-05
CONFIG_PUBLIC_SRC_VBOX_NOVA=genodelabs/src/vbox5-nova/2019-03-17
CONFIG_PUBLIC_SRC_VFS=genodelabs/src/vfs/2019-03-18
CONFIG_PUBLIC_SRC_VFS_JITTERENTROPY=ehmry/src/vfs_jitterentropy/2019-03-17
CONFIG_PUBLIC_SRC_ZLIB=ehmry/src/zlib/2019-02-25
CONFIG_PUBLIC_SRC_VFS_TTF=ehmry/src/vfs_ttf/2019-03-17
CONFIG_PUBLIC_SRC_TERMINAL=ehmry/src/terminal/2019-03-29-a
CONFIG_PUBLIC_SRC_ZLIB=genodelabs/src/zlib/2019-02-25

View File

@ -9,9 +9,12 @@
<pkg path="_/pkg/advanced_tests" info="Libretro tests"/>
<pkg path="_/pkg/dosbox" info="Experimental Libretro port of DOSBox"/>
<index name="Tests">
<pkg path="_/pkg/advanced_tests" info="Libretro test utility"/>
<pkg path="_/pkg/simple_tests" info="A test core written in C"/>
<pkg path="_/pkg/advanced_tests" info="An advanced test core written in C"/>
<pkg path="_/pkg/button_test" info="Libretro joypad button test"/>
<pkg path="_/pkg/topbench" info="The Oldskool PC Benchmark running in DOSBox"/>
<pkg path="_/pkg/cruzes" info="An unfinished Picross game"/>
<pkg path="_/pkg/topbench_dosbox-libretro" info="The Oldskool PC Benchmark running in DOSBox"/>
<pkg path="_/pkg/topbench_dosbox-svn" info="The Oldskool PC Benchmark running in DOSBox"/>
</index>
</index>
@ -23,11 +26,12 @@
<pkg path="_/pkg/tyrquake" info="Tyrquake"/>
</index>
<!--
<index name="VM downloaders">
<pkg path="_/pkg/fetch_nixos" info="Download and prepare a NixOS VM"/>
<index name="VMs">
<!-- <pkg path="_/pkg/fetch_alpine_x86_virt" info="Download an Alpine ISO"/> -->
<!-- <pkg path="_/pkg/dual_nic_vbox" info="32bit VirtualBox as a Nic service"/> -->
<pkg path="_/pkg/installer-alpine_seoul_nova" info="Alpine Linux as a Seoul VMM guest installer with 8GiB disk"/>
<pkg path="_/pkg/alpine_seoul_nova" info="Alpine Linux as a Seoul VMM guest with 8GiB disk"/>
</index>
-->
<index name="Operating system demos">
<pkg path="_/pkg/oberon" info="Oberon RISC emulator (requires three-button mouse)"/>
@ -37,12 +41,14 @@
<index name="Utilities">
<!-- <pkg path="ehmry/pkg/flif_capture/2019-03-22" info="Screen capture utility"/> -->
<pkg path="_/pkg/block_shred" info="Fill a block device with psuedo-random noise"/>
<pkg path="_/pkg/depot_9P" info="Serve /depot/local over 9P"/>
<pkg path="ehmry/pkg/flif_view/2019-03-22" info="FLIF file viewer"/>
<pkg path="ehmry/pkg/grafx2/2019-03-19" info="Bitmap paint program (ported by cnuke)"/>
<pkg path="ehmry/pkg/jitter_sponge/2019-03-31" info="Entropy source"/>
<pkg path="ehmry/pkg/noux-build-x86/2019-03-20" info="Noux build environment"/>
<pkg path="ehmry/pkg/jitter_sponge/2019-03-29" info="Entropy source"/>
<pkg path="_/pkg/ssh_client" info="Entropy source"/>
<pkg path="_/pkg/ssh_client" info="SSH client"/>
<pkg path="_/pkg/ninep" info="9P server"/>
</index>
<index name="Experimental">
@ -57,7 +63,8 @@
<pkg path="_/pkg/ifm3"/>
<pkg path="_/pkg/monero_vanity"/>
<pkg path="_/pkg/musicbrainz_playlist_generator"/>
<pkg path="_/pkg/ninep"/>
</index>
<pkg path="_/pkg/chroot" info="Automatic file-system session partitioner"/>
</index>

View File

@ -0,0 +1,15 @@
TARGET_NAME = alpine_seoul_nova
include_rules
: vm_seoul.cfg |> !collect_raw |>
: |> !raw |>
PKG_DEPENDS += \
@(PUBLIC_SRC_BASE_NOVA) \
@(PUBLIC_SRC_INIT) \
@(PUBLIC_SRC_NIT_FB) \
@(PUBLIC_SRC_SEOUL_NOVA) \
_/src/fs_block \
_/raw/$(TARGET_NAME) \
: runtime |> !collect_pkg_runtime |>

View File

@ -0,0 +1,19 @@
TARGET_NAME = installer-alpine_seoul_nova
include ../../media/standard/iso.tup
include_rules
: vm_seoul.cfg |> !collect_raw |>
: |> !raw |>
PKG_DEPENDS += \
@(PUBLIC_SRC_BASE_NOVA) \
@(PUBLIC_SRC_INIT) \
@(PUBLIC_SRC_NIT_FB) \
@(PUBLIC_SRC_ROM_BLOCK) \
@(PUBLIC_SRC_SEOUL_NOVA) \
_/src/fs_block \
_/raw/alpine-standard-x86 \
_/raw/$(TARGET_NAME) \
: runtime.in |> sed 's/@ISO_NAME@/$(ISO_NAME)/' %f > %o |> runtime
: runtime |> !collect_pkg_runtime |>

View File

@ -0,0 +1,101 @@
<runtime ram="1380M" caps="2200" binary="init">
<requires>
<file_system/>
<nic/>
<rom label="platform_info"/>
<nitpicker/>
<rm/>
<rtc/>
</requires>
<content>
<rom label="@ISO_NAME@"/>
<rom label="fs_block"/>
<rom label="init"/>
<rom label="nit_fb"/>
<rom label="rom_block"/>
<rom label="seoul"/>
<rom label="timer"/>
<rom label="vm_seoul.cfg"/>
</content>
<config verbose="yes" prio_levels="2">
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="File_system"/>
<service name="Nitpicker"/>
<service name="Rtc"/>
<service name="Nic"/>
</parent-provides>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
<config/>
<route>
<service name="ROM" label="platform_info">
<parent label="platform_info"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="nit_fb" priority="0">
<resource name="RAM" quantum="8M" />
<provides>
<service name="Framebuffer" /> <service name="Input" />
</provides>
<config initial_width="640" initial_height="400"/>
<route>
<service name="Nitpicker"> <parent label=""/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="rom_block" priority="-1">
<resource name="RAM" quantum="2M" />
<provides><service name="Block"/></provides>
<config file="@ISO_NAME@" block_size="512"/>
<route>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="fs_block" priority="-1">
<resource name="RAM" quantum="8M" />
<provides><service name="Block"/></provides>
<config>
<default-policy file="alpine.disk" block_size="512" device_size="8G" writeable="yes"/>
</config>
<route>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="seoul" priority="-1" caps="200" ld="no">
<binary name="seoul"/>
<resource name="RAM" quantum="1024M"/>
<route>
<service name="ROM" label="platform_info">
<parent label="platform_info"/> </service>
<service name="Timer"> <child name="timer"/></service>
<service name="Framebuffer"><child name="nit_fb"/></service>
<service name="Input"> <child name="nit_fb"/></service>
<service name="Block" label_suffix="1">
<child name="fs_block"/></service>
<service name="Block" label_suffix="0">
<child name="rom_block"/></service>
<any-service><parent/></any-service>
</route>
<configfile name="vm_seoul.cfg"/>
</start>
</config>
</runtime>

View File

@ -0,0 +1,39 @@
<config colocate="1">
<machine>
<mem start="0x0" end="0x9a000"/>
<mem start="0x100000" end="0xfffff000"/>
<!--<ioio/>-->
<nullio io_base="0x80" />
<pic io_base="0x20" elcr_base="0x4d0"/>
<pic io_base="0xa0" irq="2" elcr_base="0x4d1"/>
<pit io_base="0x40" irq="0"/>
<scp io_port_a="0x92" io_port_b="0x61"/>
<kbc io_base="0x60" irq_kbd="1" irq_aux="12"/>
<keyb ps2_port="0" host_keyboard="0x10000"/>
<mouse ps2_port="1" host_mouse="0x10001"/>
<rtc io_base="0x70" irq="8"/>
<serial io_base="0x3f8" irq="0x4" host_serial="0x4711"/>
<hostsink host_dev="0x4712" buffer="80"/>
<vga io_base="0x03c0"/>
<vbios_disk/>
<vbios_keyboard host_keyboard="0x10000"/>
<vbios_mem/>
<vbios_time/>
<vbios_reset/>
<msi/>
<ioapic/>
<pcihostbridge bus_num="0" bus_count="0x10" io_base="0xcf8"
mem_base="0xe0000000"/>
<pmtimer io_port="0x8000"/>
<vcpu/> <halifax/> <vbios/> <lapic/>
<ahci mem="0xe0800000" irq="14" bdf="0x30"/>
<drive sigma0drive="0" controller="0" port="0"/>
<drive sigma0drive="1" controller="0" port="1"/>
<intel82576vf/>
</machine>
<multiboot/>
</config>

View File

@ -0,0 +1,87 @@
<runtime ram="1380M" caps="2200" binary="init">
<requires>
<file_system/>
<nic/>
<rom label="platform_info"/>
<nitpicker/>
<rm/>
<rtc/>
</requires>
<content>
<rom label="fs_block"/>
<rom label="init"/>
<rom label="nit_fb"/>
<rom label="seoul"/>
<rom label="timer"/>
<rom label="vm_seoul.cfg"/>
</content>
<config verbose="yes" prio_levels="2">
<parent-provides>
<service name="ROM"/>
<service name="PD"/>
<service name="RM"/>
<service name="CPU"/>
<service name="LOG"/>
<service name="File_system"/>
<service name="Nitpicker"/>
<service name="Rtc"/>
<service name="Nic"/>
</parent-provides>
<default caps="100"/>
<start name="timer">
<resource name="RAM" quantum="1M"/>
<provides><service name="Timer"/></provides>
<config/>
<route>
<service name="ROM" label="platform_info">
<parent label="platform_info"/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="nit_fb" priority="0">
<resource name="RAM" quantum="8M" />
<provides>
<service name="Framebuffer" /> <service name="Input" />
</provides>
<config initial_width="640" initial_height="400"/>
<route>
<service name="Nitpicker"> <parent label=""/> </service>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="fs_block" priority="-1">
<resource name="RAM" quantum="8M" />
<provides><service name="Block"/></provides>
<config>
<default-policy file="alpine.disk" block_size="512" device_size="8G" writeable="yes"/>
</config>
<route>
<any-service> <parent/> </any-service>
</route>
</start>
<start name="seoul" priority="-1" caps="200" ld="no">
<binary name="seoul"/>
<resource name="RAM" quantum="1024M"/>
<route>
<service name="ROM" label="platform_info">
<parent label="platform_info"/> </service>
<service name="Timer"> <child name="timer"/></service>
<service name="Framebuffer"><child name="nit_fb"/></service>
<service name="Input"> <child name="nit_fb"/></service>
<service name="Block"> <child name="fs_block"/></service>
<any-service><parent/></any-service>
</route>
<configfile name="vm_seoul.cfg"/>
</start>
</config>
</runtime>

View File

@ -0,0 +1,38 @@
<config colocate="1">
<machine>
<mem start="0x0" end="0x9a000"/>
<mem start="0x100000" end="0xfffff000"/>
<!--<ioio/>-->
<nullio io_base="0x80" />
<pic io_base="0x20" elcr_base="0x4d0"/>
<pic io_base="0xa0" irq="2" elcr_base="0x4d1"/>
<pit io_base="0x40" irq="0"/>
<scp io_port_a="0x92" io_port_b="0x61"/>
<kbc io_base="0x60" irq_kbd="1" irq_aux="12"/>
<keyb ps2_port="0" host_keyboard="0x10000"/>
<mouse ps2_port="1" host_mouse="0x10001"/>
<rtc io_base="0x70" irq="8"/>
<serial io_base="0x3f8" irq="0x4" host_serial="0x4711"/>
<hostsink host_dev="0x4712" buffer="80"/>
<vga io_base="0x03c0"/>
<vbios_disk/>
<vbios_keyboard host_keyboard="0x10000"/>
<vbios_mem/>
<vbios_time/>
<vbios_reset/>
<msi/>
<ioapic/>
<pcihostbridge bus_num="0" bus_count="0x10" io_base="0xcf8"
mem_base="0xe0000000"/>
<pmtimer io_port="0x8000"/>
<vcpu/> <halifax/> <vbios/> <lapic/>
<ahci mem="0xe0800000" irq="14" bdf="0x30"/>
<drive sigma0drive="0" controller="0" port="0"/>
<intel82576vf/>
</machine>
<multiboot/>
</config>

View File

@ -0,0 +1,12 @@
TARGET_NAME = alpine-standard-x86
RAW_VERSION = 3.9.2
include iso.tup
include_rules
: |> wget --quiet $(ISO_URL) -O %o |> $(RAW_DIR)/$(ISO_NAME)
: $(RAW_DIR)/$(ISO_NAME) |> \
wget --quiet $(ISO_URL).asc -O %o; gpg --verify %o; \
|> $(RAW_DIR)/$(ISO_NAME).asc
: |> !raw |>

View File

@ -0,0 +1,2 @@
ISO_NAME = alpine-standard-3.9.2-x86.iso
ISO_URL = http://dl-cdn.alpinelinux.org/alpine/v3.9/releases/x86/$(ISO_NAME)