Convert to cookbook based build
This commit is contained in:
parent
9034701e8f
commit
c9950beec2
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -1,6 +1 @@
|
|||
build
|
||||
target
|
||||
initfs/bin
|
||||
filesystem/bin
|
||||
filesystem/ref
|
||||
filesystem/sbin
|
||||
|
|
129
.gitmodules
vendored
129
.gitmodules
vendored
|
@ -1,123 +1,18 @@
|
|||
[submodule "rust"]
|
||||
path = rust
|
||||
url = https://github.com/redox-os/rust.git
|
||||
[submodule "ion"]
|
||||
path = programs/ion
|
||||
url = https://github.com/redox-os/ion.git
|
||||
[submodule "programs/coreutils"]
|
||||
path = programs/coreutils
|
||||
url = https://github.com/redox-os/coreutils.git
|
||||
[submodule "schemes/redoxfs"]
|
||||
path = schemes/redoxfs
|
||||
url = https://github.com/redox-os/redoxfs
|
||||
[submodule "programs/extrautils"]
|
||||
path = programs/extrautils
|
||||
url = https://github.com/redox-os/extrautils.git
|
||||
[submodule "programs/smith"]
|
||||
path = programs/smith
|
||||
url = https://github.com/IGI-111/Smith.git
|
||||
[submodule "programs/userutils"]
|
||||
path = programs/userutils
|
||||
url = https://github.com/redox-os/userutils.git
|
||||
[submodule "programs/netutils"]
|
||||
path = programs/netutils
|
||||
url = https://github.com/redox-os/netutils.git
|
||||
[submodule "schemes/orbital"]
|
||||
path = schemes/orbital
|
||||
url = https://github.com/redox-os/orbital.git
|
||||
[submodule "programs/orbutils"]
|
||||
path = programs/orbutils
|
||||
url = https://github.com/redox-os/orbutils.git
|
||||
[submodule "filesystem/ui"]
|
||||
path = filesystem/ui
|
||||
url = https://github.com/redox-os/orbdata.git
|
||||
[submodule "programs/acid"]
|
||||
path = programs/acid
|
||||
url = https://github.com/redox-os/acid.git
|
||||
[submodule "programs/pkgutils"]
|
||||
path = programs/pkgutils
|
||||
url = https://github.com/redox-os/pkgutils.git
|
||||
[submodule "installer"]
|
||||
path = installer
|
||||
url = https://github.com/redox-os/installer.git
|
||||
[submodule "docgen"]
|
||||
path = docgen
|
||||
url = https://github.com/redox-os/docgen.git
|
||||
[submodule "libc-artifacts"]
|
||||
path = libc-artifacts
|
||||
url = https://github.com/redox-os/libc-artifacts.git
|
||||
[submodule "kernel"]
|
||||
path = kernel
|
||||
url = https://github.com/redox-os/kernel.git
|
||||
[submodule "drivers"]
|
||||
path = drivers
|
||||
url = https://github.com/redox-os/drivers.git
|
||||
[submodule "bootloader"]
|
||||
path = bootloader
|
||||
url = https://github.com/redox-os/bootloader.git
|
||||
[submodule "isolinux"]
|
||||
path = isolinux
|
||||
url = https://github.com/redox-os/isolinux.git
|
||||
[submodule "programs/init"]
|
||||
path = programs/init
|
||||
url = https://github.com/redox-os/init.git
|
||||
[submodule "libs/orbclient"]
|
||||
path = libs/orbclient
|
||||
url = https://github.com/redox-os/orbclient.git
|
||||
[submodule "libs/orbtk"]
|
||||
path = libs/orbtk
|
||||
url = https://github.com/redox-os/orbtk.git
|
||||
[submodule "libs/orbimage"]
|
||||
path = libs/orbimage
|
||||
url = https://github.com/redox-os/orbimage.git
|
||||
[submodule "libs/orbfont"]
|
||||
path = libs/orbfont
|
||||
url = https://github.com/redox-os/orbfont.git
|
||||
[submodule "libs/jpeg-decoder"]
|
||||
path = libs/jpeg-decoder
|
||||
url = https://github.com/redox-os/jpeg-decoder.git
|
||||
[submodule "libs/termion"]
|
||||
path = libs/termion
|
||||
url = https://github.com/redox-os/termion.git
|
||||
[submodule "libs/syscall"]
|
||||
path = libs/syscall
|
||||
url = https://github.com/redox-os/syscall.git
|
||||
[submodule "libs/extra"]
|
||||
path = libs/extra
|
||||
url = https://github.com/redox-os/libextra.git
|
||||
[submodule "libs/event"]
|
||||
path = libs/event
|
||||
url = https://github.com/redox-os/event.git
|
||||
[submodule "libs/pager"]
|
||||
path = libs/pager
|
||||
url = https://github.com/redox-os/libpager.git
|
||||
[submodule "libs/ransid"]
|
||||
path = libs/ransid
|
||||
url = https://github.com/redox-os/ransid.git
|
||||
[submodule "libs/same-file"]
|
||||
path = libs/same-file
|
||||
url = https://github.com/redox-os/same-file.git
|
||||
[submodule "libs/mio"]
|
||||
path = libs/mio
|
||||
url = https://github.com/redox-os/mio.git
|
||||
[submodule "programs/binutils"]
|
||||
path = programs/binutils
|
||||
url = https://github.com/redox-os/binutils.git
|
||||
[submodule "programs/games"]
|
||||
path = programs/games
|
||||
url = https://github.com/redox-os/games.git
|
||||
[submodule "programs/sodium"]
|
||||
path = programs/sodium
|
||||
url = https://github.com/redox-os/sodium.git
|
||||
[submodule "libs/ralloc"]
|
||||
path = libs/ralloc
|
||||
url = https://github.com/redox-os/ralloc.git
|
||||
[submodule "libs/tar"]
|
||||
path = libs/tar
|
||||
url = https://github.com/redox-os/tar-rs.git
|
||||
[submodule "programs/orbterm"]
|
||||
path = programs/orbterm
|
||||
url = https://github.com/redox-os/orbterm.git
|
||||
[submodule "cookbook"]
|
||||
path = cookbook
|
||||
url = https://github.com/redox-os/cookbook.git
|
||||
[submodule "installer"]
|
||||
path = installer
|
||||
url = https://github.com/redox-os/installer.git
|
||||
[submodule "isolinux"]
|
||||
path = isolinux
|
||||
url = https://github.com/redox-os/isolinux.git
|
||||
[submodule "kernel"]
|
||||
path = kernel
|
||||
url = https://github.com/redox-os/kernel.git
|
||||
[submodule "rust"]
|
||||
path = rust
|
||||
url = https://github.com/redox-os/rust.git
|
||||
|
|
2365
Cargo.lock
generated
2365
Cargo.lock
generated
File diff suppressed because it is too large
Load diff
74
Cargo.toml
74
Cargo.toml
|
@ -1,74 +0,0 @@
|
|||
[workspace]
|
||||
exclude = ["cookbook"]
|
||||
members = [
|
||||
"docgen",
|
||||
"drivers/ahcid",
|
||||
"drivers/alxd",
|
||||
"drivers/bgad",
|
||||
"drivers/e1000d",
|
||||
"drivers/nvmed",
|
||||
"drivers/pcid",
|
||||
"drivers/ps2d",
|
||||
"drivers/rtl8168d",
|
||||
"drivers/vboxd",
|
||||
"drivers/vesad",
|
||||
"drivers/xhcid",
|
||||
"installer",
|
||||
"kernel",
|
||||
"libs/event",
|
||||
"libs/extra",
|
||||
"libs/jpeg-decoder",
|
||||
"libs/mio",
|
||||
"libs/orbclient",
|
||||
"libs/orbfont",
|
||||
"libs/orbimage",
|
||||
"libs/orbtk",
|
||||
"libs/pager",
|
||||
#TODO "libs/ralloc",
|
||||
"libs/ransid",
|
||||
"libs/same-file",
|
||||
"libs/syscall",
|
||||
"libs/tar",
|
||||
"libs/termion",
|
||||
"programs/acid",
|
||||
"programs/binutils",
|
||||
"programs/contain",
|
||||
"programs/coreutils",
|
||||
"programs/extrautils",
|
||||
"programs/games",
|
||||
"programs/init",
|
||||
"programs/ion",
|
||||
"programs/netutils",
|
||||
"programs/orbterm",
|
||||
"programs/orbutils",
|
||||
"programs/pkgutils",
|
||||
"programs/smith",
|
||||
"programs/sodium",
|
||||
"programs/timeout",
|
||||
"programs/userutils",
|
||||
"schemes/ethernetd",
|
||||
"schemes/ipd",
|
||||
"schemes/orbital",
|
||||
"schemes/ptyd",
|
||||
"schemes/randd",
|
||||
"schemes/redoxfs",
|
||||
"schemes/tcpd",
|
||||
"schemes/udpd"
|
||||
]
|
||||
|
||||
[replace]
|
||||
"extra:0.1.0" = { path = "libs/extra" }
|
||||
"jpeg-decoder:0.1.12" = { path = "libs/jpeg-decoder" }
|
||||
"mio:0.6.2" = { path = "libs/mio" }
|
||||
"orbclient:0.3.4" = { path = "libs/orbclient" }
|
||||
"orbfont:0.1.8" = { path = "libs/orbfont" }
|
||||
"orbimage:0.1.15" = { path = "libs/orbimage" }
|
||||
"orbtk:0.2.19" = { path = "libs/orbtk" }
|
||||
"pager:0.1.0" = { path = "libs/pager" }
|
||||
"ralloc:1.0.0" = { path = "libs/ralloc" }
|
||||
"ransid:0.2.7" = { path = "libs/ransid" }
|
||||
"redox_event:0.1.0" = { path = "libs/event" }
|
||||
"redox_syscall:0.1.17" = { path = "libs/syscall" }
|
||||
"same-file:0.1.2" = { path = "libs/same-file" }
|
||||
"tar:0.4.11" = { path = "libs/tar" }
|
||||
"termion:1.3.0" = { path = "libs/termion" }
|
12
Makefile
12
Makefile
|
@ -8,12 +8,8 @@ live: build/livedisk.bin
|
|||
iso: build/livedisk.iso
|
||||
|
||||
clean:
|
||||
cargo clean
|
||||
cargo clean --manifest-path rust/src/libcollections/Cargo.toml
|
||||
cargo clean --manifest-path rust/src/libstd/Cargo.toml
|
||||
cargo clean --manifest-path kernel/Cargo.toml
|
||||
-$(FUMOUNT) build/filesystem/ || true
|
||||
rm -rf initfs/bin
|
||||
rm -rf filesystem/bin filesystem/sbin filesystem/ui/bin
|
||||
rm -rf build
|
||||
|
||||
update:
|
||||
|
@ -35,12 +31,6 @@ include mk/virtualbox.mk
|
|||
# Kernel recipes
|
||||
include mk/kernel.mk
|
||||
|
||||
# Userspace recipes
|
||||
include mk/userspace/mod.mk
|
||||
|
||||
# Documentation
|
||||
include mk/doc.mk
|
||||
|
||||
# Filesystem recipes
|
||||
include mk/initfs.mk
|
||||
include mk/filesystem.mk
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 5e5e080d618db036c632e096bdf6ce5c77b33bae
|
||||
Subproject commit 787f0184fa96a227e51a7ce083a29b06f8945fd8
|
2
cookbook
2
cookbook
|
@ -1 +1 @@
|
|||
Subproject commit 4a18e61514133017e31d67d31931b1bee621f0c2
|
||||
Subproject commit 0506e3602e7e59de94a0e6c200d9aef82fe8e82c
|
1
docgen
1
docgen
|
@ -1 +0,0 @@
|
|||
Subproject commit 52fb8863efdd0862b2439f87faff2457b43cac62
|
1
drivers
1
drivers
|
@ -1 +0,0 @@
|
|||
Subproject commit 15675ea9c3de8b552743f83ec2f9a7bbba538c15
|
175
filesystem.toml
Normal file
175
filesystem.toml
Normal file
|
@ -0,0 +1,175 @@
|
|||
# This is the default configuration file
|
||||
|
||||
# General settings
|
||||
[general]
|
||||
# Do not prompt if settings are not defined
|
||||
prompt = false
|
||||
sysroot = "build/filesystem"
|
||||
|
||||
# Package settings
|
||||
[packages]
|
||||
acid = {}
|
||||
binutils = {}
|
||||
contain = {}
|
||||
coreutils = {}
|
||||
drivers = {}
|
||||
extrautils = {}
|
||||
games = {}
|
||||
init = {}
|
||||
installer = {}
|
||||
ion = {}
|
||||
lua = {}
|
||||
netstack = {}
|
||||
netutils = {}
|
||||
orbdata = {}
|
||||
orbital = {}
|
||||
orbterm = {}
|
||||
orbutils = {}
|
||||
#pixelcannon = {}
|
||||
pkgutils = {}
|
||||
ptyd = {}
|
||||
randd = {}
|
||||
redoxfs = {}
|
||||
smith = {}
|
||||
#sodium = {}
|
||||
userutils = {}
|
||||
|
||||
# User settings
|
||||
[users.root]
|
||||
# Password is set to "password"
|
||||
password = "$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk"
|
||||
uid = 0
|
||||
gid = 0
|
||||
name = "root"
|
||||
home = "/root"
|
||||
|
||||
[users.user]
|
||||
# Password is unset
|
||||
password = ""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/00_base"
|
||||
data = """
|
||||
randd
|
||||
ptyd
|
||||
pcid /etc/pcid.toml
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/10_net"
|
||||
data = """
|
||||
ethernetd
|
||||
ipd
|
||||
tcpd
|
||||
udpd
|
||||
dhcpd -b
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/20_orbital"
|
||||
data = """
|
||||
orbital display:3/activate /ui/bin/orblogin /ui/bin/launcher
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/init.d/30_console"
|
||||
data = """
|
||||
getty display:2
|
||||
getty debug: -J
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/dns"
|
||||
data = "208.67.222.222"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip"
|
||||
data = "10.0.2.15"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip_router"
|
||||
data = "10.0.2.2"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip_subnet"
|
||||
data = "255.255.255.0"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/mac"
|
||||
data = "00.00.00.00.00.00"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pkg.d/50_redox"
|
||||
data = "https://static.redox-os.org/pkg"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/group"
|
||||
data = "sudo;1;user"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/hostname"
|
||||
data = "redox"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/issue"
|
||||
data = """
|
||||
########## Redox OS ##########
|
||||
# Login with the following: #
|
||||
# `user` #
|
||||
# `root`:`password` #
|
||||
##############################
|
||||
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/motd"
|
||||
data = """
|
||||
Welcome to Redox OS!
|
||||
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pcid.toml"
|
||||
data = """
|
||||
[[drivers]]
|
||||
name = "82543GC NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 4100
|
||||
command = ["e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "82540EM NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 4110
|
||||
command = ["e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "82545EM NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 4111
|
||||
command = ["e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "82579V NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 5379
|
||||
command = ["e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "RTL8168 NIC"
|
||||
class = 2
|
||||
vendor = 4332
|
||||
device = 33128
|
||||
command = ["rtl8168d", "$NAME", "$BAR2", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "XHCI"
|
||||
class = 12
|
||||
subclass = 3
|
||||
interface = 48
|
||||
command = ["xhcid", "$NAME", "$BAR0", "$IRQ"]
|
||||
"""
|
|
@ -1 +0,0 @@
|
|||
sudo;1;user
|
|
@ -1 +0,0 @@
|
|||
redox
|
|
@ -1,3 +0,0 @@
|
|||
/sbin/randd
|
||||
/sbin/ptyd
|
||||
/sbin/pcid /etc/pcid.toml
|
|
@ -1,5 +0,0 @@
|
|||
/sbin/ethernetd
|
||||
/sbin/ipd
|
||||
/sbin/tcpd
|
||||
/sbin/udpd
|
||||
dhcpd -b
|
|
@ -1 +0,0 @@
|
|||
/sbin/orbital display:3/activate /ui/bin/orblogin /ui/bin/launcher
|
|
@ -1,2 +0,0 @@
|
|||
getty display:2
|
||||
getty debug: -J
|
|
@ -1,45 +0,0 @@
|
|||
# This is the default configuration file
|
||||
|
||||
# General settings
|
||||
[general]
|
||||
# Do not prompt if settings are not defined
|
||||
prompt = false
|
||||
|
||||
# Package settings
|
||||
[packages]
|
||||
coreutils = {}
|
||||
extrautils = {}
|
||||
ion = {}
|
||||
netutils = {}
|
||||
pkgutils = {}
|
||||
tar = {}
|
||||
userutils = {}
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/dns"
|
||||
data = "208.67.222.222"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip"
|
||||
data = "10.0.2.15"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip_router"
|
||||
data = "10.0.2.2"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/net/ip_subnet"
|
||||
data = "255.255.255.0"
|
||||
|
||||
[[files]]
|
||||
path = "/etc/pkg.d/50_redox"
|
||||
data = "https://static.redox-os.org/pkg"
|
||||
|
||||
# User settings
|
||||
[users.root]
|
||||
# Password is set to "password"
|
||||
password = "$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk"
|
||||
uid = 0
|
||||
gid = 0
|
||||
name = "root"
|
||||
home = "/root"
|
|
@ -1,6 +0,0 @@
|
|||
########## Redox OS ##########
|
||||
# Login with the following: #
|
||||
# `user` #
|
||||
# `root`:`password` #
|
||||
##############################
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
Welcome to Redox OS!
|
||||
|
|
@ -1 +0,0 @@
|
|||
208.67.222.222
|
|
@ -1 +0,0 @@
|
|||
10.0.2.15
|
|
@ -1 +0,0 @@
|
|||
10.0.2.2
|
|
@ -1 +0,0 @@
|
|||
255.255.255.0
|
|
@ -1 +0,0 @@
|
|||
00.00.00.00.00.00
|
|
@ -1,2 +0,0 @@
|
|||
root;$argon2i$m=4096,t=10,p=1$Tnc4UVV0N00$ML9LIOujd3nmAfkAwEcSTMPqakWUF0OUiLWrIy0nGLk;0;0;root;/root;/bin/ion
|
||||
user;;1000;1000;user;/home/user;/bin/ion
|
|
@ -1,41 +0,0 @@
|
|||
[[drivers]]
|
||||
name = "82543GC NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 4100
|
||||
command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "82540EM NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 4110
|
||||
command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "82545EM NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 4111
|
||||
command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "82579V NIC"
|
||||
class = 2
|
||||
vendor = 32902
|
||||
device = 5379
|
||||
command = ["/sbin/e1000d", "$NAME", "$BAR0", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "RTL8168 NIC"
|
||||
class = 2
|
||||
vendor = 4332
|
||||
device = 33128
|
||||
command = ["/sbin/rtl8168d", "$NAME", "$BAR2", "$IRQ"]
|
||||
|
||||
[[drivers]]
|
||||
name = "XHCI"
|
||||
class = 12
|
||||
subclass = 3
|
||||
interface = 48
|
||||
command = ["/sbin/xhcid", "$NAME", "$BAR0", "$IRQ"]
|
|
@ -1 +0,0 @@
|
|||
https://static.redox-os.org/pkg
|
|
@ -1 +0,0 @@
|
|||
../../../LICENSE
|
|
@ -1 +0,0 @@
|
|||
../../../README.md
|
|
@ -1 +0,0 @@
|
|||
../../LICENSE
|
|
@ -1 +0,0 @@
|
|||
../../README.md
|
|
@ -1 +0,0 @@
|
|||
Subproject commit d6a5749d61df72e8a339335be5429d843fa401b1
|
|
@ -1,3 +1,34 @@
|
|||
# This is the default configuration file
|
||||
|
||||
# General settings
|
||||
[general]
|
||||
# Do not prompt if settings are not defined
|
||||
prompt = false
|
||||
sysroot = "build/initfs"
|
||||
|
||||
# Package settings
|
||||
[packages]
|
||||
drivers = {}
|
||||
init = {}
|
||||
redoxfs = {}
|
||||
|
||||
[[files]]
|
||||
path="/etc/init.rc"
|
||||
data="""
|
||||
export PATH initfs:/bin
|
||||
vesad T T G
|
||||
stdio display:1
|
||||
ps2d
|
||||
pcid /etc/pcid.toml
|
||||
redoxfs disk:0 file
|
||||
cd file:
|
||||
export PATH file:/bin
|
||||
run.d /etc/init.d
|
||||
"""
|
||||
|
||||
[[files]]
|
||||
path="/etc/pcid.toml"
|
||||
data="""
|
||||
[[drivers]]
|
||||
name = "AHCI storage"
|
||||
class = 1
|
||||
|
@ -30,3 +61,4 @@ class = 8
|
|||
vendor = 33006
|
||||
device = 51966
|
||||
command = ["vboxd", "$NAME", "$BAR0", "$BAR1", "$IRQ"]
|
||||
"""
|
|
@ -1,9 +0,0 @@
|
|||
export PATH initfs:/bin
|
||||
vesad T T G
|
||||
stdio display:1
|
||||
ps2d
|
||||
pcid /etc/pcid.toml
|
||||
redoxfs disk:0 file
|
||||
cd file:
|
||||
export PATH file:/bin
|
||||
run.d /etc/init.d
|
|
@ -1 +1 @@
|
|||
Subproject commit c2bae24835735df247e27093aa43bd1d0fe2a655
|
||||
Subproject commit 318e7bb89f37228984bc92976ecdb28adb63dcf0
|
2
kernel
2
kernel
|
@ -1 +1 @@
|
|||
Subproject commit b3a25bd3a39cd527b80d5ab2ea0da56a91e10540
|
||||
Subproject commit 62d3f4bd93c425b263bd9b762632f4601e0ec1c5
|
21
krustc.sh
21
krustc.sh
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
have_o=false
|
||||
for arg in "$@"; do
|
||||
if [[ "$arg" = "-o" ]]; then
|
||||
have_o=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
args=()
|
||||
for arg in "$@"; do
|
||||
if [[ $have_o = true && "$arg" =~ ^extra-filename= ]]; then
|
||||
unset args[${#args[@]}-1]
|
||||
elif [[ $have_o = true && "$arg" =~ ^--emit= ]]; then
|
||||
args+=("--emit=link")
|
||||
else
|
||||
args+=("$arg")
|
||||
fi
|
||||
done
|
||||
|
||||
RUST_BACKTRACE=1 exec rustc -L build/kernel "${args[@]}"
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
RUST_BACKTRACE=1 rustdoc -L build/kernel $*
|
|
@ -1 +0,0 @@
|
|||
Subproject commit ecd2edd8935177cf9f160ae6ec11c22ee3a0a249
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 1333e640e1c58cf3808372147f34e91ff0d7f13c
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 402932084acd5fef4812945887ceaaa2ddd5f264
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 0660fc061973598515ec5d39d03a1bc7e53d68f6
|
1
libs/mio
1
libs/mio
|
@ -1 +0,0 @@
|
|||
Subproject commit a4f7f6a4e106fa52702a2dc1c4b2bb747bd0bf9a
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 4a3153798bd8d22380f057c07f1e77f8bd9a3cec
|
|
@ -1 +0,0 @@
|
|||
Subproject commit f554cec35c9614939590ec5d799d01a593d3c446
|
|
@ -1 +0,0 @@
|
|||
Subproject commit cc3b593a585e339819cafcd8133b22cc6242f84d
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 9ff1aa42bdd7404585e5cf7f666e2a0f67c4e4be
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 62b01eba8299143a1a5a78b36d85ab63251462b3
|
|
@ -1 +0,0 @@
|
|||
Subproject commit e31a743ec384bac8ecc0bdc82d63ae3534016416
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 20d2db307bc9926a33f437b688925ba3a37821c2
|
|
@ -1 +0,0 @@
|
|||
Subproject commit d034b7f24b4a3eeb56baccbdcbfcdfce95940487
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 863080967dfee40e0a0c74936e43e79161e0aa6e
|
1
libs/tar
1
libs/tar
|
@ -1 +0,0 @@
|
|||
Subproject commit 1ccf2baf1703bd30807c3f11a8a874ea53af6f74
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 550b9ea50a11c838533a0cf2cd9c8f7584927cdb
|
15
mk/config.mk
15
mk/config.mk
|
@ -7,7 +7,6 @@ ifeq ($(UNAME),Darwin)
|
|||
ECHO=/bin/echo
|
||||
FUMOUNT=sudo umount
|
||||
export LD=$(ARCH)-elf-ld
|
||||
export LDFLAGS=--gc-sections
|
||||
export NPROC=sysctl -n hw.ncpu
|
||||
export STRIP=$(ARCH)-elf-strip
|
||||
VB_AUDIO=coreaudio
|
||||
|
@ -16,7 +15,6 @@ else
|
|||
ECHO=echo
|
||||
FUMOUNT=fusermount -u
|
||||
export LD=ld
|
||||
export LDFLAGS=--gc-sections
|
||||
export NPROC=nproc
|
||||
export STRIP=strip
|
||||
VB_AUDIO="pulse"
|
||||
|
@ -25,23 +23,14 @@ endif
|
|||
|
||||
# Automatic variables
|
||||
ROOT=$(PWD)
|
||||
export INITFS_FOLDER=$(ROOT)/build/initfs
|
||||
export RUST_TARGET_PATH=$(ROOT)/kernel/targets
|
||||
export CC=$(ROOT)/libc-artifacts/gcc.sh
|
||||
export CFLAGS=-fno-stack-protector -U_FORTIFY_SOURCE
|
||||
export XARGO_RUST_SRC=$(ROOT)/rust/src
|
||||
|
||||
# Kernel variables
|
||||
KTARGET=$(ARCH)-unknown-none
|
||||
KBUILD=build/kernel
|
||||
KRUSTC=./krustc.sh
|
||||
KRUSTDOC=./krustdoc.sh
|
||||
KCARGO=RUSTC="$(KRUSTC)" RUSTDOC="$(KRUSTDOC)" CARGO_INCREMENTAL=1 cargo
|
||||
KCARGOFLAGS=--target $(KTARGET) --release -- -C soft-float
|
||||
|
||||
# Userspace variables
|
||||
export TARGET=$(ARCH)-unknown-redox
|
||||
BUILD=build/userspace
|
||||
export INITFS_FOLDER=$(ROOT)/initfs
|
||||
RUSTC=$(PWD)/rustc.sh
|
||||
RUSTDOC=./rustdoc.sh
|
||||
CARGO=RUSTC="$(RUSTC)" RUSTDOC="$(RUSTDOC)" CARGO_INCREMENTAL=1 cargo
|
||||
CARGOFLAGS=--target $(TARGET) --release -- -C codegen-units=`$(NPROC)`
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
build/harddrive.bin: $(KBUILD)/kernel bootloader/$(ARCH)/** build/filesystem.bin
|
||||
build/harddrive.bin: build/kernel bootloader/$(ARCH)/** build/filesystem.bin
|
||||
nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/$(ARCH)/ bootloader/$(ARCH)/harddrive.asm
|
||||
|
||||
build/livedisk.bin: $(KBUILD)/kernel_live bootloader/$(ARCH)/**
|
||||
build/livedisk.bin: build/kernel_live bootloader/$(ARCH)/**
|
||||
nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/$(ARCH)/ bootloader/$(ARCH)/livedisk.asm
|
||||
|
||||
build/%.bin.gz: build/%.bin
|
||||
|
|
13
mk/doc.mk
13
mk/doc.mk
|
@ -1,13 +0,0 @@
|
|||
doc: $(KBUILD)/libkernel.a $(BUILD)/libstd.rlib FORCE
|
||||
$(KCARGO) doc --target $(KTARGET) --manifest-path kernel/Cargo.toml
|
||||
$(CARGO) doc --target $(TARGET) --manifest-path rust/src/libstd/Cargo.toml
|
||||
|
||||
ref: FORCE
|
||||
rm -rf filesystem/ref/
|
||||
mkdir -p filesystem/ref/
|
||||
#cargo run --manifest-path docgen/Cargo.toml -- programs/binutils/src/bin/ filesystem/ref/
|
||||
cargo run --manifest-path docgen/Cargo.toml -- programs/coreutils/src/bin/ filesystem/ref/
|
||||
cargo run --manifest-path docgen/Cargo.toml -- programs/extrautils/src/bin/ filesystem/ref/
|
||||
cargo run --manifest-path docgen/Cargo.toml -- programs/netutils/src/ filesystem/ref/
|
||||
cargo run --manifest-path docgen/Cargo.toml -- programs/pkgutils/src/ filesystem/ref/
|
||||
cargo run --manifest-path docgen/Cargo.toml -- programs/userutils/src/ filesystem/ref/
|
|
@ -1,14 +1,14 @@
|
|||
build/filesystem.bin: userspace
|
||||
build/filesystem.bin: filesystem.toml
|
||||
-$(FUMOUNT) build/filesystem/ || true
|
||||
rm -rf $@ build/filesystem/
|
||||
dd if=/dev/zero of=$@ bs=1048576 count=128
|
||||
cargo run --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@
|
||||
cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs-mkfs $@
|
||||
mkdir -p build/filesystem/
|
||||
cargo build --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs
|
||||
cargo run --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@ build/filesystem/
|
||||
cargo build --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs
|
||||
cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- $@ build/filesystem/
|
||||
sleep 2
|
||||
pgrep redoxfs
|
||||
cp -RL filesystem/* build/filesystem/
|
||||
cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook $<
|
||||
chown -R 0:0 build/filesystem
|
||||
chown -R 1000:1000 build/filesystem/home/user
|
||||
chmod -R uog+rX build/filesystem
|
||||
|
@ -30,8 +30,8 @@ build/filesystem.bin: userspace
|
|||
|
||||
mount: FORCE
|
||||
mkdir -p build/filesystem/
|
||||
cargo build --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs
|
||||
cargo run --manifest-path schemes/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- build/harddrive.bin build/filesystem/
|
||||
cargo build --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs
|
||||
cargo run --manifest-path installer/redoxfs/Cargo.toml --quiet --release --bin redoxfs -- build/harddrive.bin build/filesystem/
|
||||
sleep 2
|
||||
pgrep redoxfs
|
||||
|
||||
|
|
20
mk/initfs.mk
20
mk/initfs.mk
|
@ -1,17 +1,3 @@
|
|||
$(KBUILD)/initfs.tag: initfs/bin/init \
|
||||
initfs/bin/ahcid \
|
||||
initfs/bin/bgad \
|
||||
initfs/bin/nvmed \
|
||||
initfs/bin/pcid \
|
||||
initfs/bin/ps2d \
|
||||
initfs/bin/redoxfs \
|
||||
initfs/bin/vboxd \
|
||||
initfs/bin/vesad \
|
||||
initfs/etc/**
|
||||
$(KCARGO) clean --manifest-path kernel/Cargo.toml
|
||||
touch $@
|
||||
|
||||
initfs/bin/%: programs/%/Cargo.toml programs/%/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p initfs/bin
|
||||
$(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
build/initfs.tag: initfs.toml
|
||||
cargo run --manifest-path installer/Cargo.toml -- --cookbook=cookbook $<
|
||||
touch $@
|
||||
|
|
21
mk/kernel.mk
21
mk/kernel.mk
|
@ -1,16 +1,11 @@
|
|||
$(KBUILD)/libcollections.rlib: rust/src/libcollections/Cargo.toml rust/src/libcollections/**
|
||||
mkdir -p $(KBUILD)
|
||||
$(KCARGO) rustc --manifest-path $< $(KCARGOFLAGS) -o $@
|
||||
cp rust/src/target/$(KTARGET)/release/deps/*.rlib $(KBUILD)
|
||||
build/libkernel.a: kernel/Cargo.toml kernel/src/** build/initfs.tag
|
||||
cd kernel && xargo rustc --lib --target $(KTARGET) --release -- -C soft-float --emit link=../$@
|
||||
|
||||
$(KBUILD)/libkernel.a: kernel/Cargo.toml kernel/src/** $(KBUILD)/libcollections.rlib $(KBUILD)/initfs.tag
|
||||
$(KCARGO) rustc --manifest-path $< --lib $(KCARGOFLAGS) -o $@
|
||||
build/libkernel_live.a: kernel/Cargo.toml kernel/src/** build/initfs.tag build/filesystem.bin
|
||||
cd kernel && xargo rustc --lib --features live --target $(KTARGET) --release -- -C soft-float --emit link=../$@
|
||||
|
||||
$(KBUILD)/libkernel_live.a: kernel/Cargo.toml kernel/src/** $(KBUILD)/libcollections.rlib $(KBUILD)/initfs.tag build/filesystem.bin
|
||||
$(KCARGO) rustc --manifest-path $< --lib --features live $(KCARGOFLAGS) -o $@
|
||||
build/kernel: build/libkernel.a
|
||||
$(LD) --gc-sections -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $<
|
||||
|
||||
$(KBUILD)/kernel: $(KBUILD)/libkernel.a
|
||||
$(LD) $(LDFLAGS) -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $<
|
||||
|
||||
$(KBUILD)/kernel_live: $(KBUILD)/libkernel_live.a
|
||||
$(LD) $(LDFLAGS) -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $<
|
||||
build/kernel_live: build/libkernel_live.a
|
||||
$(LD) --gc-sections -z max-page-size=0x1000 -T kernel/linkers/$(ARCH).ld -o $@ $<
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
coreutils: \
|
||||
filesystem/bin/basename \
|
||||
filesystem/bin/cat \
|
||||
filesystem/bin/chmod \
|
||||
filesystem/bin/clear \
|
||||
filesystem/bin/cp \
|
||||
filesystem/bin/cut \
|
||||
filesystem/bin/date \
|
||||
filesystem/bin/dd \
|
||||
filesystem/bin/df \
|
||||
filesystem/bin/du \
|
||||
filesystem/bin/echo \
|
||||
filesystem/bin/env \
|
||||
filesystem/bin/false \
|
||||
filesystem/bin/free \
|
||||
filesystem/bin/head \
|
||||
filesystem/bin/kill \
|
||||
filesystem/bin/ln \
|
||||
filesystem/bin/ls \
|
||||
filesystem/bin/mkdir \
|
||||
filesystem/bin/mv \
|
||||
filesystem/bin/printenv \
|
||||
filesystem/bin/ps \
|
||||
filesystem/bin/pwd \
|
||||
filesystem/bin/realpath \
|
||||
filesystem/bin/reset \
|
||||
filesystem/bin/rmdir \
|
||||
filesystem/bin/rm \
|
||||
filesystem/bin/seq \
|
||||
filesystem/bin/shutdown \
|
||||
filesystem/bin/sleep \
|
||||
filesystem/bin/sort \
|
||||
filesystem/bin/tail \
|
||||
filesystem/bin/tee \
|
||||
filesystem/bin/test \
|
||||
filesystem/bin/time \
|
||||
filesystem/bin/touch \
|
||||
filesystem/bin/true \
|
||||
filesystem/bin/wc \
|
||||
filesystem/bin/which \
|
||||
filesystem/bin/yes
|
||||
|
||||
filesystem/bin/%: programs/coreutils/Cargo.toml programs/coreutils/src/bin/%.rs $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,15 +0,0 @@
|
|||
drivers: \
|
||||
filesystem/sbin/pcid \
|
||||
filesystem/sbin/e1000d \
|
||||
filesystem/sbin/rtl8168d \
|
||||
filesystem/sbin/xhcid
|
||||
|
||||
initfs/bin/%: drivers/%/Cargo.toml drivers/%/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p initfs/bin
|
||||
$(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
|
||||
filesystem/sbin/%: drivers/%/Cargo.toml drivers/%/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/sbin
|
||||
$(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,21 +0,0 @@
|
|||
extrautils: \
|
||||
filesystem/bin/calc \
|
||||
filesystem/bin/cksum \
|
||||
filesystem/bin/cur \
|
||||
filesystem/bin/grep \
|
||||
filesystem/bin/gunzip \
|
||||
filesystem/bin/gzip \
|
||||
filesystem/bin/less \
|
||||
filesystem/bin/man \
|
||||
filesystem/bin/mdless \
|
||||
filesystem/bin/mtxt \
|
||||
filesystem/bin/rem \
|
||||
filesystem/bin/resize \
|
||||
filesystem/bin/screenfetch \
|
||||
filesystem/bin/tar
|
||||
#filesystem/bin/dmesg filesystem/bin/info filesystem/bin/watch
|
||||
|
||||
filesystem/bin/%: programs/extrautils/Cargo.toml programs/extrautils/src/bin/%.rs $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,7 +0,0 @@
|
|||
installer: \
|
||||
filesystem/bin/redox_installer
|
||||
|
||||
filesystem/bin/redox_installer: installer/Cargo.toml installer/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin redox_installer $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,11 +0,0 @@
|
|||
ion: \
|
||||
filesystem/bin/ion \
|
||||
filesystem/bin/sh
|
||||
|
||||
filesystem/test/ion: programs/ion/Cargo.toml programs/ion/src/** $(BUILD)/libstd.rlib $(BUILD)/libtest.rlib
|
||||
mkdir -p filesystem/test
|
||||
$(CARGO) test --no-run --manifest-path $< $(CARGOFLAGS)
|
||||
cp programs/ion/target/$(TARGET)/release/deps/ion-* $@
|
||||
|
||||
filesystem/bin/sh: filesystem/bin/ion
|
||||
cp $< $@
|
|
@ -1,49 +0,0 @@
|
|||
userspace: \
|
||||
drivers \
|
||||
coreutils \
|
||||
extrautils \
|
||||
installer \
|
||||
ion \
|
||||
netutils \
|
||||
orbutils \
|
||||
pkgutils \
|
||||
userutils \
|
||||
schemes \
|
||||
filesystem/bin/acid \
|
||||
filesystem/bin/contain \
|
||||
filesystem/bin/smith \
|
||||
filesystem/bin/timeout \
|
||||
filesystem/ui/bin/orbterm \
|
||||
filesystem/ui/bin/sodium
|
||||
|
||||
include mk/userspace/coreutils.mk
|
||||
include mk/userspace/drivers.mk
|
||||
include mk/userspace/extrautils.mk
|
||||
include mk/userspace/installer.mk
|
||||
include mk/userspace/ion.mk
|
||||
include mk/userspace/netutils.mk
|
||||
include mk/userspace/orbutils.mk
|
||||
include mk/userspace/pkgutils.mk
|
||||
include mk/userspace/schemes.mk
|
||||
include mk/userspace/userutils.mk
|
||||
|
||||
$(BUILD)/libstd.rlib: rust/src/libstd/Cargo.toml rust/src/libstd/**
|
||||
mkdir -p $(BUILD)
|
||||
$(CARGO) rustc --manifest-path $< --features "panic-unwind" $(CARGOFLAGS) -L native=libc-artifacts/usr/lib -o $@
|
||||
cp rust/src/target/$(TARGET)/release/deps/*.rlib $(BUILD)
|
||||
|
||||
$(BUILD)/libtest.rlib: rust/src/libtest/Cargo.toml rust/src/libtest/** $(BUILD)/libstd.rlib
|
||||
mkdir -p $(BUILD)
|
||||
$(CARGO) rustc --manifest-path $< $(CARGOFLAGS) -L native=libc-artifacts/usr/lib -o $@
|
||||
cp rust/src/target/$(TARGET)/release/deps/*.rlib $(BUILD)
|
||||
|
||||
filesystem/bin/%: programs/%/Cargo.toml programs/%/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
|
||||
filesystem/ui/bin/%: programs/%/Cargo.toml programs/%/src/**.rs $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/ui/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
netutils: \
|
||||
filesystem/bin/dhcpd \
|
||||
filesystem/bin/dns \
|
||||
filesystem/bin/httpd \
|
||||
filesystem/bin/irc \
|
||||
filesystem/bin/nc \
|
||||
filesystem/bin/ntp \
|
||||
filesystem/bin/telnetd \
|
||||
filesystem/bin/wget
|
||||
|
||||
filesystem/bin/%: programs/netutils/Cargo.toml programs/netutils/src/%/**.rs $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,15 +0,0 @@
|
|||
orbutils: \
|
||||
filesystem/ui/bin/browser \
|
||||
filesystem/ui/bin/calculator \
|
||||
filesystem/ui/bin/character_map \
|
||||
filesystem/ui/bin/editor \
|
||||
filesystem/ui/bin/file_manager \
|
||||
filesystem/ui/bin/launcher \
|
||||
filesystem/ui/bin/orblogin \
|
||||
filesystem/ui/bin/orbterm \
|
||||
filesystem/ui/bin/viewer
|
||||
|
||||
filesystem/ui/bin/%: programs/orbutils/Cargo.toml programs/orbutils/src/%/**.rs $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/ui/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,7 +0,0 @@
|
|||
pkgutils: \
|
||||
filesystem/bin/pkg
|
||||
|
||||
filesystem/bin/%: programs/pkgutils/Cargo.toml programs/pkgutils/src/*.rs programs/pkgutils/src/bin/%.rs $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,25 +0,0 @@
|
|||
schemes: \
|
||||
filesystem/sbin/ethernetd \
|
||||
filesystem/sbin/ipd \
|
||||
filesystem/sbin/orbital \
|
||||
filesystem/sbin/ptyd \
|
||||
filesystem/sbin/randd \
|
||||
filesystem/sbin/redoxfs \
|
||||
filesystem/sbin/redoxfs-mkfs \
|
||||
filesystem/sbin/tcpd \
|
||||
filesystem/sbin/udpd
|
||||
|
||||
initfs/bin/%: schemes/%/Cargo.toml schemes/%/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p initfs/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
|
||||
filesystem/sbin/%: schemes/%/Cargo.toml schemes/%/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/sbin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
||||
|
||||
filesystem/sbin/redoxfs-mkfs: schemes/redoxfs/Cargo.toml schemes/redoxfs/src/** $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin redoxfs-mkfs $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,13 +0,0 @@
|
|||
userutils: \
|
||||
filesystem/bin/getty \
|
||||
filesystem/bin/id \
|
||||
filesystem/bin/login \
|
||||
filesystem/bin/passwd \
|
||||
filesystem/bin/su \
|
||||
filesystem/bin/sudo \
|
||||
filesystem/bin/whoami
|
||||
|
||||
filesystem/bin/%: programs/userutils/Cargo.toml programs/userutils/src/bin/%.rs $(BUILD)/libstd.rlib
|
||||
mkdir -p filesystem/bin
|
||||
$(CARGO) rustc --manifest-path $< --bin $* $(CARGOFLAGS) -o $@
|
||||
$(STRIP) $@
|
|
@ -1,84 +0,0 @@
|
|||
\documentclass[11pt]{article}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage{amsmath, amsfonts, amssymb, amsthm, url, lmodern, color, graphicx}
|
||||
|
||||
\title{Redox and system calls -- a multi-level kernel space}
|
||||
\author{Redox OS developers}
|
||||
\date{\today}
|
||||
|
||||
\begin{document}
|
||||
\maketitle
|
||||
|
||||
%%% DISCLAIMER %%%
|
||||
|
||||
\begin{titlepage}
|
||||
\centering \huge\bfseries The following document is an incomplete draft.
|
||||
\end{titlepage}
|
||||
|
||||
%%% START OF DOCUMENT %%%
|
||||
|
||||
\maketitle
|
||||
|
||||
\begin{abstract}
|
||||
In this paper, we review Redox's core system call interface. Redox has
|
||||
multiple levels of kernel space, and the top one consists of a very
|
||||
minimal system call interface, which we go over here.
|
||||
\end{abstract}
|
||||
|
||||
\section{Introduction}
|
||||
TODO
|
||||
|
||||
\section{Executing system calls}
|
||||
We allow multiplied system calls, a generalized version of concept of
|
||||
multicalls in the \emph{kqueue} system call.
|
||||
|
||||
Depending on the platform, system calls might be sent through interrupts or
|
||||
\texttt{sysenter}. What we are really interested in, though, is the state
|
||||
when we leave user space.
|
||||
|
||||
\begin{description}
|
||||
\item [\texttt{rax}/\texttt{eax}] stores the pointer to the array of system calls.
|
||||
\item [\texttt{rbx}/\texttt{ebx}] stores the number of system calls in
|
||||
this bundle.
|
||||
\end{description}
|
||||
|
||||
\section{The interface}
|
||||
Each entry in this system call bundle buffer needs an ABI representation.
|
||||
We represent the interface for the \emph{core system calls}.
|
||||
|
||||
The representation is as follows:
|
||||
|
||||
\begin{description}
|
||||
\item [The system call ID] this is an unsigned 16-bit integer
|
||||
representing which system call is used.
|
||||
\item [First argument] this 64-bit integer is used as defined by the
|
||||
system call.
|
||||
\item [Second argument] this 64-bit integer is used as defined by the
|
||||
system call.
|
||||
\end{description}
|
||||
|
||||
The return value of the system call is placed in the respective element.
|
||||
|
||||
\subsection{Access management}
|
||||
The memory access management is a set of system calls taken pointer and
|
||||
size, respectively.
|
||||
|
||||
It contains of four calls:
|
||||
|
||||
\begin{description}
|
||||
\item [Make memory readable].
|
||||
\item [Make memory unreadable].
|
||||
\item [Make memory writable].
|
||||
\item [Make memory unwritable].
|
||||
\item [Make memory executable].
|
||||
\item [Make memory unexecutable].
|
||||
\end{description}
|
||||
|
||||
\subsection{Access management}
|
||||
|
||||
%%% BIBLIOGRAPHY %%%
|
||||
|
||||
\begin{thebibliography}{9}
|
||||
TODO
|
||||
\end{thebibliography}
|
||||
\end{document}
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 99b7633a0a8b23befecb3703f1b7c06603cf7ba4
|
|
@ -1 +0,0 @@
|
|||
Subproject commit ce057bac70f18fe7fd004c68e58c07c1cc7174e0
|
|
@ -1,6 +0,0 @@
|
|||
[package]
|
||||
name = "contain"
|
||||
version = "0.1.0"
|
||||
|
||||
[dependencies]
|
||||
redox_syscall = "0.1"
|
|
@ -1,172 +0,0 @@
|
|||
use syscall;
|
||||
use syscall::data::{Stat, StatVfs};
|
||||
use syscall::error::{Error, EBADF, EINVAL, EPERM, Result};
|
||||
use syscall::scheme::Scheme;
|
||||
|
||||
use std::str;
|
||||
use std::path::PathBuf;
|
||||
|
||||
pub struct ChrootScheme {
|
||||
root: PathBuf
|
||||
}
|
||||
|
||||
impl ChrootScheme {
|
||||
pub fn new(root: PathBuf) -> ChrootScheme {
|
||||
ChrootScheme {
|
||||
root: root
|
||||
}
|
||||
}
|
||||
|
||||
fn translate(&self, path: &[u8]) -> Result<String> {
|
||||
let path = str::from_utf8(path).or(Err(Error::new(EINVAL)))?;
|
||||
let mut translated = self.root.clone();
|
||||
translated.push(path.trim_left_matches('/'));
|
||||
if translated.starts_with(&self.root) {
|
||||
translated.into_os_string().into_string().or(Err(Error::new(EINVAL)))
|
||||
} else {
|
||||
println!("escaped chroot");
|
||||
Err(Error::new(EPERM))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Scheme for ChrootScheme {
|
||||
fn open(&self, path: &[u8], flags: usize, uid: u32, gid: u32) -> Result<usize> {
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, uid as usize)?;
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, gid as usize)?;
|
||||
}
|
||||
let res = syscall::open(&self.translate(path)?, flags);
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, 0).unwrap();
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, 0).unwrap();
|
||||
}
|
||||
res
|
||||
}
|
||||
|
||||
fn chmod(&self, path: &[u8], mode: u16, uid: u32, gid: u32) -> Result<usize> {
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, uid as usize)?;
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, gid as usize)?;
|
||||
}
|
||||
let res = syscall::chmod(&self.translate(path)?, mode as usize);
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, 0).unwrap();
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, 0).unwrap();
|
||||
}
|
||||
res
|
||||
}
|
||||
|
||||
fn rmdir(&self, path: &[u8], uid: u32, gid: u32) -> Result<usize> {
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, uid as usize)?;
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, gid as usize)?;
|
||||
}
|
||||
let res = syscall::rmdir(&self.translate(path)?);
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, 0).unwrap();
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, 0).unwrap();
|
||||
}
|
||||
res
|
||||
}
|
||||
|
||||
fn unlink(&self, path: &[u8], uid: u32, gid: u32) -> Result<usize> {
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, uid as usize)?;
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, gid as usize)?;
|
||||
}
|
||||
let res = syscall::unlink(&self.translate(path)?);
|
||||
if uid != 0 {
|
||||
syscall::setreuid(0, 0).unwrap();
|
||||
}
|
||||
if gid != 0 {
|
||||
syscall::setregid(0, 0).unwrap();
|
||||
}
|
||||
res
|
||||
}
|
||||
|
||||
/* Resource operations */
|
||||
fn dup(&self, old_id: usize, buf: &[u8]) -> Result<usize> {
|
||||
syscall::dup(old_id, buf)
|
||||
}
|
||||
|
||||
fn read(&self, id: usize, buf: &mut [u8]) -> Result<usize> {
|
||||
syscall::read(id, buf)
|
||||
}
|
||||
|
||||
fn write(&self, id: usize, buf: &[u8]) -> Result<usize> {
|
||||
syscall::write(id, buf)
|
||||
}
|
||||
|
||||
fn seek(&self, id: usize, pos: usize, whence: usize) -> Result<usize> {
|
||||
syscall::lseek(id, pos as isize, whence)
|
||||
}
|
||||
|
||||
fn fcntl(&self, id: usize, cmd: usize, arg: usize) -> Result<usize> {
|
||||
syscall::fcntl(id, cmd, arg)
|
||||
}
|
||||
|
||||
fn fevent(&self, _id: usize, _flags: usize) -> Result<usize> {
|
||||
//TODO
|
||||
Err(Error::new(EBADF))
|
||||
}
|
||||
|
||||
fn fmap(&self, _id: usize, _offset: usize, _size: usize) -> Result<usize> {
|
||||
//TODO
|
||||
Err(Error::new(EBADF))
|
||||
}
|
||||
|
||||
fn fpath(&self, id: usize, buf: &mut [u8]) -> Result<usize> {
|
||||
let count = syscall::fpath(id, buf)?;
|
||||
|
||||
let translated = {
|
||||
let path = str::from_utf8(&buf[.. count]).or(Err(Error::new(EINVAL)))?;
|
||||
let translated = path.to_string().replace(self.root.to_str().ok_or(Error::new(EINVAL))?, "");
|
||||
format!("file:{}", translated.trim_left_matches('/'))
|
||||
};
|
||||
|
||||
let path = translated.as_bytes();
|
||||
|
||||
let mut i = 0;
|
||||
while i < buf.len() && i < path.len() {
|
||||
buf[i] = path[i];
|
||||
i += 1;
|
||||
}
|
||||
|
||||
Ok(i)
|
||||
}
|
||||
|
||||
fn fstat(&self, id: usize, stat: &mut Stat) -> Result<usize> {
|
||||
syscall::fstat(id, stat)
|
||||
}
|
||||
|
||||
fn fstatvfs(&self, id: usize, stat: &mut StatVfs) -> Result<usize> {
|
||||
syscall::fstatvfs(id, stat)
|
||||
}
|
||||
|
||||
fn fsync(&self, id: usize) -> Result<usize> {
|
||||
syscall::fsync(id)
|
||||
}
|
||||
|
||||
fn ftruncate(&self, id: usize, len: usize) -> Result<usize> {
|
||||
syscall::ftruncate(id, len)
|
||||
}
|
||||
|
||||
fn close(&self, id: usize) -> Result<usize> {
|
||||
syscall::close(id)
|
||||
}
|
||||
}
|
|
@ -1,97 +0,0 @@
|
|||
extern crate syscall;
|
||||
|
||||
use syscall::scheme::Scheme;
|
||||
|
||||
use std::{env, fs,thread};
|
||||
use std::io::{stderr, Write};
|
||||
use std::os::unix::process::CommandExt;
|
||||
use std::path::Path;
|
||||
use std::process::{self, Command};
|
||||
|
||||
use self::chroot::ChrootScheme;
|
||||
|
||||
mod chroot;
|
||||
|
||||
fn usage() -> ! {
|
||||
write!(stderr(), "contain root cmd args..\n").unwrap();
|
||||
process::exit(1);
|
||||
}
|
||||
|
||||
fn enter(root: &Path, cmd: &str, args: &[String]) {
|
||||
let names = [
|
||||
"pty",
|
||||
"rand",
|
||||
"tcp",
|
||||
"udp"
|
||||
];
|
||||
|
||||
let mut name_ptrs = Vec::new();
|
||||
for name in names.iter() {
|
||||
name_ptrs.push([name.as_ptr() as usize, name.len()]);
|
||||
}
|
||||
|
||||
let new_ns = syscall::mkns(&name_ptrs).unwrap();
|
||||
|
||||
let root_canon = fs::canonicalize(root).unwrap();
|
||||
let root_thread = thread::spawn(move || {
|
||||
syscall::setrens(-1isize as usize, new_ns).unwrap();
|
||||
let scheme_fd = syscall::open(":file", syscall::O_CREAT | syscall::O_RDWR | syscall::O_CLOEXEC).unwrap();
|
||||
syscall::setrens(-1isize as usize, syscall::getns().unwrap()).unwrap();
|
||||
|
||||
let chroot_scheme = ChrootScheme::new(root_canon);
|
||||
loop {
|
||||
let mut packet = syscall::Packet::default();
|
||||
if syscall::read(scheme_fd, &mut packet).unwrap() == 0 {
|
||||
break;
|
||||
}
|
||||
chroot_scheme.handle(&mut packet);
|
||||
syscall::write(scheme_fd, &packet).unwrap();
|
||||
}
|
||||
|
||||
let _ = syscall::close(scheme_fd);
|
||||
});
|
||||
|
||||
let pid = unsafe { syscall::clone(0).unwrap() };
|
||||
if pid == 0 {
|
||||
syscall::setrens(new_ns, new_ns).unwrap();
|
||||
|
||||
println!("Container {}: enter: {}", new_ns, cmd);
|
||||
|
||||
let mut command = Command::new(&cmd);
|
||||
for arg in args {
|
||||
command.arg(&arg);
|
||||
}
|
||||
command.current_dir("/");
|
||||
|
||||
let err = command.exec();
|
||||
|
||||
panic!("contain: failed to launch {}: {}", cmd, err);
|
||||
} else {
|
||||
let mut status = 0;
|
||||
syscall::waitpid(pid, &mut status, 0).unwrap();
|
||||
|
||||
loop {
|
||||
let mut c_status = 0;
|
||||
let c_pid = syscall::waitpid(0, &mut c_status, syscall::WNOHANG).unwrap();
|
||||
if c_pid == 0 {
|
||||
break;
|
||||
} else {
|
||||
println!("Container zombie {}: {:X}", c_pid, c_status);
|
||||
}
|
||||
}
|
||||
|
||||
println!("Container {}: exit: {:X}", new_ns, status);
|
||||
}
|
||||
}
|
||||
|
||||
pub fn main() {
|
||||
let mut args = env::args().skip(1);
|
||||
|
||||
if let Some(root) = args.next() {
|
||||
let cmd = args.next().unwrap_or("login".to_string());
|
||||
let args: Vec<String> = args.collect();
|
||||
enter(Path::new(&root), &cmd, &args);
|
||||
} else {
|
||||
usage();
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
Subproject commit bc953d8f25da20bd691b1855bc382cdd00a8603b
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 3f7d5027883169385086ea674be4127e7962e5b9
|
|
@ -1 +0,0 @@
|
|||
Subproject commit c4984dc276bf5776f544b5f9f6996330e3ca4b51
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 032a45c55242aebaa9f6a03fa9d11da881bfcb1f
|
|
@ -1 +0,0 @@
|
|||
Subproject commit ae73d27b07db96c6e6520c559ba03c117e048b43
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 074c900be31586f405cc46503a807e7ab8a7a2bb
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 4143dcf160648a048d579553ab29ba18fb47c23c
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 99c5e04e24084244b5d02b29ee95041b4d02bbf6
|
|
@ -1 +0,0 @@
|
|||
Subproject commit b9c10c980e1724270b7e90d3c2d4999c398814b8
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 9e39ff178cf9abb5b09812b377082f3a5bb847b7
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 86fc766160cf2a0996f1ca6de6e301c35807f7fb
|
|
@ -1,8 +0,0 @@
|
|||
[package]
|
||||
name = "timeout"
|
||||
version = "0.1.0"
|
||||
authors = ["Jeremy Soller <jackpot51@gmail.com>"]
|
||||
|
||||
[dependencies]
|
||||
redox_event = { git = "https://github.com/redox-os/event.git" }
|
||||
redox_syscall = "0.1"
|
|
@ -1,44 +0,0 @@
|
|||
extern crate event;
|
||||
extern crate syscall;
|
||||
|
||||
use event::EventQueue;
|
||||
use std::fs::File;
|
||||
use std::io::{Result, Read, Write};
|
||||
use std::mem;
|
||||
use std::os::unix::io::AsRawFd;
|
||||
use syscall::data::TimeSpec;
|
||||
use syscall::flag::CLOCK_MONOTONIC;
|
||||
|
||||
fn main() {
|
||||
let mut event_queue = EventQueue::<TimeSpec>::new().expect("timeout: failed to create event queue");
|
||||
|
||||
let path = format!("time:{}", CLOCK_MONOTONIC);
|
||||
|
||||
let mut file = File::open(&path).expect(&format!("timeout: failed to open {}", path));
|
||||
|
||||
let mut timeout = TimeSpec::default();
|
||||
file.read(&mut timeout).unwrap();
|
||||
println!("Current: {:?}", timeout);
|
||||
|
||||
timeout.tv_sec += 1;
|
||||
println!("Setting timeout: {:?}", timeout);
|
||||
file.write(&timeout).unwrap();
|
||||
|
||||
event_queue.add(file.as_raw_fd(), move |_count: usize| -> Result<Option<TimeSpec>> {
|
||||
let mut time = TimeSpec::default();
|
||||
if file.read(&mut time)? >= mem::size_of::<TimeSpec>() {
|
||||
if time.tv_sec > timeout.tv_sec
|
||||
|| (time.tv_sec == timeout.tv_sec && time.tv_nsec >= timeout.tv_nsec )
|
||||
{
|
||||
return Ok(Some(time))
|
||||
}
|
||||
}
|
||||
Ok(None)
|
||||
}).expect("timeout: failed to poll time");
|
||||
|
||||
event_queue.trigger_all(0).expect("timeout: failed to trigger events");
|
||||
|
||||
let time = event_queue.run().expect("timeout: failed to run event loop");
|
||||
|
||||
println!("Time passed: {:?}", time);
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
Subproject commit 3ca18917f88130f4734bcb4643a410e62e6cb24c
|
Binary file not shown.
Binary file not shown.
|
@ -1,187 +0,0 @@
|
|||
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
|
||||
Glyphs imported from Arev fonts are (c) Tavmjong Bah (see below)
|
||||
|
||||
|
||||
Bitstream Vera Fonts Copyright
|
||||
------------------------------
|
||||
|
||||
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is
|
||||
a trademark of Bitstream, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of the fonts accompanying this license ("Fonts") and associated
|
||||
documentation files (the "Font Software"), to reproduce and distribute the
|
||||
Font Software, including without limitation the rights to use, copy, merge,
|
||||
publish, distribute, and/or sell copies of the Font Software, and to permit
|
||||
persons to whom the Font Software is furnished to do so, subject to the
|
||||
following conditions:
|
||||
|
||||
The above copyright and trademark notices and this permission notice shall
|
||||
be included in all copies of one or more of the Font Software typefaces.
|
||||
|
||||
The Font Software may be modified, altered, or added to, and in particular
|
||||
the designs of glyphs or characters in the Fonts may be modified and
|
||||
additional glyphs or characters may be added to the Fonts, only if the fonts
|
||||
are renamed to names not containing either the words "Bitstream" or the word
|
||||
"Vera".
|
||||
|
||||
This License becomes null and void to the extent applicable to Fonts or Font
|
||||
Software that has been modified and is distributed under the "Bitstream
|
||||
Vera" names.
|
||||
|
||||
The Font Software may be sold as part of a larger software package but no
|
||||
copy of one or more of the Font Software typefaces may be sold by itself.
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
||||
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
|
||||
FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING
|
||||
ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE
|
||||
FONT SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the names of Gnome, the Gnome
|
||||
Foundation, and Bitstream Inc., shall not be used in advertising or
|
||||
otherwise to promote the sale, use or other dealings in this Font Software
|
||||
without prior written authorization from the Gnome Foundation or Bitstream
|
||||
Inc., respectively. For further information, contact: fonts at gnome dot
|
||||
org.
|
||||
|
||||
Arev Fonts Copyright
|
||||
------------------------------
|
||||
|
||||
Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the fonts accompanying this license ("Fonts") and
|
||||
associated documentation files (the "Font Software"), to reproduce
|
||||
and distribute the modifications to the Bitstream Vera Font Software,
|
||||
including without limitation the rights to use, copy, merge, publish,
|
||||
distribute, and/or sell copies of the Font Software, and to permit
|
||||
persons to whom the Font Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright and trademark notices and this permission notice
|
||||
shall be included in all copies of one or more of the Font Software
|
||||
typefaces.
|
||||
|
||||
The Font Software may be modified, altered, or added to, and in
|
||||
particular the designs of glyphs or characters in the Fonts may be
|
||||
modified and additional glyphs or characters may be added to the
|
||||
Fonts, only if the fonts are renamed to names not containing either
|
||||
the words "Tavmjong Bah" or the word "Arev".
|
||||
|
||||
This License becomes null and void to the extent applicable to Fonts
|
||||
or Font Software that has been modified and is distributed under the
|
||||
"Tavmjong Bah Arev" names.
|
||||
|
||||
The Font Software may be sold as part of a larger software package but
|
||||
no copy of one or more of the Font Software typefaces may be sold by
|
||||
itself.
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL
|
||||
TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
|
||||
Except as contained in this notice, the name of Tavmjong Bah shall not
|
||||
be used in advertising or otherwise to promote the sale, use or other
|
||||
dealings in this Font Software without prior written authorization
|
||||
from Tavmjong Bah. For further information, contact: tavmjong @ free
|
||||
. fr.
|
||||
|
||||
TeX Gyre DJV Math
|
||||
-----------------
|
||||
Fonts are (c) Bitstream (see below). DejaVu changes are in public domain.
|
||||
|
||||
Math extensions done by B. Jackowski, P. Strzelczyk and P. Pianowski
|
||||
(on behalf of TeX users groups) are in public domain.
|
||||
|
||||
Letters imported from Euler Fraktur from AMSfonts are (c) American
|
||||
Mathematical Society (see below).
|
||||
Bitstream Vera Fonts Copyright
|
||||
Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera
|
||||
is a trademark of Bitstream, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of the fonts accompanying this license (“Fonts”) and associated
|
||||
documentation
|
||||
files (the “Font Software”), to reproduce and distribute the Font Software,
|
||||
including without limitation the rights to use, copy, merge, publish,
|
||||
distribute,
|
||||
and/or sell copies of the Font Software, and to permit persons to whom
|
||||
the Font Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright and trademark notices and this permission notice
|
||||
shall be
|
||||
included in all copies of one or more of the Font Software typefaces.
|
||||
|
||||
The Font Software may be modified, altered, or added to, and in particular
|
||||
the designs of glyphs or characters in the Fonts may be modified and
|
||||
additional
|
||||
glyphs or characters may be added to the Fonts, only if the fonts are
|
||||
renamed
|
||||
to names not containing either the words “Bitstream” or the word “Vera”.
|
||||
|
||||
This License becomes null and void to the extent applicable to Fonts or
|
||||
Font Software
|
||||
that has been modified and is distributed under the “Bitstream Vera”
|
||||
names.
|
||||
|
||||
The Font Software may be sold as part of a larger software package but
|
||||
no copy
|
||||
of one or more of the Font Software typefaces may be sold by itself.
|
||||
|
||||
THE FONT SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT,
|
||||
TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME
|
||||
FOUNDATION
|
||||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL,
|
||||
SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN
|
||||
ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR
|
||||
INABILITY TO USE
|
||||
THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
Except as contained in this notice, the names of GNOME, the GNOME
|
||||
Foundation,
|
||||
and Bitstream Inc., shall not be used in advertising or otherwise to promote
|
||||
the sale, use or other dealings in this Font Software without prior written
|
||||
authorization from the GNOME Foundation or Bitstream Inc., respectively.
|
||||
For further information, contact: fonts at gnome dot org.
|
||||
|
||||
AMSFonts (v. 2.2) copyright
|
||||
|
||||
The PostScript Type 1 implementation of the AMSFonts produced by and
|
||||
previously distributed by Blue Sky Research and Y&Y, Inc. are now freely
|
||||
available for general use. This has been accomplished through the
|
||||
cooperation
|
||||
of a consortium of scientific publishers with Blue Sky Research and Y&Y.
|
||||
Members of this consortium include:
|
||||
|
||||
Elsevier Science IBM Corporation Society for Industrial and Applied
|
||||
Mathematics (SIAM) Springer-Verlag American Mathematical Society (AMS)
|
||||
|
||||
In order to assure the authenticity of these fonts, copyright will be
|
||||
held by
|
||||
the American Mathematical Society. This is not meant to restrict in any way
|
||||
the legitimate use of the fonts, such as (but not limited to) electronic
|
||||
distribution of documents containing these fonts, inclusion of these fonts
|
||||
into other public domain or commercial font collections or computer
|
||||
applications, use of the outline data to create derivative fonts and/or
|
||||
faces, etc. However, the AMS does require that the AMS copyright notice be
|
||||
removed from any derivative versions of the fonts which have been altered in
|
||||
any way. In addition, to ensure the fidelity of TeX documents using Computer
|
||||
Modern fonts, Professor Donald Knuth, creator of the Computer Modern faces,
|
||||
has requested that any alterations which yield different font metrics be
|
||||
given a different name.
|
||||
|
||||
$Id$
|
Binary file not shown.
Binary file not shown.
21
rustc.sh
21
rustc.sh
|
@ -1,21 +0,0 @@
|
|||
#!/bin/bash
|
||||
have_o=false
|
||||
for arg in "$@"; do
|
||||
if [[ "$arg" = "-o" ]]; then
|
||||
have_o=true
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
args=()
|
||||
for arg in "$@"; do
|
||||
if [[ $have_o = true && "$arg" =~ ^extra-filename= ]]; then
|
||||
unset args[${#args[@]}-1]
|
||||
elif [[ $have_o = true && "$arg" =~ ^--emit= ]]; then
|
||||
args+=("--emit=link")
|
||||
else
|
||||
args+=("$arg")
|
||||
fi
|
||||
done
|
||||
|
||||
RUST_BACKTRACE=1 exec rustc -L build/userspace "${args[@]}"
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/bash
|
||||
RUST_BACKTRACE=1 rustdoc -L build/userspace $*
|
|
@ -1,5 +0,0 @@
|
|||
max_width = 200
|
||||
ideal_width = 100
|
||||
fn_call_width = 80
|
||||
wrap_match_arms = false
|
||||
write_mode = "Overwrite"
|
|
@ -1,8 +0,0 @@
|
|||
[package]
|
||||
name = "ethernetd"
|
||||
version = "0.1.0"
|
||||
|
||||
[dependencies]
|
||||
netutils = { git = "https://github.com/redox-os/netutils.git" }
|
||||
redox_event = { git = "https://github.com/redox-os/event.git" }
|
||||
redox_syscall = "0.1"
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue