about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--Readme.md4
-rwxr-xr-xclean2
-rw-r--r--tools/iso/kernel.soso/LICENSE (renamed from kernel.soso/LICENSE)0
-rw-r--r--tools/iso/kernel.soso/Makefile (renamed from kernel.soso/Makefile)0
-rw-r--r--tools/iso/kernel.soso/Readme (renamed from kernel.soso/Readme)0
-rw-r--r--tools/iso/kernel.soso/alloc.c (renamed from kernel.soso/alloc.c)0
-rw-r--r--tools/iso/kernel.soso/alloc.h (renamed from kernel.soso/alloc.h)0
-rw-r--r--tools/iso/kernel.soso/boot.asm (renamed from kernel.soso/boot.asm)0
-rw-r--r--tools/iso/kernel.soso/common.c (renamed from kernel.soso/common.c)0
-rw-r--r--tools/iso/kernel.soso/common.h (renamed from kernel.soso/common.h)0
-rw-r--r--tools/iso/kernel.soso/commonuser.h (renamed from kernel.soso/commonuser.h)0
-rw-r--r--tools/iso/kernel.soso/debugprint.c (renamed from kernel.soso/debugprint.c)0
-rw-r--r--tools/iso/kernel.soso/debugprint.h (renamed from kernel.soso/debugprint.h)0
-rw-r--r--tools/iso/kernel.soso/descriptortables.c (renamed from kernel.soso/descriptortables.c)0
-rw-r--r--tools/iso/kernel.soso/descriptortables.h (renamed from kernel.soso/descriptortables.h)0
-rw-r--r--tools/iso/kernel.soso/devfs.c (renamed from kernel.soso/devfs.c)0
-rw-r--r--tools/iso/kernel.soso/devfs.h (renamed from kernel.soso/devfs.h)0
-rw-r--r--tools/iso/kernel.soso/device.h (renamed from kernel.soso/device.h)0
-rw-r--r--tools/iso/kernel.soso/elf.c (renamed from kernel.soso/elf.c)0
-rw-r--r--tools/iso/kernel.soso/elf.h (renamed from kernel.soso/elf.h)0
-rw-r--r--tools/iso/kernel.soso/fatfilesystem.c (renamed from kernel.soso/fatfilesystem.c)0
-rw-r--r--tools/iso/kernel.soso/fatfilesystem.h (renamed from kernel.soso/fatfilesystem.h)0
-rw-r--r--tools/iso/kernel.soso/fatfs_diskio.h (renamed from kernel.soso/fatfs_diskio.h)0
-rw-r--r--tools/iso/kernel.soso/fatfs_ff.c (renamed from kernel.soso/fatfs_ff.c)0
-rw-r--r--tools/iso/kernel.soso/fatfs_ff.h (renamed from kernel.soso/fatfs_ff.h)0
-rw-r--r--tools/iso/kernel.soso/fatfs_ffconf.h (renamed from kernel.soso/fatfs_ffconf.h)0
-rw-r--r--tools/iso/kernel.soso/fatfs_ffunicode.c (renamed from kernel.soso/fatfs_ffunicode.c)0
-rw-r--r--tools/iso/kernel.soso/fatfs_integer.h (renamed from kernel.soso/fatfs_integer.h)0
-rw-r--r--tools/iso/kernel.soso/fifobuffer.c (renamed from kernel.soso/fifobuffer.c)0
-rw-r--r--tools/iso/kernel.soso/fifobuffer.h (renamed from kernel.soso/fifobuffer.h)0
-rw-r--r--tools/iso/kernel.soso/font/font.o (renamed from kernel.soso/font/font.o)bin33232 -> 33232 bytes
-rw-r--r--tools/iso/kernel.soso/font/font.psf (renamed from kernel.soso/font/font.psf)bin32800 -> 32800 bytes
-rw-r--r--tools/iso/kernel.soso/framebuffer.c (renamed from kernel.soso/framebuffer.c)0
-rw-r--r--tools/iso/kernel.soso/framebuffer.h (renamed from kernel.soso/framebuffer.h)0
-rw-r--r--tools/iso/kernel.soso/fs.c (renamed from kernel.soso/fs.c)0
-rw-r--r--tools/iso/kernel.soso/fs.h (renamed from kernel.soso/fs.h)0
-rw-r--r--tools/iso/kernel.soso/gdt.asm (renamed from kernel.soso/gdt.asm)0
-rw-r--r--tools/iso/kernel.soso/gfx.c (renamed from kernel.soso/gfx.c)0
-rw-r--r--tools/iso/kernel.soso/gfx.h (renamed from kernel.soso/gfx.h)0
-rw-r--r--tools/iso/kernel.soso/grub.cfg (renamed from kernel.soso/grub.cfg)0
-rw-r--r--tools/iso/kernel.soso/hashtable.c (renamed from kernel.soso/hashtable.c)0
-rw-r--r--tools/iso/kernel.soso/hashtable.h (renamed from kernel.soso/hashtable.h)0
-rw-r--r--tools/iso/kernel.soso/interrupt.asm (renamed from kernel.soso/interrupt.asm)0
-rw-r--r--tools/iso/kernel.soso/isr.c (renamed from kernel.soso/isr.c)0
-rw-r--r--tools/iso/kernel.soso/isr.h (renamed from kernel.soso/isr.h)0
-rw-r--r--tools/iso/kernel.soso/keyboard.c (renamed from kernel.soso/keyboard.c)0
-rw-r--r--tools/iso/kernel.soso/keyboard.h (renamed from kernel.soso/keyboard.h)0
-rw-r--r--tools/iso/kernel.soso/link.ld (renamed from kernel.soso/link.ld)0
-rw-r--r--tools/iso/kernel.soso/list.c (renamed from kernel.soso/list.c)0
-rw-r--r--tools/iso/kernel.soso/list.h (renamed from kernel.soso/list.h)0
-rw-r--r--tools/iso/kernel.soso/main.c (renamed from kernel.soso/main.c)0
-rw-r--r--tools/iso/kernel.soso/message.c (renamed from kernel.soso/message.c)0
-rw-r--r--tools/iso/kernel.soso/message.h (renamed from kernel.soso/message.h)0
-rw-r--r--tools/iso/kernel.soso/mouse.c (renamed from kernel.soso/mouse.c)0
-rw-r--r--tools/iso/kernel.soso/mouse.h (renamed from kernel.soso/mouse.h)0
-rw-r--r--tools/iso/kernel.soso/multiboot.h (renamed from kernel.soso/multiboot.h)0
-rw-r--r--tools/iso/kernel.soso/null.c (renamed from kernel.soso/null.c)0
-rw-r--r--tools/iso/kernel.soso/null.h (renamed from kernel.soso/null.h)0
-rw-r--r--tools/iso/kernel.soso/pipe.c (renamed from kernel.soso/pipe.c)0
-rw-r--r--tools/iso/kernel.soso/pipe.h (renamed from kernel.soso/pipe.h)0
-rw-r--r--tools/iso/kernel.soso/process.c (renamed from kernel.soso/process.c)0
-rw-r--r--tools/iso/kernel.soso/process.h (renamed from kernel.soso/process.h)0
-rw-r--r--tools/iso/kernel.soso/ramdisk.c (renamed from kernel.soso/ramdisk.c)0
-rw-r--r--tools/iso/kernel.soso/ramdisk.h (renamed from kernel.soso/ramdisk.h)0
-rw-r--r--tools/iso/kernel.soso/random.c (renamed from kernel.soso/random.c)0
-rw-r--r--tools/iso/kernel.soso/random.h (renamed from kernel.soso/random.h)0
-rw-r--r--tools/iso/kernel.soso/rootfs.c (renamed from kernel.soso/rootfs.c)0
-rw-r--r--tools/iso/kernel.soso/rootfs.h (renamed from kernel.soso/rootfs.h)0
-rw-r--r--tools/iso/kernel.soso/screen.c (renamed from kernel.soso/screen.c)0
-rw-r--r--tools/iso/kernel.soso/screen.h (renamed from kernel.soso/screen.h)0
-rw-r--r--tools/iso/kernel.soso/serial.c (renamed from kernel.soso/serial.c)0
-rw-r--r--tools/iso/kernel.soso/serial.h (renamed from kernel.soso/serial.h)0
-rw-r--r--tools/iso/kernel.soso/sharedmemory.c (renamed from kernel.soso/sharedmemory.c)0
-rw-r--r--tools/iso/kernel.soso/sharedmemory.h (renamed from kernel.soso/sharedmemory.h)0
-rw-r--r--tools/iso/kernel.soso/sleep.c (renamed from kernel.soso/sleep.c)0
-rw-r--r--tools/iso/kernel.soso/sleep.h (renamed from kernel.soso/sleep.h)0
-rw-r--r--tools/iso/kernel.soso/spinlock.c (renamed from kernel.soso/spinlock.c)0
-rw-r--r--tools/iso/kernel.soso/spinlock.h (renamed from kernel.soso/spinlock.h)0
-rw-r--r--tools/iso/kernel.soso/syscalls.c (renamed from kernel.soso/syscalls.c)0
-rw-r--r--tools/iso/kernel.soso/syscalls.h (renamed from kernel.soso/syscalls.h)0
-rw-r--r--tools/iso/kernel.soso/syscalltable.h (renamed from kernel.soso/syscalltable.h)0
-rw-r--r--tools/iso/kernel.soso/systemfs.c (renamed from kernel.soso/systemfs.c)0
-rw-r--r--tools/iso/kernel.soso/systemfs.h (renamed from kernel.soso/systemfs.h)0
-rw-r--r--tools/iso/kernel.soso/task.asm (renamed from kernel.soso/task.asm)0
-rw-r--r--tools/iso/kernel.soso/termios.h (renamed from kernel.soso/termios.h)0
-rw-r--r--tools/iso/kernel.soso/timer.c (renamed from kernel.soso/timer.c)0
-rw-r--r--tools/iso/kernel.soso/timer.h (renamed from kernel.soso/timer.h)0
-rw-r--r--tools/iso/kernel.soso/tty.c (renamed from kernel.soso/tty.c)0
-rw-r--r--tools/iso/kernel.soso/tty.h (renamed from kernel.soso/tty.h)0
-rw-r--r--tools/iso/kernel.soso/ttydriver.c (renamed from kernel.soso/ttydriver.c)0
-rw-r--r--tools/iso/kernel.soso/ttydriver.h (renamed from kernel.soso/ttydriver.h)0
-rw-r--r--tools/iso/kernel.soso/utils.asm (renamed from kernel.soso/utils.asm)0
-rw-r--r--tools/iso/kernel.soso/vbe.h (renamed from kernel.soso/vbe.h)0
-rw-r--r--tools/iso/kernel.soso/vimrc.vim (renamed from kernel.soso/vimrc.vim)0
-rw-r--r--tools/iso/kernel.soso/vmm.c (renamed from kernel.soso/vmm.c)0
-rw-r--r--tools/iso/kernel.soso/vmm.h (renamed from kernel.soso/vmm.h)0
-rwxr-xr-xtools/iso/soso (renamed from gen_soso_iso)12
97 files changed, 8 insertions, 10 deletions
diff --git a/Readme.md b/Readme.md
index 04bd4b5a..f1b347ed 100644
--- a/Readme.md
+++ b/Readme.md
@@ -139,10 +139,10 @@ work on a cloud server.)
 
   ```sh
   # dependencies
-  $ sudo apt install util-linux nasm xorriso  # maybe also dosfstools and mtools
+  $ sudo apt install build-essential util-linux nasm xorriso  # maybe also dosfstools and mtools
   # package up a "hello world" program with a third-party kernel into mu_soso.iso
   # requires sudo
-  $ ./gen_soso_iso init.soso apps/ex6.subx
+  $ tools/iso/soso init.soso apps/ex6.subx
   # try it out
   $ qemu-system-i386 -cdrom mu_soso.iso
   ```
diff --git a/clean b/clean
index 2dd85b9f..693599a9 100755
--- a/clean
+++ b/clean
@@ -9,4 +9,4 @@ rm -rf tools/enumerate tools/tangle tools/*_list tools/*.dSYM
 rm -rf tools/browse_trace_bin tools/treeshake tools/linkify
 rm -rf tools/termbox/*.o tools/termbox/libtermbox.a
 rm -rf tmp_linux mu_linux.iso outfs initrd.fat mu_soso.iso
-( cd kernel.soso  &&  make clean; )
+( cd tools/iso/kernel.soso  &&  make clean; )
diff --git a/kernel.soso/LICENSE b/tools/iso/kernel.soso/LICENSE
index fd7ada87..fd7ada87 100644
--- a/kernel.soso/LICENSE
+++ b/tools/iso/kernel.soso/LICENSE
diff --git a/kernel.soso/Makefile b/tools/iso/kernel.soso/Makefile
index d9f4210a..d9f4210a 100644
--- a/kernel.soso/Makefile
+++ b/tools/iso/kernel.soso/Makefile
diff --git a/kernel.soso/Readme b/tools/iso/kernel.soso/Readme
index a48f3a76..a48f3a76 100644
--- a/kernel.soso/Readme
+++ b/tools/iso/kernel.soso/Readme
diff --git a/kernel.soso/alloc.c b/tools/iso/kernel.soso/alloc.c
index 6e81b13c..6e81b13c 100644
--- a/kernel.soso/alloc.c
+++ b/tools/iso/kernel.soso/alloc.c
diff --git a/kernel.soso/alloc.h b/tools/iso/kernel.soso/alloc.h
index e4985aa5..e4985aa5 100644
--- a/kernel.soso/alloc.h
+++ b/tools/iso/kernel.soso/alloc.h
diff --git a/kernel.soso/boot.asm b/tools/iso/kernel.soso/boot.asm
index 773dd0f3..773dd0f3 100644
--- a/kernel.soso/boot.asm
+++ b/tools/iso/kernel.soso/boot.asm
diff --git a/kernel.soso/common.c b/tools/iso/kernel.soso/common.c
index 446f21a2..446f21a2 100644
--- a/kernel.soso/common.c
+++ b/tools/iso/kernel.soso/common.c
diff --git a/kernel.soso/common.h b/tools/iso/kernel.soso/common.h
index 7f04785e..7f04785e 100644
--- a/kernel.soso/common.h
+++ b/tools/iso/kernel.soso/common.h
diff --git a/kernel.soso/commonuser.h b/tools/iso/kernel.soso/commonuser.h
index 3a488ea8..3a488ea8 100644
--- a/kernel.soso/commonuser.h
+++ b/tools/iso/kernel.soso/commonuser.h
diff --git a/kernel.soso/debugprint.c b/tools/iso/kernel.soso/debugprint.c
index 186bc89f..186bc89f 100644
--- a/kernel.soso/debugprint.c
+++ b/tools/iso/kernel.soso/debugprint.c
diff --git a/kernel.soso/debugprint.h b/tools/iso/kernel.soso/debugprint.h
index 7893fef7..7893fef7 100644
--- a/kernel.soso/debugprint.h
+++ b/tools/iso/kernel.soso/debugprint.h
diff --git a/kernel.soso/descriptortables.c b/tools/iso/kernel.soso/descriptortables.c
index b6aab367..b6aab367 100644
--- a/kernel.soso/descriptortables.c
+++ b/tools/iso/kernel.soso/descriptortables.c
diff --git a/kernel.soso/descriptortables.h b/tools/iso/kernel.soso/descriptortables.h
index 0b1b6ada..0b1b6ada 100644
--- a/kernel.soso/descriptortables.h
+++ b/tools/iso/kernel.soso/descriptortables.h
diff --git a/kernel.soso/devfs.c b/tools/iso/kernel.soso/devfs.c
index bfff39cb..bfff39cb 100644
--- a/kernel.soso/devfs.c
+++ b/tools/iso/kernel.soso/devfs.c
diff --git a/kernel.soso/devfs.h b/tools/iso/kernel.soso/devfs.h
index 19b90a33..19b90a33 100644
--- a/kernel.soso/devfs.h
+++ b/tools/iso/kernel.soso/devfs.h
diff --git a/kernel.soso/device.h b/tools/iso/kernel.soso/device.h
index ac85634b..ac85634b 100644
--- a/kernel.soso/device.h
+++ b/tools/iso/kernel.soso/device.h
diff --git a/kernel.soso/elf.c b/tools/iso/kernel.soso/elf.c
index 4a0b75a8..4a0b75a8 100644
--- a/kernel.soso/elf.c
+++ b/tools/iso/kernel.soso/elf.c
diff --git a/kernel.soso/elf.h b/tools/iso/kernel.soso/elf.h
index 984d6023..984d6023 100644
--- a/kernel.soso/elf.h
+++ b/tools/iso/kernel.soso/elf.h
diff --git a/kernel.soso/fatfilesystem.c b/tools/iso/kernel.soso/fatfilesystem.c
index 9e3c2116..9e3c2116 100644
--- a/kernel.soso/fatfilesystem.c
+++ b/tools/iso/kernel.soso/fatfilesystem.c
diff --git a/kernel.soso/fatfilesystem.h b/tools/iso/kernel.soso/fatfilesystem.h
index f5f3e6f1..f5f3e6f1 100644
--- a/kernel.soso/fatfilesystem.h
+++ b/tools/iso/kernel.soso/fatfilesystem.h
diff --git a/kernel.soso/fatfs_diskio.h b/tools/iso/kernel.soso/fatfs_diskio.h
index 235cae61..235cae61 100644
--- a/kernel.soso/fatfs_diskio.h
+++ b/tools/iso/kernel.soso/fatfs_diskio.h
diff --git a/kernel.soso/fatfs_ff.c b/tools/iso/kernel.soso/fatfs_ff.c
index ec19b3ae..ec19b3ae 100644
--- a/kernel.soso/fatfs_ff.c
+++ b/tools/iso/kernel.soso/fatfs_ff.c
diff --git a/kernel.soso/fatfs_ff.h b/tools/iso/kernel.soso/fatfs_ff.h
index 187387cb..187387cb 100644
--- a/kernel.soso/fatfs_ff.h
+++ b/tools/iso/kernel.soso/fatfs_ff.h
diff --git a/kernel.soso/fatfs_ffconf.h b/tools/iso/kernel.soso/fatfs_ffconf.h
index 73ecc717..73ecc717 100644
--- a/kernel.soso/fatfs_ffconf.h
+++ b/tools/iso/kernel.soso/fatfs_ffconf.h
diff --git a/kernel.soso/fatfs_ffunicode.c b/tools/iso/kernel.soso/fatfs_ffunicode.c
index 73d0237a..73d0237a 100644
--- a/kernel.soso/fatfs_ffunicode.c
+++ b/tools/iso/kernel.soso/fatfs_ffunicode.c
diff --git a/kernel.soso/fatfs_integer.h b/tools/iso/kernel.soso/fatfs_integer.h
index 7d00a07e..7d00a07e 100644
--- a/kernel.soso/fatfs_integer.h
+++ b/tools/iso/kernel.soso/fatfs_integer.h
diff --git a/kernel.soso/fifobuffer.c b/tools/iso/kernel.soso/fifobuffer.c
index 58fd145d..58fd145d 100644
--- a/kernel.soso/fifobuffer.c
+++ b/tools/iso/kernel.soso/fifobuffer.c
diff --git a/kernel.soso/fifobuffer.h b/tools/iso/kernel.soso/fifobuffer.h
index 596cd336..596cd336 100644
--- a/kernel.soso/fifobuffer.h
+++ b/tools/iso/kernel.soso/fifobuffer.h
diff --git a/kernel.soso/font/font.o b/tools/iso/kernel.soso/font/font.o
index 389673c4..389673c4 100644
--- a/kernel.soso/font/font.o
+++ b/tools/iso/kernel.soso/font/font.o
Binary files differdiff --git a/kernel.soso/font/font.psf b/tools/iso/kernel.soso/font/font.psf
index 885d0f09..885d0f09 100644
--- a/kernel.soso/font/font.psf
+++ b/tools/iso/kernel.soso/font/font.psf
Binary files differdiff --git a/kernel.soso/framebuffer.c b/tools/iso/kernel.soso/framebuffer.c
index e57dd67d..e57dd67d 100644
--- a/kernel.soso/framebuffer.c
+++ b/tools/iso/kernel.soso/framebuffer.c
diff --git a/kernel.soso/framebuffer.h b/tools/iso/kernel.soso/framebuffer.h
index 0606712a..0606712a 100644
--- a/kernel.soso/framebuffer.h
+++ b/tools/iso/kernel.soso/framebuffer.h
diff --git a/kernel.soso/fs.c b/tools/iso/kernel.soso/fs.c
index 0d072c33..0d072c33 100644
--- a/kernel.soso/fs.c
+++ b/tools/iso/kernel.soso/fs.c
diff --git a/kernel.soso/fs.h b/tools/iso/kernel.soso/fs.h
index dac653c3..dac653c3 100644
--- a/kernel.soso/fs.h
+++ b/tools/iso/kernel.soso/fs.h
diff --git a/kernel.soso/gdt.asm b/tools/iso/kernel.soso/gdt.asm
index 54c01cfa..54c01cfa 100644
--- a/kernel.soso/gdt.asm
+++ b/tools/iso/kernel.soso/gdt.asm
diff --git a/kernel.soso/gfx.c b/tools/iso/kernel.soso/gfx.c
index 15e0ae69..15e0ae69 100644
--- a/kernel.soso/gfx.c
+++ b/tools/iso/kernel.soso/gfx.c
diff --git a/kernel.soso/gfx.h b/tools/iso/kernel.soso/gfx.h
index 8e5ef748..8e5ef748 100644
--- a/kernel.soso/gfx.h
+++ b/tools/iso/kernel.soso/gfx.h
diff --git a/kernel.soso/grub.cfg b/tools/iso/kernel.soso/grub.cfg
index e8d992d6..e8d992d6 100644
--- a/kernel.soso/grub.cfg
+++ b/tools/iso/kernel.soso/grub.cfg
diff --git a/kernel.soso/hashtable.c b/tools/iso/kernel.soso/hashtable.c
index 8b5feca0..8b5feca0 100644
--- a/kernel.soso/hashtable.c
+++ b/tools/iso/kernel.soso/hashtable.c
diff --git a/kernel.soso/hashtable.h b/tools/iso/kernel.soso/hashtable.h
index 30ae757a..30ae757a 100644
--- a/kernel.soso/hashtable.h
+++ b/tools/iso/kernel.soso/hashtable.h
diff --git a/kernel.soso/interrupt.asm b/tools/iso/kernel.soso/interrupt.asm
index 5610ca55..5610ca55 100644
--- a/kernel.soso/interrupt.asm
+++ b/tools/iso/kernel.soso/interrupt.asm
diff --git a/kernel.soso/isr.c b/tools/iso/kernel.soso/isr.c
index 448a2e55..448a2e55 100644
--- a/kernel.soso/isr.c
+++ b/tools/iso/kernel.soso/isr.c
diff --git a/kernel.soso/isr.h b/tools/iso/kernel.soso/isr.h
index dbf30311..dbf30311 100644
--- a/kernel.soso/isr.h
+++ b/tools/iso/kernel.soso/isr.h
diff --git a/kernel.soso/keyboard.c b/tools/iso/kernel.soso/keyboard.c
index 8bb7ed81..8bb7ed81 100644
--- a/kernel.soso/keyboard.c
+++ b/tools/iso/kernel.soso/keyboard.c
diff --git a/kernel.soso/keyboard.h b/tools/iso/kernel.soso/keyboard.h
index 0f28e9e3..0f28e9e3 100644
--- a/kernel.soso/keyboard.h
+++ b/tools/iso/kernel.soso/keyboard.h
diff --git a/kernel.soso/link.ld b/tools/iso/kernel.soso/link.ld
index 1787a976..1787a976 100644
--- a/kernel.soso/link.ld
+++ b/tools/iso/kernel.soso/link.ld
diff --git a/kernel.soso/list.c b/tools/iso/kernel.soso/list.c
index 5565df15..5565df15 100644
--- a/kernel.soso/list.c
+++ b/tools/iso/kernel.soso/list.c
diff --git a/kernel.soso/list.h b/tools/iso/kernel.soso/list.h
index 4e7831b2..4e7831b2 100644
--- a/kernel.soso/list.h
+++ b/tools/iso/kernel.soso/list.h
diff --git a/kernel.soso/main.c b/tools/iso/kernel.soso/main.c
index cc457469..cc457469 100644
--- a/kernel.soso/main.c
+++ b/tools/iso/kernel.soso/main.c
diff --git a/kernel.soso/message.c b/tools/iso/kernel.soso/message.c
index d4ef1b57..d4ef1b57 100644
--- a/kernel.soso/message.c
+++ b/tools/iso/kernel.soso/message.c
diff --git a/kernel.soso/message.h b/tools/iso/kernel.soso/message.h
index 84e7c670..84e7c670 100644
--- a/kernel.soso/message.h
+++ b/tools/iso/kernel.soso/message.h
diff --git a/kernel.soso/mouse.c b/tools/iso/kernel.soso/mouse.c
index 235d931d..235d931d 100644
--- a/kernel.soso/mouse.c
+++ b/tools/iso/kernel.soso/mouse.c
diff --git a/kernel.soso/mouse.h b/tools/iso/kernel.soso/mouse.h
index 573de4c7..573de4c7 100644
--- a/kernel.soso/mouse.h
+++ b/tools/iso/kernel.soso/mouse.h
diff --git a/kernel.soso/multiboot.h b/tools/iso/kernel.soso/multiboot.h
index d42e6ef8..d42e6ef8 100644
--- a/kernel.soso/multiboot.h
+++ b/tools/iso/kernel.soso/multiboot.h
diff --git a/kernel.soso/null.c b/tools/iso/kernel.soso/null.c
index aef2861c..aef2861c 100644
--- a/kernel.soso/null.c
+++ b/tools/iso/kernel.soso/null.c
diff --git a/kernel.soso/null.h b/tools/iso/kernel.soso/null.h
index fffb0aab..fffb0aab 100644
--- a/kernel.soso/null.h
+++ b/tools/iso/kernel.soso/null.h
diff --git a/kernel.soso/pipe.c b/tools/iso/kernel.soso/pipe.c
index 7141305c..7141305c 100644
--- a/kernel.soso/pipe.c
+++ b/tools/iso/kernel.soso/pipe.c
diff --git a/kernel.soso/pipe.h b/tools/iso/kernel.soso/pipe.h
index d885385e..d885385e 100644
--- a/kernel.soso/pipe.h
+++ b/tools/iso/kernel.soso/pipe.h
diff --git a/kernel.soso/process.c b/tools/iso/kernel.soso/process.c
index 7964467b..7964467b 100644
--- a/kernel.soso/process.c
+++ b/tools/iso/kernel.soso/process.c
diff --git a/kernel.soso/process.h b/tools/iso/kernel.soso/process.h
index a2979714..a2979714 100644
--- a/kernel.soso/process.h
+++ b/tools/iso/kernel.soso/process.h
diff --git a/kernel.soso/ramdisk.c b/tools/iso/kernel.soso/ramdisk.c
index d092fc99..d092fc99 100644
--- a/kernel.soso/ramdisk.c
+++ b/tools/iso/kernel.soso/ramdisk.c
diff --git a/kernel.soso/ramdisk.h b/tools/iso/kernel.soso/ramdisk.h
index 432bca11..432bca11 100644
--- a/kernel.soso/ramdisk.h
+++ b/tools/iso/kernel.soso/ramdisk.h
diff --git a/kernel.soso/random.c b/tools/iso/kernel.soso/random.c
index c78501d8..c78501d8 100644
--- a/kernel.soso/random.c
+++ b/tools/iso/kernel.soso/random.c
diff --git a/kernel.soso/random.h b/tools/iso/kernel.soso/random.h
index fae451f4..fae451f4 100644
--- a/kernel.soso/random.h
+++ b/tools/iso/kernel.soso/random.h
diff --git a/kernel.soso/rootfs.c b/tools/iso/kernel.soso/rootfs.c
index 9104b01f..9104b01f 100644
--- a/kernel.soso/rootfs.c
+++ b/tools/iso/kernel.soso/rootfs.c
diff --git a/kernel.soso/rootfs.h b/tools/iso/kernel.soso/rootfs.h
index 7271deaa..7271deaa 100644
--- a/kernel.soso/rootfs.h
+++ b/tools/iso/kernel.soso/rootfs.h
diff --git a/kernel.soso/screen.c b/tools/iso/kernel.soso/screen.c
index b54bba83..b54bba83 100644
--- a/kernel.soso/screen.c
+++ b/tools/iso/kernel.soso/screen.c
diff --git a/kernel.soso/screen.h b/tools/iso/kernel.soso/screen.h
index ab3e9b88..ab3e9b88 100644
--- a/kernel.soso/screen.h
+++ b/tools/iso/kernel.soso/screen.h
diff --git a/kernel.soso/serial.c b/tools/iso/kernel.soso/serial.c
index 2aeb92f9..2aeb92f9 100644
--- a/kernel.soso/serial.c
+++ b/tools/iso/kernel.soso/serial.c
diff --git a/kernel.soso/serial.h b/tools/iso/kernel.soso/serial.h
index ade1838b..ade1838b 100644
--- a/kernel.soso/serial.h
+++ b/tools/iso/kernel.soso/serial.h
diff --git a/kernel.soso/sharedmemory.c b/tools/iso/kernel.soso/sharedmemory.c
index 8082d2a4..8082d2a4 100644
--- a/kernel.soso/sharedmemory.c
+++ b/tools/iso/kernel.soso/sharedmemory.c
diff --git a/kernel.soso/sharedmemory.h b/tools/iso/kernel.soso/sharedmemory.h
index a4e839e1..a4e839e1 100644
--- a/kernel.soso/sharedmemory.h
+++ b/tools/iso/kernel.soso/sharedmemory.h
diff --git a/kernel.soso/sleep.c b/tools/iso/kernel.soso/sleep.c
index bc769698..bc769698 100644
--- a/kernel.soso/sleep.c
+++ b/tools/iso/kernel.soso/sleep.c
diff --git a/kernel.soso/sleep.h b/tools/iso/kernel.soso/sleep.h
index 6cd6460b..6cd6460b 100644
--- a/kernel.soso/sleep.h
+++ b/tools/iso/kernel.soso/sleep.h
diff --git a/kernel.soso/spinlock.c b/tools/iso/kernel.soso/spinlock.c
index 8efbdb20..8efbdb20 100644
--- a/kernel.soso/spinlock.c
+++ b/tools/iso/kernel.soso/spinlock.c
diff --git a/kernel.soso/spinlock.h b/tools/iso/kernel.soso/spinlock.h
index fb7b820b..fb7b820b 100644
--- a/kernel.soso/spinlock.h
+++ b/tools/iso/kernel.soso/spinlock.h
diff --git a/kernel.soso/syscalls.c b/tools/iso/kernel.soso/syscalls.c
index 8b72941f..8b72941f 100644
--- a/kernel.soso/syscalls.c
+++ b/tools/iso/kernel.soso/syscalls.c
diff --git a/kernel.soso/syscalls.h b/tools/iso/kernel.soso/syscalls.h
index e17b232a..e17b232a 100644
--- a/kernel.soso/syscalls.h
+++ b/tools/iso/kernel.soso/syscalls.h
diff --git a/kernel.soso/syscalltable.h b/tools/iso/kernel.soso/syscalltable.h
index 61ff5e42..61ff5e42 100644
--- a/kernel.soso/syscalltable.h
+++ b/tools/iso/kernel.soso/syscalltable.h
diff --git a/kernel.soso/systemfs.c b/tools/iso/kernel.soso/systemfs.c
index 4e9ae539..4e9ae539 100644
--- a/kernel.soso/systemfs.c
+++ b/tools/iso/kernel.soso/systemfs.c
diff --git a/kernel.soso/systemfs.h b/tools/iso/kernel.soso/systemfs.h
index 23068af1..23068af1 100644
--- a/kernel.soso/systemfs.h
+++ b/tools/iso/kernel.soso/systemfs.h
diff --git a/kernel.soso/task.asm b/tools/iso/kernel.soso/task.asm
index f0f2b464..f0f2b464 100644
--- a/kernel.soso/task.asm
+++ b/tools/iso/kernel.soso/task.asm
diff --git a/kernel.soso/termios.h b/tools/iso/kernel.soso/termios.h
index c90a4b60..c90a4b60 100644
--- a/kernel.soso/termios.h
+++ b/tools/iso/kernel.soso/termios.h
diff --git a/kernel.soso/timer.c b/tools/iso/kernel.soso/timer.c
index 97396334..97396334 100644
--- a/kernel.soso/timer.c
+++ b/tools/iso/kernel.soso/timer.c
diff --git a/kernel.soso/timer.h b/tools/iso/kernel.soso/timer.h
index 613c5c15..613c5c15 100644
--- a/kernel.soso/timer.h
+++ b/tools/iso/kernel.soso/timer.h
diff --git a/kernel.soso/tty.c b/tools/iso/kernel.soso/tty.c
index 9e53c339..9e53c339 100644
--- a/kernel.soso/tty.c
+++ b/tools/iso/kernel.soso/tty.c
diff --git a/kernel.soso/tty.h b/tools/iso/kernel.soso/tty.h
index df39e6cd..df39e6cd 100644
--- a/kernel.soso/tty.h
+++ b/tools/iso/kernel.soso/tty.h
diff --git a/kernel.soso/ttydriver.c b/tools/iso/kernel.soso/ttydriver.c
index 755cda15..755cda15 100644
--- a/kernel.soso/ttydriver.c
+++ b/tools/iso/kernel.soso/ttydriver.c
diff --git a/kernel.soso/ttydriver.h b/tools/iso/kernel.soso/ttydriver.h
index 3dab6a4a..3dab6a4a 100644
--- a/kernel.soso/ttydriver.h
+++ b/tools/iso/kernel.soso/ttydriver.h
diff --git a/kernel.soso/utils.asm b/tools/iso/kernel.soso/utils.asm
index 568bfb02..568bfb02 100644
--- a/kernel.soso/utils.asm
+++ b/tools/iso/kernel.soso/utils.asm
diff --git a/kernel.soso/vbe.h b/tools/iso/kernel.soso/vbe.h
index abaf0940..abaf0940 100644
--- a/kernel.soso/vbe.h
+++ b/tools/iso/kernel.soso/vbe.h
diff --git a/kernel.soso/vimrc.vim b/tools/iso/kernel.soso/vimrc.vim
index d9be6ee4..d9be6ee4 100644
--- a/kernel.soso/vimrc.vim
+++ b/tools/iso/kernel.soso/vimrc.vim
diff --git a/kernel.soso/vmm.c b/tools/iso/kernel.soso/vmm.c
index 7dad53be..7dad53be 100644
--- a/kernel.soso/vmm.c
+++ b/tools/iso/kernel.soso/vmm.c
diff --git a/kernel.soso/vmm.h b/tools/iso/kernel.soso/vmm.h
index f7955afb..f7955afb 100644
--- a/kernel.soso/vmm.h
+++ b/tools/iso/kernel.soso/vmm.h
diff --git a/gen_soso_iso b/tools/iso/soso
index 2d446ad1..327207cb 100755
--- a/gen_soso_iso
+++ b/tools/iso/soso
@@ -2,7 +2,7 @@
 # Build one or more .subx files into an ELF binary, and package it up into a
 # bootable ISO image with a Soso (https://github.com/ozkl/soso) kernel.
 #
-# Must be run on Linux.
+# Must be run on Linux, and from the top-level mu/ directory.
 #
 # Soso is published under the 2-clause BSD license.
 
@@ -16,8 +16,6 @@ fi
 
 echo "=== building SubX binary"
 ./translate_subx $*
-mv a.elf init
-chmod +x init
 
 echo "=== constructing initramfs out of SubX binary"
 dd if=/dev/zero of=initrd.fat bs=8M count=1
@@ -25,20 +23,20 @@ LOOP=`losetup -f`
 sudo losetup $LOOP initrd.fat
 sudo mkfs.vfat $LOOP
 sudo mount $LOOP /mnt
-cp init /mnt/
+mv a.elf /mnt/init
 umount /mnt
 losetup -d $LOOP
 sync
 chown $SUDO_USER:$SUDO_USER initrd.fat
 
 echo "=== building soso kernel"
-( cd kernel.soso
+( cd tools/iso/kernel.soso
   make
 )
 
 echo "=== generating mu_soso.iso"
 mkdir -p outfs/boot/grub
-cp kernel.soso/grub.cfg outfs/boot/grub
-cp kernel.soso/kernel.bin outfs/boot/
+cp tools/iso/kernel.soso/grub.cfg outfs/boot/grub
+cp tools/iso/kernel.soso/kernel.bin outfs/boot/
 cp initrd.fat outfs/boot/
 grub-mkrescue -o mu_soso.iso outfs