Removed linux_code

Change-Id: I7327828d2c9efdf03172d1b90f49d5c51fbba86e
diff --git a/aos/BUILD b/aos/BUILD
index dd4c04b..593509d 100644
--- a/aos/BUILD
+++ b/aos/BUILD
@@ -5,8 +5,8 @@
     srcs = [
         "//aos/logging:log_displayer",
         "//aos/logging:log_streamer",
-        "//aos/linux_code:core",
-        "//aos/linux_code/starter",
+        "//aos:core",
+        "//aos/starter",
     ],
     visibility = ["//visibility:public"],
 )
@@ -23,10 +23,10 @@
     name = "prime_binaries_stripped",
     srcs = [
         # starter is hard coded to look for a non-stripped core...
-        "//aos/linux_code:core",
+        "//aos:core",
         "//aos/logging:log_streamer.stripped",
         "//aos/logging:log_displayer.stripped",
-        "//aos/linux_code/starter",
+        "//aos/starter",
     ],
     visibility = ["//visibility:public"],
 )
@@ -155,8 +155,8 @@
         "//aos/mutex:mutex",
         "//aos/time:time",
         "//aos/logging:printf_formats",
-        "//aos/linux_code/ipc_lib:core_lib",
-        "//aos/linux_code/ipc_lib:shared_mem",
+        "//aos/ipc_lib:core_lib",
+        "//aos/ipc_lib:shared_mem",
     ],
     visibility = ["//visibility:public"],
 )
@@ -185,8 +185,8 @@
     ],
     deps = [
         "//aos/messages:messages",
-        "//aos/linux_code:queue",
-        "//aos/linux_code/ipc_lib:queue",
+        "//aos:queue",
+        "//aos/ipc_lib:queue",
     ],
     visibility = ["//visibility:public"],
 )
@@ -259,7 +259,7 @@
     deps = [
         "//aos/mutex:mutex",
         "//aos/logging",
-        "//aos/linux_code/ipc_lib:aos_sync",
+        "//aos/ipc_lib:aos_sync",
     ],
     visibility = ["//visibility:public"],
 )
@@ -276,8 +276,8 @@
         "//aos/time:time",
         "//aos/logging",
         "//aos/util:thread",
-        "//aos/linux_code/ipc_lib:aos_sync",
-        "//aos/linux_code/ipc_lib:core_lib",
+        "//aos/ipc_lib:aos_sync",
+        "//aos/ipc_lib:core_lib",
         "//aos/testing:googletest",
         "//aos/testing:prevent_exit",
         "//aos/testing:test_shm",
@@ -325,7 +325,7 @@
     deps = [
         "//aos/time:time",
         "//aos/logging",
-        "//aos/linux_code/ipc_lib:aos_sync",
+        "//aos/ipc_lib:aos_sync",
     ],
     visibility = ["//visibility:public"],
 )
@@ -342,3 +342,109 @@
         "//aos/testing:test_logging",
     ],
 )
+
+cc_binary(
+    name = "dump_rtprio",
+    srcs = [
+        "dump_rtprio.cc",
+    ],
+    deps = [
+        "//aos/time:time",
+        "//aos/logging",
+        "//aos/logging:implementations",
+    ],
+)
+
+cc_library(
+    name = "queue",
+    hdrs = [
+        "queue-tmpl.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    visibility = ["//aos:__pkg__"],
+)
+
+cc_library(
+    name = "complex_thread_local",
+    srcs = [
+        "complex_thread_local.cc",
+    ],
+    hdrs = [
+        "complex_thread_local.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    linkopts = [
+        "-lpthread",
+    ],
+    deps = [
+        "//aos:once",
+        "//aos:die",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+cc_test(
+    name = "complex_thread_local_test",
+    srcs = [
+        "complex_thread_local_test.cc",
+    ],
+    deps = [
+        ":complex_thread_local",
+        "//aos/logging",
+        "//aos/util:thread",
+        "//aos/testing:googletest",
+    ],
+)
+
+cc_library(
+    name = "init",
+    srcs = [
+        "init.cc",
+    ],
+    hdrs = [
+        "init.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos:die",
+        "//aos/logging:implementations",
+        "//aos/ipc_lib:shared_mem",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+cc_library(
+    name = "configuration",
+    srcs = [
+        "configuration.cc",
+    ],
+    hdrs = [
+        "configuration.h",
+    ],
+    compatible_with = [
+        "//tools:armhf-debian",
+    ],
+    deps = [
+        "//aos:once",
+        "//aos:unique_malloc_ptr",
+        "//aos/logging",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+cc_binary(
+    name = "core",
+    srcs = [
+        "core.cc",
+    ],
+    deps = [
+        ":init",
+        "//aos/util:run_command",
+    ],
+)
diff --git a/aos/linux_code/complex_thread_local.cc b/aos/complex_thread_local.cc
similarity index 96%
rename from aos/linux_code/complex_thread_local.cc
rename to aos/complex_thread_local.cc
index fbfe914..f6a3135 100644
--- a/aos/linux_code/complex_thread_local.cc
+++ b/aos/complex_thread_local.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/complex_thread_local.h"
+#include "aos/complex_thread_local.h"
 
 #include <pthread.h>
 
diff --git a/aos/linux_code/complex_thread_local.h b/aos/complex_thread_local.h
similarity index 95%
rename from aos/linux_code/complex_thread_local.h
rename to aos/complex_thread_local.h
index 7ada875..224d3b2 100644
--- a/aos/linux_code/complex_thread_local.h
+++ b/aos/complex_thread_local.h
@@ -1,5 +1,5 @@
-#ifndef AOS_LINUX_CODE_COMPLEX_THREAD_LOCAL_H_
-#define AOS_LINUX_CODE_COMPLEX_THREAD_LOCAL_H_
+#ifndef AOS_COMPLEX_THREAD_LOCAL_H_
+#define AOS_COMPLEX_THREAD_LOCAL_H_
 
 #include <assert.h>
 
@@ -128,4 +128,4 @@
 
 }  // namespace aos
 
-#endif  // AOS_LINUX_CODE_COMPLEX_THREAD_LOCAL_H_
+#endif  // AOS_COMPLEX_THREAD_LOCAL_H_
diff --git a/aos/linux_code/complex_thread_local_test.cc b/aos/complex_thread_local_test.cc
similarity index 97%
rename from aos/linux_code/complex_thread_local_test.cc
rename to aos/complex_thread_local_test.cc
index 6163ba7..b8eaa2c 100644
--- a/aos/linux_code/complex_thread_local_test.cc
+++ b/aos/complex_thread_local_test.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/complex_thread_local.h"
+#include "aos/complex_thread_local.h"
 
 #include <atomic>
 
diff --git a/aos/condition.h b/aos/condition.h
index d846ab1..9678250 100644
--- a/aos/condition.h
+++ b/aos/condition.h
@@ -1,7 +1,7 @@
 #ifndef AOS_CONDITION_H_
 #define AOS_CONDITION_H_
 
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 
 namespace aos {
 
diff --git a/aos/condition_test.cc b/aos/condition_test.cc
index 15b948e..602513e 100644
--- a/aos/condition_test.cc
+++ b/aos/condition_test.cc
@@ -14,10 +14,10 @@
 #include "aos/mutex/mutex.h"
 #include "aos/testing/test_shm.h"
 #include "aos/type_traits/type_traits.h"
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/core_lib.h"
 #include "aos/logging/logging.h"
 #include "aos/macros.h"
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 #include "aos/die.h"
 #include "aos/util/thread.h"
 #include "aos/testing/prevent_exit.h"
diff --git a/aos/linux_code/configuration.cc b/aos/configuration.cc
similarity index 98%
rename from aos/linux_code/configuration.cc
rename to aos/configuration.cc
index 76e744f..94606ec 100644
--- a/aos/linux_code/configuration.cc
+++ b/aos/configuration.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/configuration.h"
+#include "aos/configuration.h"
 
 #include <string.h>
 #include <stdlib.h>
diff --git a/aos/linux_code/configuration.h b/aos/configuration.h
similarity index 86%
rename from aos/linux_code/configuration.h
rename to aos/configuration.h
index 3568f28..fadd7a1 100644
--- a/aos/linux_code/configuration.h
+++ b/aos/configuration.h
@@ -1,5 +1,5 @@
-#ifndef AOS_LINUX_CODE_CONFIGURATION_H_
-#define AOS_LINUX_CODE_CONFIGURATION_H_
+#ifndef AOS_CONFIGURATION_H_
+#define AOS_CONFIGURATION_H_
 
 #include <stdint.h>
 #include <sys/socket.h>
@@ -28,4 +28,4 @@
 }  // namespace configuration
 }  // namespace aos
 
-#endif  // AOS_LINUX_CODE_CONFIGURATION_H_
+#endif  // AOS_CONFIGURATION_H_
diff --git a/aos/linux_code/core.cc b/aos/core.cc
similarity index 95%
rename from aos/linux_code/core.cc
rename to aos/core.cc
index 3aab562..3af3270 100644
--- a/aos/linux_code/core.cc
+++ b/aos/core.cc
@@ -7,7 +7,7 @@
 
 #include <string>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/util/run_command.h"
 
 // Initializes shared memory. This is the only file that will create the shared
diff --git a/aos/linux_code/dump_rtprio.cc b/aos/dump_rtprio.cc
similarity index 100%
rename from aos/linux_code/dump_rtprio.cc
rename to aos/dump_rtprio.cc
diff --git a/aos/event.h b/aos/event.h
index c2ad1bc..a49dffa 100644
--- a/aos/event.h
+++ b/aos/event.h
@@ -3,7 +3,7 @@
 
 #include "aos/time/time.h"
 
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 
 namespace aos {
 
diff --git a/aos/externals/forwpilib/README b/aos/externals/forwpilib/README
deleted file mode 100644
index faa1a78..0000000
--- a/aos/externals/forwpilib/README
+++ /dev/null
@@ -1,4 +0,0 @@
-This directory contains files that we plan to eventually push to upstream
-WPILib but haven't yet.
-
-The canonical location for dma.* is robotics.mvla.net:/www/https/git/frc971/jerry/dma.git.
diff --git a/aos/linux_code/init.cc b/aos/init.cc
similarity index 98%
rename from aos/linux_code/init.cc
rename to aos/init.cc
index c5a2285..aa609ec 100644
--- a/aos/linux_code/init.cc
+++ b/aos/init.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -15,7 +15,7 @@
 
 #include "aos/die.h"
 #include "aos/logging/implementations.h"
-#include "aos/linux_code/ipc_lib/shared_mem.h"
+#include "aos/ipc_lib/shared_mem.h"
 
 namespace FLAG__namespace_do_not_use_directly_use_DECLARE_double_instead {
 extern double FLAGS_tcmalloc_release_rate __attribute__((weak));
diff --git a/aos/linux_code/init.h b/aos/init.h
similarity index 94%
rename from aos/linux_code/init.h
rename to aos/init.h
index 91b8c19..4489c5d 100644
--- a/aos/linux_code/init.h
+++ b/aos/init.h
@@ -1,5 +1,5 @@
-#ifndef AOS_LINUX_CODE_INIT_H_
-#define AOS_LINUX_CODE_INIT_H_
+#ifndef AOS_INIT_H_
+#define AOS_INIT_H_
 
 #include <string>
 
@@ -49,4 +49,4 @@
 
 }  // namespace aos
 
-#endif  // AOS_LINUX_CODE_INIT_H_
+#endif  // AOS_INIT_H_
diff --git a/aos/linux_code/ipc_lib/BUILD b/aos/ipc_lib/BUILD
similarity index 98%
rename from aos/linux_code/ipc_lib/BUILD
rename to aos/ipc_lib/BUILD
index d550a65..20972e4 100644
--- a/aos/linux_code/ipc_lib/BUILD
+++ b/aos/ipc_lib/BUILD
@@ -162,7 +162,7 @@
         "//aos/mutex:mutex",
         "//aos/logging",
         "//aos/logging:implementations",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//third_party/gflags",
     ],
 )
diff --git a/aos/linux_code/ipc_lib/aos_sync.cc b/aos/ipc_lib/aos_sync.cc
similarity index 99%
rename from aos/linux_code/ipc_lib/aos_sync.cc
rename to aos/ipc_lib/aos_sync.cc
index af7a669..c1be351 100644
--- a/aos/linux_code/ipc_lib/aos_sync.cc
+++ b/aos/ipc_lib/aos_sync.cc
@@ -3,7 +3,7 @@
 #define NDEBUG
 #endif
 
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 
 #include <linux/futex.h>
 #include <unistd.h>
diff --git a/aos/linux_code/ipc_lib/aos_sync.h b/aos/ipc_lib/aos_sync.h
similarity index 98%
rename from aos/linux_code/ipc_lib/aos_sync.h
rename to aos/ipc_lib/aos_sync.h
index 5b7a865..ae95c6d 100644
--- a/aos/linux_code/ipc_lib/aos_sync.h
+++ b/aos/ipc_lib/aos_sync.h
@@ -1,5 +1,5 @@
-#ifndef AOS_LINUX_CODE_IPC_LIB_SYNC_H_
-#define AOS_LINUX_CODE_IPC_LIB_SYNC_H_
+#ifndef AOS_IPC_LIB_SYNC_H_
+#define AOS_IPC_LIB_SYNC_H_
 
 #include <stdlib.h>
 #include <signal.h>
@@ -183,4 +183,4 @@
 
 #endif  // __cplusplus
 
-#endif  // AOS_LINUX_CODE_IPC_LIB_SYNC_H_
+#endif  // AOS_IPC_LIB_SYNC_H_
diff --git a/aos/linux_code/ipc_lib/core_lib.c b/aos/ipc_lib/core_lib.c
similarity index 93%
rename from aos/linux_code/ipc_lib/core_lib.c
rename to aos/ipc_lib/core_lib.c
index 23dd256..a1e3315 100644
--- a/aos/linux_code/ipc_lib/core_lib.c
+++ b/aos/ipc_lib/core_lib.c
@@ -1,10 +1,10 @@
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/core_lib.h"
 
 #include <stdio.h>
 #include <stdlib.h>
 #include <assert.h>
 
-#include "aos/linux_code/ipc_lib/shared_mem_types.h"
+#include "aos/ipc_lib/shared_mem_types.h"
 
 static uint8_t aos_8max(uint8_t l, uint8_t r) {
   return (l > r) ? l : r;
diff --git a/aos/linux_code/ipc_lib/core_lib.h b/aos/ipc_lib/core_lib.h
similarity index 93%
rename from aos/linux_code/ipc_lib/core_lib.h
rename to aos/ipc_lib/core_lib.h
index ef81c3c..d62f602 100644
--- a/aos/linux_code/ipc_lib/core_lib.h
+++ b/aos/ipc_lib/core_lib.h
@@ -3,7 +3,7 @@
 
 #include <stdint.h>
 
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/aos/linux_code/ipc_lib/ipc_comparison.cc b/aos/ipc_lib/ipc_comparison.cc
similarity index 99%
rename from aos/linux_code/ipc_lib/ipc_comparison.cc
rename to aos/ipc_lib/ipc_comparison.cc
index 6e67e13..8774c73 100644
--- a/aos/linux_code/ipc_lib/ipc_comparison.cc
+++ b/aos/ipc_lib/ipc_comparison.cc
@@ -27,8 +27,8 @@
 #include "aos/logging/logging.h"
 #include "aos/mutex/mutex.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/init.h"
+#include "aos/ipc_lib/queue.h"
 
 DEFINE_string(method, "", "Which IPC method to use");
 DEFINE_int32(messages, 1000000, "How many messages to send back and forth");
diff --git a/aos/linux_code/ipc_lib/ipc_stress_test.cc b/aos/ipc_lib/ipc_stress_test.cc
similarity index 99%
rename from aos/linux_code/ipc_lib/ipc_stress_test.cc
rename to aos/ipc_lib/ipc_stress_test.cc
index e43e6a5..aa5d9c5 100644
--- a/aos/linux_code/ipc_lib/ipc_stress_test.cc
+++ b/aos/ipc_lib/ipc_stress_test.cc
@@ -16,7 +16,7 @@
 #include "aos/mutex/mutex.h"
 #include "aos/time/time.h"
 #include "aos/type_traits/type_traits.h"
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/core_lib.h"
 #include "aos/testing/test_shm.h"
 
 // This runs all of the IPC-related tests in a bunch of parallel processes for a
diff --git a/aos/linux_code/ipc_lib/queue.cc b/aos/ipc_lib/queue.cc
similarity index 99%
rename from aos/linux_code/ipc_lib/queue.cc
rename to aos/ipc_lib/queue.cc
index a89554d..c751a7e 100644
--- a/aos/linux_code/ipc_lib/queue.cc
+++ b/aos/ipc_lib/queue.cc
@@ -3,7 +3,7 @@
 #define NDEBUG
 #endif
 
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/ipc_lib/queue.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -14,7 +14,7 @@
 #include <algorithm>
 
 #include "aos/type_traits/type_traits.h"
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/core_lib.h"
 
 namespace aos {
 namespace {
diff --git a/aos/linux_code/ipc_lib/queue.h b/aos/ipc_lib/queue.h
similarity index 97%
rename from aos/linux_code/ipc_lib/queue.h
rename to aos/ipc_lib/queue.h
index 1a0d174..f21295f 100644
--- a/aos/linux_code/ipc_lib/queue.h
+++ b/aos/ipc_lib/queue.h
@@ -1,7 +1,7 @@
-#ifndef AOS_LINUX_CODE_IPC_LIB_QUEUE_H_
-#define AOS_LINUX_CODE_IPC_LIB_QUEUE_H_
+#ifndef AOS_IPC_LIB_QUEUE_H_
+#define AOS_IPC_LIB_QUEUE_H_
 
-#include "aos/linux_code/ipc_lib/shared_mem.h"
+#include "aos/ipc_lib/shared_mem.h"
 #include "aos/mutex/mutex.h"
 #include "aos/condition.h"
 #include "aos/util/options.h"
@@ -228,4 +228,4 @@
 
 }  // namespace aos
 
-#endif  // AOS_LINUX_CODE_IPC_LIB_QUEUE_H_
+#endif  // AOS_IPC_LIB_QUEUE_H_
diff --git a/aos/linux_code/ipc_lib/raw_queue_test.cc b/aos/ipc_lib/raw_queue_test.cc
similarity index 99%
rename from aos/linux_code/ipc_lib/raw_queue_test.cc
rename to aos/ipc_lib/raw_queue_test.cc
index 08b7445..ab98b1f 100644
--- a/aos/linux_code/ipc_lib/raw_queue_test.cc
+++ b/aos/ipc_lib/raw_queue_test.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/ipc_lib/queue.h"
 
 #include <unistd.h>
 #include <sys/mman.h>
@@ -11,7 +11,7 @@
 
 #include "gtest/gtest.h"
 
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/core_lib.h"
 #include "aos/type_traits/type_traits.h"
 #include "aos/testing/test_shm.h"
 #include "aos/time/time.h"
diff --git a/aos/linux_code/ipc_lib/shared_mem.c b/aos/ipc_lib/shared_mem.c
similarity index 96%
rename from aos/linux_code/ipc_lib/shared_mem.c
rename to aos/ipc_lib/shared_mem.c
index e0f1bfb..e8edc9e 100644
--- a/aos/linux_code/ipc_lib/shared_mem.c
+++ b/aos/ipc_lib/shared_mem.c
@@ -1,4 +1,4 @@
-#include "aos/linux_code/ipc_lib/shared_mem.h"
+#include "aos/ipc_lib/shared_mem.h"
 
 #include <stdio.h>
 #include <string.h>
@@ -10,9 +10,9 @@
 #include <stdlib.h>
 #include <assert.h>
 
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/core_lib.h"
 #include "aos/logging/logging.h"
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 
 // the path for the shared memory segment. see shm_open(3) for restrictions
 #define AOS_SHM_NAME "/aos_shared_mem"
diff --git a/aos/linux_code/ipc_lib/shared_mem.h b/aos/ipc_lib/shared_mem.h
similarity index 95%
rename from aos/linux_code/ipc_lib/shared_mem.h
rename to aos/ipc_lib/shared_mem.h
index 36acfd0..edb9091 100644
--- a/aos/linux_code/ipc_lib/shared_mem.h
+++ b/aos/ipc_lib/shared_mem.h
@@ -5,7 +5,7 @@
 #include <unistd.h>
 #include <time.h>
 
-#include "aos/linux_code/ipc_lib/shared_mem_types.h"
+#include "aos/ipc_lib/shared_mem_types.h"
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/aos/linux_code/ipc_lib/shared_mem_types.h b/aos/ipc_lib/shared_mem_types.h
similarity index 89%
rename from aos/linux_code/ipc_lib/shared_mem_types.h
rename to aos/ipc_lib/shared_mem_types.h
index 07bb60e..f8555d5 100644
--- a/aos/linux_code/ipc_lib/shared_mem_types.h
+++ b/aos/ipc_lib/shared_mem_types.h
@@ -1,9 +1,9 @@
-#ifndef AOS_LINUX_CODE_IPC_LIB_SHARED_MEM_TYPES_H_
-#define AOS_LINUX_CODE_IPC_LIB_SHARED_MEM_TYPES_H_
+#ifndef AOS_IPC_LIB_SHARED_MEM_TYPES_H_
+#define AOS_IPC_LIB_SHARED_MEM_TYPES_H_
 
 #include <stddef.h>
 
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 
 #ifdef __cplusplus
 extern "C" {
@@ -61,4 +61,4 @@
 }
 #endif
 
-#endif  // AOS_LINUX_CODE_IPC_LIB_SHARED_MEM_TYPES_H_
+#endif  // AOS_IPC_LIB_SHARED_MEM_TYPES_H_
diff --git a/aos/linux_code/ipc_lib/unique_message_ptr.h b/aos/ipc_lib/unique_message_ptr.h
similarity index 100%
rename from aos/linux_code/ipc_lib/unique_message_ptr.h
rename to aos/ipc_lib/unique_message_ptr.h
diff --git a/aos/linux_code/BUILD b/aos/linux_code/BUILD
deleted file mode 100644
index 7cc22d0..0000000
--- a/aos/linux_code/BUILD
+++ /dev/null
@@ -1,104 +0,0 @@
-package(default_visibility = ["//visibility:public"])
-
-cc_binary(
-    name = "dump_rtprio",
-    srcs = [
-        "dump_rtprio.cc",
-    ],
-    deps = [
-        "//aos/time:time",
-        "//aos/logging",
-        "//aos/logging:implementations",
-    ],
-)
-
-cc_library(
-    name = "queue",
-    hdrs = [
-        "queue-tmpl.h",
-    ],
-    compatible_with = [
-        "//tools:armhf-debian",
-    ],
-    visibility = ["//aos:__pkg__"],
-)
-
-cc_library(
-    name = "complex_thread_local",
-    srcs = [
-        "complex_thread_local.cc",
-    ],
-    hdrs = [
-        "complex_thread_local.h",
-    ],
-    compatible_with = [
-        "//tools:armhf-debian",
-    ],
-    linkopts = [
-        "-lpthread",
-    ],
-    deps = [
-        "//aos:once",
-        "//aos:die",
-    ],
-)
-
-cc_test(
-    name = "complex_thread_local_test",
-    srcs = [
-        "complex_thread_local_test.cc",
-    ],
-    deps = [
-        ":complex_thread_local",
-        "//aos/logging",
-        "//aos/util:thread",
-        "//aos/testing:googletest",
-    ],
-)
-
-cc_library(
-    name = "init",
-    srcs = [
-        "init.cc",
-    ],
-    hdrs = [
-        "init.h",
-    ],
-    compatible_with = [
-        "//tools:armhf-debian",
-    ],
-    deps = [
-        "//aos:die",
-        "//aos/logging:implementations",
-        "//aos/linux_code/ipc_lib:shared_mem",
-    ],
-)
-
-cc_library(
-    name = "configuration",
-    srcs = [
-        "configuration.cc",
-    ],
-    hdrs = [
-        "configuration.h",
-    ],
-    compatible_with = [
-        "//tools:armhf-debian",
-    ],
-    deps = [
-        "//aos:once",
-        "//aos:unique_malloc_ptr",
-        "//aos/logging",
-    ],
-)
-
-cc_binary(
-    name = "core",
-    srcs = [
-        "core.cc",
-    ],
-    deps = [
-        ":init",
-        "//aos/util:run_command",
-    ],
-)
diff --git a/aos/linux_code/README.txt b/aos/linux_code/README.txt
deleted file mode 100644
index 65feb21..0000000
--- a/aos/linux_code/README.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-see ../README.txt for stuff affecting all code
-
-The folder is called linux_code because it mainly deals with code that uses the queue system, which only works under GNU/Linux for a variety of reasons, some fundamental (futexes) and some because nobody bothers to fix them.
-The layout is designed with multiple linux boxes in mind.
-
-The code for the linux box that sends motor outputs etc is in ../prime/.
-
-[NOTES]
-Any code should call aos::Init() (or aos::InitNRT() for processes that don't need to be realtime) before making any calls to any of the aos functions.
-Making calls to any of the aos functions (including aos::Init()) from more than 1 thread per process is not supported, but using fork(2) after some aos functions have been called and then continuing to make aos function calls (without calling one of the exec(3) functions) in both processes is supported.
diff --git a/aos/logging/BUILD b/aos/logging/BUILD
index a8ee8e9..1af933d 100644
--- a/aos/logging/BUILD
+++ b/aos/logging/BUILD
@@ -19,7 +19,7 @@
         "//aos:die",
         "//aos:macros",
         "//aos/libc:aos_strerror",
-        "//aos/linux_code:complex_thread_local",
+        "//aos:complex_thread_local",
     ],
 )
 
@@ -36,7 +36,7 @@
         ":binary_log_file",
         ":logging",
         "//aos:queues",
-        "//aos/linux_code/ipc_lib:queue",
+        "//aos/ipc_lib:queue",
     ],
 )
 
@@ -53,9 +53,9 @@
         "//aos:die",
         "//aos:queue_types",
         "//aos/time:time",
-        "//aos/linux_code:configuration",
-        "//aos/linux_code:init",
-        "//aos/linux_code/ipc_lib:queue",
+        "//aos:configuration",
+        "//aos:init",
+        "//aos/ipc_lib:queue",
     ],
 )
 
@@ -69,8 +69,8 @@
         ":implementations",
         ":logging",
         "//aos/time:time",
-        "//aos/linux_code:init",
-        "//aos/linux_code/ipc_lib:queue",
+        "//aos:init",
+        "//aos/ipc_lib:queue",
     ],
 )
 
@@ -86,8 +86,8 @@
         ":logging",
         "//aos:queue_types",
         "//aos/util:string_to_num",
-        "//aos/linux_code:configuration",
-        "//aos/linux_code:init",
+        "//aos:configuration",
+        "//aos:init",
     ],
 )
 
@@ -204,6 +204,6 @@
         "//aos:queue_types",
         "//aos/time:time",
         "//aos/type_traits:type_traits",
-        "//aos/linux_code/ipc_lib:queue",
+        "//aos/ipc_lib:queue",
     ],
 )
diff --git a/aos/logging/binary_log_writer.cc b/aos/logging/binary_log_writer.cc
index fb0c4c2..e335b53 100644
--- a/aos/logging/binary_log_writer.cc
+++ b/aos/logging/binary_log_writer.cc
@@ -20,9 +20,9 @@
 #include "aos/logging/implementations.h"
 #include "aos/queue_types.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/configuration.h"
-#include "aos/linux_code/init.h"
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/configuration.h"
+#include "aos/init.h"
+#include "aos/ipc_lib/queue.h"
 
 namespace aos {
 namespace logging {
diff --git a/aos/logging/context.cc b/aos/logging/context.cc
index 3701b00..2fcb301 100644
--- a/aos/logging/context.cc
+++ b/aos/logging/context.cc
@@ -8,7 +8,7 @@
 #include <string>
 
 #include "aos/die.h"
-#include "aos/linux_code/complex_thread_local.h"
+#include "aos/complex_thread_local.h"
 
 namespace aos {
 namespace logging {
diff --git a/aos/logging/implementations.cc b/aos/logging/implementations.cc
index 337aa8f..efeb704 100644
--- a/aos/logging/implementations.cc
+++ b/aos/logging/implementations.cc
@@ -10,7 +10,7 @@
 #include "aos/logging/printf_formats.h"
 #include "aos/queue_types.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/ipc_lib/queue.h"
 #include "aos/once.h"
 
 namespace aos {
diff --git a/aos/logging/log_displayer.cc b/aos/logging/log_displayer.cc
index 1d40de1..0480b4b 100644
--- a/aos/logging/log_displayer.cc
+++ b/aos/logging/log_displayer.cc
@@ -11,7 +11,7 @@
 #include <memory>
 #include <string>
 
-#include "aos/linux_code/configuration.h"
+#include "aos/configuration.h"
 #include "aos/logging/binary_log_file.h"
 #include "aos/queue_types.h"
 #include "aos/logging/logging.h"
diff --git a/aos/logging/log_streamer.cc b/aos/logging/log_streamer.cc
index 757ba2e..4477868 100644
--- a/aos/logging/log_streamer.cc
+++ b/aos/logging/log_streamer.cc
@@ -14,8 +14,8 @@
 #include "aos/logging/implementations.h"
 #include "aos/logging/logging.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/init.h"
+#include "aos/ipc_lib/queue.h"
 
 namespace aos {
 namespace logging {
diff --git a/aos/logging/replay.h b/aos/logging/replay.h
index 0de207a..ffb3b7d 100644
--- a/aos/logging/replay.h
+++ b/aos/logging/replay.h
@@ -10,7 +10,7 @@
 #include "aos/queue.h"
 #include "aos/logging/logging.h"
 #include "aos/macros.h"
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/ipc_lib/queue.h"
 #include "aos/queue_types.h"
 
 namespace aos {
diff --git a/aos/mutex/BUILD b/aos/mutex/BUILD
index 02cec57..6acccd7 100644
--- a/aos/mutex/BUILD
+++ b/aos/mutex/BUILD
@@ -15,7 +15,7 @@
         "//aos:die",
         "//aos/type_traits:type_traits",
         "//aos/logging",
-        "//aos/linux_code/ipc_lib:aos_sync",
+        "//aos/ipc_lib:aos_sync",
     ],
 )
 
diff --git a/aos/mutex/mutex.h b/aos/mutex/mutex.h
index 8bd986c..ad678cc 100644
--- a/aos/mutex/mutex.h
+++ b/aos/mutex/mutex.h
@@ -4,7 +4,7 @@
 #include "aos/macros.h"
 #include "aos/type_traits/type_traits.h"
 #include "aos/die.h"
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 
 namespace aos {
 
diff --git a/aos/mutex/mutex_test.cc b/aos/mutex/mutex_test.cc
index 8e3daac..9d371b7 100644
--- a/aos/mutex/mutex_test.cc
+++ b/aos/mutex/mutex_test.cc
@@ -13,8 +13,8 @@
 #include "aos/time/time.h"
 #include "aos/util/death_test_log_implementation.h"
 #include "aos/util/thread.h"
-#include "aos/linux_code/ipc_lib/aos_sync.h"
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/core_lib.h"
 #include "aos/testing/test_logging.h"
 #include "aos/testing/test_shm.h"
 
diff --git a/aos/network/BUILD b/aos/network/BUILD
index 5c1eb03..48922de 100644
--- a/aos/network/BUILD
+++ b/aos/network/BUILD
@@ -15,7 +15,7 @@
         "//aos:once",
         "//aos/logging",
         "//aos/util:string_to_num",
-        "//aos/linux_code:configuration",
+        "//aos:configuration",
     ],
 )
 
diff --git a/aos/network/team_number.cc b/aos/network/team_number.cc
index eb17e7a..4e3f472 100644
--- a/aos/network/team_number.cc
+++ b/aos/network/team_number.cc
@@ -9,7 +9,7 @@
 
 #include "aos/logging/logging.h"
 #include "aos/util/string_to_num.h"
-#include "aos/linux_code/configuration.h"
+#include "aos/configuration.h"
 #include "aos/once.h"
 
 namespace aos {
diff --git a/aos/linux_code/queue-tmpl.h b/aos/queue-tmpl.h
similarity index 100%
rename from aos/linux_code/queue-tmpl.h
rename to aos/queue-tmpl.h
diff --git a/aos/queue.h b/aos/queue.h
index 47f9503..1897773 100644
--- a/aos/queue.h
+++ b/aos/queue.h
@@ -4,7 +4,7 @@
 #include <assert.h>
 
 #include "aos/macros.h"
-#include "aos/linux_code/ipc_lib/queue.h"
+#include "aos/ipc_lib/queue.h"
 #include "aos/messages/message.h"
 
 namespace aos {
@@ -223,6 +223,6 @@
 
 }  // namespace aos
 
-#include "aos/linux_code/queue-tmpl.h"
+#include "aos/queue-tmpl.h"
 
 #endif  // AOS_QUEUE_H_
diff --git a/aos/queue_types.cc b/aos/queue_types.cc
index 27b497c..654de2d 100644
--- a/aos/queue_types.cc
+++ b/aos/queue_types.cc
@@ -6,9 +6,9 @@
 #include <unordered_map>
 
 #include "aos/byteorder.h"
-#include "aos/linux_code/ipc_lib/shared_mem.h"
+#include "aos/ipc_lib/shared_mem.h"
 #include "aos/logging/logging.h"
-#include "aos/linux_code/ipc_lib/core_lib.h"
+#include "aos/ipc_lib/core_lib.h"
 #include "aos/mutex/mutex.h"
 
 namespace aos {
diff --git a/aos/externals/seasocks/BUILD b/aos/seasocks/BUILD
similarity index 100%
rename from aos/externals/seasocks/BUILD
rename to aos/seasocks/BUILD
diff --git a/aos/externals/seasocks/gen_embedded.bzl b/aos/seasocks/gen_embedded.bzl
similarity index 94%
rename from aos/externals/seasocks/gen_embedded.bzl
rename to aos/seasocks/gen_embedded.bzl
index a11e30a..60930b4 100644
--- a/aos/externals/seasocks/gen_embedded.bzl
+++ b/aos/seasocks/gen_embedded.bzl
@@ -22,7 +22,7 @@
     ),
     '_gen_embedded': attr.label(
       executable = True,
-      default = Label('//aos/externals/seasocks:gen_embedded'),
+      default = Label('//aos/seasocks:gen_embedded'),
       cfg = 'host',
     ),
   },
diff --git a/aos/externals/seasocks/gen_embedded.py b/aos/seasocks/gen_embedded.py
similarity index 100%
rename from aos/externals/seasocks/gen_embedded.py
rename to aos/seasocks/gen_embedded.py
diff --git a/aos/externals/seasocks/internal/Config.h b/aos/seasocks/internal/Config.h
similarity index 100%
rename from aos/externals/seasocks/internal/Config.h
rename to aos/seasocks/internal/Config.h
diff --git a/aos/linux_code/starter/BUILD b/aos/starter/BUILD
similarity index 94%
rename from aos/linux_code/starter/BUILD
rename to aos/starter/BUILD
index 68b39bd..f890bf6 100644
--- a/aos/linux_code/starter/BUILD
+++ b/aos/starter/BUILD
@@ -14,7 +14,7 @@
     'starter.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     '//third_party/libevent',
     '//aos/logging',
     '//aos/logging:implementations',
diff --git a/aos/linux_code/starter/starter.cc b/aos/starter/starter.cc
similarity index 99%
rename from aos/linux_code/starter/starter.cc
rename to aos/starter/starter.cc
index 0c7fdea..bb72523 100644
--- a/aos/linux_code/starter/starter.cc
+++ b/aos/starter/starter.cc
@@ -35,7 +35,7 @@
 #include "aos/time/time.h"
 #include "aos/unique_malloc_ptr.h"
 #include "aos/util/run_command.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/once.h"
 
 // This is the main piece of code that starts all of the rest of the code and
diff --git a/aos/linux_code/starter/starter.sh b/aos/starter/starter.sh
similarity index 100%
rename from aos/linux_code/starter/starter.sh
rename to aos/starter/starter.sh
diff --git a/aos/stl_mutex/BUILD b/aos/stl_mutex/BUILD
index a9b7957..51ba920 100644
--- a/aos/stl_mutex/BUILD
+++ b/aos/stl_mutex/BUILD
@@ -7,7 +7,7 @@
     ],
     deps = [
         "//aos/logging",
-        "//aos/linux_code/ipc_lib:aos_sync",
+        "//aos/ipc_lib:aos_sync",
     ],
 )
 
diff --git a/aos/stl_mutex/stl_mutex.h b/aos/stl_mutex/stl_mutex.h
index a5ac807..b88ac8e 100644
--- a/aos/stl_mutex/stl_mutex.h
+++ b/aos/stl_mutex/stl_mutex.h
@@ -3,7 +3,7 @@
 
 #include <mutex>
 
-#include "aos/linux_code/ipc_lib/aos_sync.h"
+#include "aos/ipc_lib/aos_sync.h"
 #include "aos/logging/logging.h"
 #include "aos/type_traits/type_traits.h"
 #include "aos/macros.h"
diff --git a/aos/testing/BUILD b/aos/testing/BUILD
index 4d1b6a4..f77f0a7 100644
--- a/aos/testing/BUILD
+++ b/aos/testing/BUILD
@@ -72,7 +72,7 @@
         ":test_logging",
         "//aos:queues",
         "//aos/logging",
-        "//aos/linux_code/ipc_lib:shared_mem",
+        "//aos/ipc_lib:shared_mem",
     ],
 )
 
diff --git a/aos/testing/test_shm.h b/aos/testing/test_shm.h
index dcb6906..a1c79ee 100644
--- a/aos/testing/test_shm.h
+++ b/aos/testing/test_shm.h
@@ -1,7 +1,7 @@
 #ifndef AOS_TESTING_TEST_SHM_H_
 #define AOS_TESTING_TEST_SHM_H_
 
-#include "aos/linux_code/ipc_lib/shared_mem.h"
+#include "aos/ipc_lib/shared_mem.h"
 
 namespace aos {
 namespace testing {
diff --git a/aos/time/BUILD b/aos/time/BUILD
index cbeeb5b..e5b1389 100644
--- a/aos/time/BUILD
+++ b/aos/time/BUILD
@@ -15,7 +15,7 @@
         "//aos:macros",
         "//aos/mutex:mutex",
         "//aos/logging",
-        "//aos/linux_code/ipc_lib:shared_mem",
+        "//aos/ipc_lib:shared_mem",
     ],
 )
 
diff --git a/aos/time/time.cc b/aos/time/time.cc
index a72b121..0d7295c 100644
--- a/aos/time/time.cc
+++ b/aos/time/time.cc
@@ -8,7 +8,7 @@
 
 // We only use global_core from here, which is weak, so we don't really have a
 // dependency on it.
-#include "aos/linux_code/ipc_lib/shared_mem.h"
+#include "aos/ipc_lib/shared_mem.h"
 
 #include "aos/logging/logging.h"
 #include "aos/mutex/mutex.h"
diff --git a/aos/vision/image/V4L2.h b/aos/vision/image/V4L2.h
index 58e5161..d02229a 100644
--- a/aos/vision/image/V4L2.h
+++ b/aos/vision/image/V4L2.h
@@ -1,5 +1,5 @@
-#ifndef AOS_LINUX_CODE_CAMREA_V4L2_H_
-#define AOS_LINUX_CODE_CAMREA_V4L2_H_
+#ifndef AOS_CAMREA_V4L2_H_
+#define AOS_CAMREA_V4L2_H_
 
 // This file handles including everything needed to use V4L2 and has some
 // utility functions.
diff --git a/frc971/control_loops/drivetrain/BUILD b/frc971/control_loops/drivetrain/BUILD
index 16c6340..abc8aaf 100644
--- a/frc971/control_loops/drivetrain/BUILD
+++ b/frc971/control_loops/drivetrain/BUILD
@@ -11,7 +11,7 @@
     deps = [
         ":drivetrain_queue",
         "//aos/controls:replay_control_loop",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/queues:gyro",
     ],
 )
diff --git a/frc971/control_loops/drivetrain/replay_drivetrain.cc b/frc971/control_loops/drivetrain/replay_drivetrain.cc
index 55e18ad..697bdec 100644
--- a/frc971/control_loops/drivetrain/replay_drivetrain.cc
+++ b/frc971/control_loops/drivetrain/replay_drivetrain.cc
@@ -1,5 +1,5 @@
 #include "aos/controls/replay_control_loop.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
 #include "frc971/queues/gyro.q.h"
diff --git a/frc971/wpilib/ADIS16448.cc b/frc971/wpilib/ADIS16448.cc
index 9633626..3696e2f 100644
--- a/frc971/wpilib/ADIS16448.cc
+++ b/frc971/wpilib/ADIS16448.cc
@@ -10,7 +10,7 @@
 #include "aos/logging/queue_logging.h"
 #include "aos/robot_state/robot_state.q.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "frc971/wpilib/imu.q.h"
 #include "frc971/zeroing/averager.h"
 
diff --git a/frc971/wpilib/BUILD b/frc971/wpilib/BUILD
index 61d19f3..bc3ac04 100644
--- a/frc971/wpilib/BUILD
+++ b/frc971/wpilib/BUILD
@@ -23,7 +23,7 @@
         ":dma_edge_counting",
         "//aos/mutex:mutex",
         "//aos/logging",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//third_party:wpilib",
     ],
 )
@@ -57,7 +57,7 @@
         "//aos/stl_mutex:stl_mutex",
         "//aos/time:time",
         "//aos/logging",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//third_party:wpilib",
     ],
 )
@@ -111,7 +111,7 @@
         "//aos/logging:queue_logging",
         "//aos/robot_state:robot_state",
         "//aos/util:phased_loop",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/queues:gyro",
         "//frc971/zeroing:averager",
     ],
@@ -147,7 +147,7 @@
         "//aos/time:time",
         "//aos/robot_state:robot_state",
         "//aos/util:log_interval",
-        "//aos/linux_code:init",
+        "//aos:init",
     ],
 )
 
@@ -164,7 +164,7 @@
         "//aos/logging:queue_logging",
         "//aos/robot_state:robot_state",
         "//aos/network:team_number",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//third_party:wpilib",
     ],
 )
@@ -205,7 +205,7 @@
         ":pdp_values",
         "//aos/logging:queue_logging",
         "//aos/util:phased_loop",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//third_party:wpilib",
     ],
 )
@@ -244,7 +244,7 @@
         "//aos/logging",
         "//aos/logging:queue_logging",
         "//aos/robot_state:robot_state",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/zeroing:averager",
         "//third_party:wpilib",
     ],
diff --git a/frc971/wpilib/encoder_and_potentiometer.cc b/frc971/wpilib/encoder_and_potentiometer.cc
index cee54e5..379a29f 100644
--- a/frc971/wpilib/encoder_and_potentiometer.cc
+++ b/frc971/wpilib/encoder_and_potentiometer.cc
@@ -1,6 +1,6 @@
 #include "frc971/wpilib/encoder_and_potentiometer.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/logging/logging.h"
 
 namespace frc971 {
diff --git a/frc971/wpilib/gyro_sender.cc b/frc971/wpilib/gyro_sender.cc
index c210038..3cbff00 100644
--- a/frc971/wpilib/gyro_sender.cc
+++ b/frc971/wpilib/gyro_sender.cc
@@ -12,7 +12,7 @@
 #include "aos/util/phased_loop.h"
 #include "aos/robot_state/robot_state.q.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/queues/gyro.q.h"
 #include "frc971/zeroing/averager.h"
diff --git a/frc971/wpilib/interrupt_edge_counting.cc b/frc971/wpilib/interrupt_edge_counting.cc
index 903296b..2291735 100644
--- a/frc971/wpilib/interrupt_edge_counting.cc
+++ b/frc971/wpilib/interrupt_edge_counting.cc
@@ -3,7 +3,7 @@
 #include <chrono>
 
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 namespace frc971 {
 namespace wpilib {
diff --git a/frc971/wpilib/joystick_sender.cc b/frc971/wpilib/joystick_sender.cc
index 034b838..3984d70 100644
--- a/frc971/wpilib/joystick_sender.cc
+++ b/frc971/wpilib/joystick_sender.cc
@@ -1,7 +1,7 @@
 #include "frc971/wpilib/joystick_sender.h"
 
 #include "aos/robot_state/robot_state.q.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/network/team_number.h"
 #include "aos/logging/queue_logging.h"
 
diff --git a/frc971/wpilib/loop_output_handler.cc b/frc971/wpilib/loop_output_handler.cc
index dfe63d9..7861760 100644
--- a/frc971/wpilib/loop_output_handler.cc
+++ b/frc971/wpilib/loop_output_handler.cc
@@ -6,7 +6,7 @@
 #include <functional>
 #include <thread>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/robot_state/robot_state.q.h"
 
 namespace frc971 {
diff --git a/frc971/wpilib/pdp_fetcher.cc b/frc971/wpilib/pdp_fetcher.cc
index ae720e6..83a4105 100644
--- a/frc971/wpilib/pdp_fetcher.cc
+++ b/frc971/wpilib/pdp_fetcher.cc
@@ -3,7 +3,7 @@
 #include <chrono>
 
 #include "aos/logging/queue_logging.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/util/phased_loop.h"
 #include "frc971/wpilib/pdp_values.q.h"
 
diff --git a/y2012/BUILD b/y2012/BUILD
index acc60d4..68dcc49 100644
--- a/y2012/BUILD
+++ b/y2012/BUILD
@@ -11,7 +11,7 @@
         "//aos/logging",
         "//aos/util:log_interval",
         "//aos/input:joystick_input",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/queues:gyro",
@@ -50,7 +50,7 @@
         "//aos/util:log_interval",
         "//aos/util:phased_loop",
         "//aos/util:wrapping_counter",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/control_loops:queues",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/wpilib:buffered_pcm",
diff --git a/y2012/control_loops/accessories/BUILD b/y2012/control_loops/accessories/BUILD
index 878024a..63f02dd 100644
--- a/y2012/control_loops/accessories/BUILD
+++ b/y2012/control_loops/accessories/BUILD
@@ -9,7 +9,7 @@
   ],
   deps = [
     ':accessories_queue',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//aos/controls:control_loop',
   ],
 )
diff --git a/y2012/control_loops/accessories/accessories.cc b/y2012/control_loops/accessories/accessories.cc
index 2bbe4c8..0f9fc93 100644
--- a/y2012/control_loops/accessories/accessories.cc
+++ b/y2012/control_loops/accessories/accessories.cc
@@ -1,6 +1,6 @@
 #include "y2012/control_loops/accessories/accessories.q.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/controls/control_loop.h"
 
 namespace y2012 {
diff --git a/y2012/control_loops/drivetrain/BUILD b/y2012/control_loops/drivetrain/BUILD
index 5a6fa50..52eb7ac 100644
--- a/y2012/control_loops/drivetrain/BUILD
+++ b/y2012/control_loops/drivetrain/BUILD
@@ -72,7 +72,7 @@
   ],
   deps = [
     ':drivetrain_base',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )
diff --git a/y2012/control_loops/drivetrain/drivetrain_main.cc b/y2012/control_loops/drivetrain/drivetrain_main.cc
index cb453f5..6b7eca3 100644
--- a/y2012/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2012/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2012/control_loops/drivetrain/drivetrain_base.h"
diff --git a/y2012/joystick_reader.cc b/y2012/joystick_reader.cc
index 30de49e..e48eaf6 100644
--- a/y2012/joystick_reader.cc
+++ b/y2012/joystick_reader.cc
@@ -3,7 +3,7 @@
 #include <unistd.h>
 #include <math.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/input/joystick_input.h"
 #include "aos/input/driver_station_data.h"
 #include "aos/logging/logging.h"
diff --git a/y2012/wpilib_interface.cc b/y2012/wpilib_interface.cc
index 3f74fc1..5cbb7f8 100644
--- a/y2012/wpilib_interface.cc
+++ b/y2012/wpilib_interface.cc
@@ -28,7 +28,7 @@
 #include "aos/util/phased_loop.h"
 #include "aos/util/wrapping_counter.h"
 #include "aos/stl_mutex/stl_mutex.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/robot_state/robot_state.q.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
diff --git a/y2014/BUILD b/y2014/BUILD
index 61a3c4f..28569d0 100644
--- a/y2014/BUILD
+++ b/y2014/BUILD
@@ -32,7 +32,7 @@
         "//aos/logging",
         "//aos/util:log_interval",
         "//aos/input:joystick_input",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/queues:gyro",
@@ -70,7 +70,7 @@
         "//aos/time:time",
         "//aos/logging",
         "//aos/logging:queue_logging",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//y2014/queues:hot_goal",
     ],
 )
@@ -92,7 +92,7 @@
         "//aos/util:log_interval",
         "//aos/util:phased_loop",
         "//aos/util:wrapping_counter",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/control_loops:queues",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/wpilib:buffered_pcm",
diff --git a/y2014/actors/BUILD b/y2014/actors/BUILD
index 37de2c9..1b9cf8e 100644
--- a/y2014/actors/BUILD
+++ b/y2014/actors/BUILD
@@ -46,7 +46,7 @@
     'shoot_actor_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':shoot_action_lib',
     ':shoot_action_queue',
   ],
@@ -92,7 +92,7 @@
     'drivetrain_actor_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':drivetrain_action_lib',
     ':drivetrain_action_queue',
   ],
diff --git a/y2014/actors/drivetrain_actor_main.cc b/y2014/actors/drivetrain_actor_main.cc
index 4ecd1ab..8d33390 100644
--- a/y2014/actors/drivetrain_actor_main.cc
+++ b/y2014/actors/drivetrain_actor_main.cc
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "y2014/actors/drivetrain_action.q.h"
 #include "y2014/actors/drivetrain_actor.h"
 
diff --git a/y2014/actors/shoot_actor_main.cc b/y2014/actors/shoot_actor_main.cc
index 96fd8ea..e3e7706 100644
--- a/y2014/actors/shoot_actor_main.cc
+++ b/y2014/actors/shoot_actor_main.cc
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "y2014/actors/shoot_action.q.h"
 #include "y2014/actors/shoot_actor.h"
 
diff --git a/y2014/autonomous/BUILD b/y2014/autonomous/BUILD
index 7d171dc..d76e910 100644
--- a/y2014/autonomous/BUILD
+++ b/y2014/autonomous/BUILD
@@ -35,7 +35,7 @@
     'auto_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/autonomous:auto_queue',
     ':auto_lib',
   ],
diff --git a/y2014/autonomous/auto_main.cc b/y2014/autonomous/auto_main.cc
index 81c5d34..d38e1e6 100644
--- a/y2014/autonomous/auto_main.cc
+++ b/y2014/autonomous/auto_main.cc
@@ -1,7 +1,7 @@
 #include <stdio.h>
 
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/logging/logging.h"
 #include "frc971/autonomous/auto.q.h"
 #include "y2014/autonomous/auto.h"
diff --git a/y2014/control_loops/claw/BUILD b/y2014/control_loops/claw/BUILD
index 252edce..f267251 100644
--- a/y2014/control_loops/claw/BUILD
+++ b/y2014/control_loops/claw/BUILD
@@ -10,7 +10,7 @@
   deps = [
     ':claw_queue',
     '//aos/controls:replay_control_loop',
-    '//aos/linux_code:init',
+    '//aos:init',
   ],
 )
 
@@ -86,7 +86,7 @@
     'claw_calibration.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':claw_queue',
     '//aos/controls:control_loop',
     '//y2014:constants',
@@ -99,7 +99,7 @@
     'claw_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':claw_lib',
   ],
 )
diff --git a/y2014/control_loops/claw/claw_calibration.cc b/y2014/control_loops/claw/claw_calibration.cc
index 0dc3c06..149ed3c 100644
--- a/y2014/control_loops/claw/claw_calibration.cc
+++ b/y2014/control_loops/claw/claw_calibration.cc
@@ -1,7 +1,7 @@
 #include "y2014/control_loops/claw/claw.q.h"
 #include "frc971/control_loops/control_loops.q.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "y2014/constants.h"
 
 namespace y2014 {
diff --git a/y2014/control_loops/claw/claw_main.cc b/y2014/control_loops/claw/claw_main.cc
index 8126851..5bb61ba 100644
--- a/y2014/control_loops/claw/claw_main.cc
+++ b/y2014/control_loops/claw/claw_main.cc
@@ -1,6 +1,6 @@
 #include "y2014/control_loops/claw/claw.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::Init();
diff --git a/y2014/control_loops/claw/replay_claw.cc b/y2014/control_loops/claw/replay_claw.cc
index 21b44dd..b943328 100644
--- a/y2014/control_loops/claw/replay_claw.cc
+++ b/y2014/control_loops/claw/replay_claw.cc
@@ -1,5 +1,5 @@
 #include "aos/controls/replay_control_loop.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "y2014/control_loops/claw/claw.q.h"
 
diff --git a/y2014/control_loops/drivetrain/BUILD b/y2014/control_loops/drivetrain/BUILD
index 842fe0b..5961596 100644
--- a/y2014/control_loops/drivetrain/BUILD
+++ b/y2014/control_loops/drivetrain/BUILD
@@ -71,7 +71,7 @@
   ],
   deps = [
     ':drivetrain_base',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )
diff --git a/y2014/control_loops/drivetrain/drivetrain_main.cc b/y2014/control_loops/drivetrain/drivetrain_main.cc
index 883bdd2..ae20bc8 100644
--- a/y2014/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2014/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "y2014/control_loops/drivetrain/drivetrain_base.h"
 #include "frc971/control_loops/drivetrain/drivetrain.h"
diff --git a/y2014/control_loops/shooter/BUILD b/y2014/control_loops/shooter/BUILD
index c7e9ccc..810d239 100644
--- a/y2014/control_loops/shooter/BUILD
+++ b/y2014/control_loops/shooter/BUILD
@@ -10,7 +10,7 @@
   deps = [
     ':shooter_queue',
     '//aos/controls:replay_control_loop',
-    '//aos/linux_code:init',
+    '//aos:init',
   ],
 )
 
@@ -85,7 +85,7 @@
     'shooter_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':shooter_lib',
   ],
 )
diff --git a/y2014/control_loops/shooter/replay_shooter.cc b/y2014/control_loops/shooter/replay_shooter.cc
index 2f42875..e86cedc 100644
--- a/y2014/control_loops/shooter/replay_shooter.cc
+++ b/y2014/control_loops/shooter/replay_shooter.cc
@@ -1,5 +1,5 @@
 #include "aos/controls/replay_control_loop.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "y2014/control_loops/shooter/shooter.q.h"
 
diff --git a/y2014/control_loops/shooter/shooter_main.cc b/y2014/control_loops/shooter/shooter_main.cc
index 2819f10..b6f4a8c 100644
--- a/y2014/control_loops/shooter/shooter_main.cc
+++ b/y2014/control_loops/shooter/shooter_main.cc
@@ -1,6 +1,6 @@
 #include "y2014/control_loops/shooter/shooter.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::Init();
diff --git a/y2014/hot_goal_reader.cc b/y2014/hot_goal_reader.cc
index 14538a2..0b99edb 100644
--- a/y2014/hot_goal_reader.cc
+++ b/y2014/hot_goal_reader.cc
@@ -9,7 +9,7 @@
 #include "aos/time/time.h"
 #include "aos/logging/queue_logging.h"
 #include "aos/logging/logging.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/byteorder.h"
 
 #include "y2014/queues/hot_goal.q.h"
diff --git a/y2014/joystick_reader.cc b/y2014/joystick_reader.cc
index e485d2e..bc13be2 100644
--- a/y2014/joystick_reader.cc
+++ b/y2014/joystick_reader.cc
@@ -3,7 +3,7 @@
 #include <unistd.h>
 #include <math.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/input/joystick_input.h"
 #include "aos/input/driver_station_data.h"
 #include "aos/logging/logging.h"
diff --git a/y2014/wpilib_interface.cc b/y2014/wpilib_interface.cc
index a97b758..24a41c7 100644
--- a/y2014/wpilib_interface.cc
+++ b/y2014/wpilib_interface.cc
@@ -27,7 +27,7 @@
 #include "aos/util/phased_loop.h"
 #include "aos/util/wrapping_counter.h"
 #include "aos/stl_mutex/stl_mutex.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/robot_state/robot_state.q.h"
 
 #include "frc971/shifter_hall_effect.h"
diff --git a/y2014_bot3/BUILD b/y2014_bot3/BUILD
index 3da2637..3654191 100644
--- a/y2014_bot3/BUILD
+++ b/y2014_bot3/BUILD
@@ -11,7 +11,7 @@
         "//aos/logging",
         "//aos/util:log_interval",
         "//aos/input:joystick_input",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/queues:gyro",
         "//y2014_bot3/autonomous:auto_queue",
@@ -51,7 +51,7 @@
         "//aos/util:log_interval",
         "//aos/util:phased_loop",
         "//aos/util:wrapping_counter",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/control_loops:queues",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/wpilib:buffered_pcm",
diff --git a/y2014_bot3/actions/drivetrain_action_main.cc b/y2014_bot3/actions/drivetrain_action_main.cc
index 3c9f561..84042c6 100644
--- a/y2014_bot3/actions/drivetrain_action_main.cc
+++ b/y2014_bot3/actions/drivetrain_action_main.cc
@@ -1,7 +1,7 @@
 #include <stdio.h>
 
 #include "aos/logging/logging.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "bot3/actions/drivetrain_action.h"
 #include "frc971/actions/drivetrain_action.q.h"
 
diff --git a/y2014_bot3/autonomous/BUILD b/y2014_bot3/autonomous/BUILD
index c3c3292..c4db824 100644
--- a/y2014_bot3/autonomous/BUILD
+++ b/y2014_bot3/autonomous/BUILD
@@ -36,7 +36,7 @@
     'auto_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':auto_queue',
     ':auto_lib',
   ],
diff --git a/y2014_bot3/autonomous/auto_main.cc b/y2014_bot3/autonomous/auto_main.cc
index 0697b9d..55c7c05 100644
--- a/y2014_bot3/autonomous/auto_main.cc
+++ b/y2014_bot3/autonomous/auto_main.cc
@@ -1,7 +1,7 @@
 #include <stdio.h>
 
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/logging/logging.h"
 #include "y2014_bot3/autonomous/auto.q.h"
 #include "y2014_bot3/autonomous/auto.h"
diff --git a/y2014_bot3/control_loops/drivetrain/BUILD b/y2014_bot3/control_loops/drivetrain/BUILD
index 1f50a53..cc198c7 100644
--- a/y2014_bot3/control_loops/drivetrain/BUILD
+++ b/y2014_bot3/control_loops/drivetrain/BUILD
@@ -71,7 +71,7 @@
   ],
   deps = [
     ':drivetrain_base',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )
diff --git a/y2014_bot3/control_loops/drivetrain/drivetrain_main.cc b/y2014_bot3/control_loops/drivetrain/drivetrain_main.cc
index a0f0a83..3a2dc6d 100644
--- a/y2014_bot3/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2014_bot3/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2014_bot3/control_loops/drivetrain/drivetrain_base.h"
diff --git a/y2014_bot3/control_loops/rollers/BUILD b/y2014_bot3/control_loops/rollers/BUILD
index 029c190..0ca9e1b 100644
--- a/y2014_bot3/control_loops/rollers/BUILD
+++ b/y2014_bot3/control_loops/rollers/BUILD
@@ -35,6 +35,6 @@
   ],
   deps = [
     ':rollers_lib',
-    '//aos/linux_code:init',
+    '//aos:init',
   ],
 )
diff --git a/y2014_bot3/control_loops/rollers/rollers_main.cc b/y2014_bot3/control_loops/rollers/rollers_main.cc
index 4700a6e..b2bb7c9 100644
--- a/y2014_bot3/control_loops/rollers/rollers_main.cc
+++ b/y2014_bot3/control_loops/rollers/rollers_main.cc
@@ -1,6 +1,6 @@
 #include "y2014_bot3/control_loops/rollers/rollers.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::Init();
diff --git a/y2014_bot3/joystick_reader.cc b/y2014_bot3/joystick_reader.cc
index 84359b5..6736329 100644
--- a/y2014_bot3/joystick_reader.cc
+++ b/y2014_bot3/joystick_reader.cc
@@ -3,7 +3,7 @@
 #include <unistd.h>
 #include <math.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/input/joystick_input.h"
 #include "aos/input/driver_station_data.h"
 #include "aos/logging/logging.h"
diff --git a/y2014_bot3/output/motor_writer.cc b/y2014_bot3/output/motor_writer.cc
index 89a69e0..440aa7a 100644
--- a/y2014_bot3/output/motor_writer.cc
+++ b/y2014_bot3/output/motor_writer.cc
@@ -4,7 +4,7 @@
 
 #include "aos/output/motor_output.h"
 #include "aos/logging/logging.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/util/log_interval.h"
 #include "aos/time/time.h"
 #include "aos/logging/queue_logging.h"
diff --git a/y2014_bot3/wpilib_interface.cc b/y2014_bot3/wpilib_interface.cc
index fcdd731..9f991c9 100644
--- a/y2014_bot3/wpilib_interface.cc
+++ b/y2014_bot3/wpilib_interface.cc
@@ -25,7 +25,7 @@
 #include "aos/util/phased_loop.h"
 #include "aos/util/wrapping_counter.h"
 #include "aos/stl_mutex/stl_mutex.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/robot_state/robot_state.q.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
diff --git a/y2016/BUILD b/y2016/BUILD
index e839562..3414331 100644
--- a/y2016/BUILD
+++ b/y2016/BUILD
@@ -36,7 +36,7 @@
         "//aos/logging",
         "//aos/util:log_interval",
         "//aos/input:joystick_input",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/queues:gyro",
@@ -116,7 +116,7 @@
         "//aos/util:log_interval",
         "//aos/util:phased_loop",
         "//aos/util:wrapping_counter",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/control_loops:queues",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
diff --git a/y2016/actors/BUILD b/y2016/actors/BUILD
index 89431c1..19b5c63 100644
--- a/y2016/actors/BUILD
+++ b/y2016/actors/BUILD
@@ -45,7 +45,7 @@
   deps = [
     ':superstructure_action_lib',
     ':superstructure_action_queue',
-    '//aos/linux_code:init',
+    '//aos:init',
   ],
 )
 
@@ -80,7 +80,7 @@
   ],
   deps = [
     ':autonomous_action_lib',
-    '//aos/linux_code:init',
+    '//aos:init',
   ],
 )
 
@@ -127,6 +127,6 @@
   deps = [
     ':vision_align_action_lib',
     ':vision_align_action_queue',
-    '//aos/linux_code:init',
+    '//aos:init',
   ],
 )
diff --git a/y2016/actors/autonomous_actor_main.cc b/y2016/actors/autonomous_actor_main.cc
index f5520bc..bc64366 100644
--- a/y2016/actors/autonomous_actor_main.cc
+++ b/y2016/actors/autonomous_actor_main.cc
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "y2016/actors/autonomous_actor.h"
 
 int main(int /*argc*/, char * /*argv*/ []) {
diff --git a/y2016/actors/superstructure_actor_main.cc b/y2016/actors/superstructure_actor_main.cc
index 0b3c4be..69bea8a 100644
--- a/y2016/actors/superstructure_actor_main.cc
+++ b/y2016/actors/superstructure_actor_main.cc
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "y2016/actors/superstructure_action.q.h"
 #include "y2016/actors/superstructure_actor.h"
 
diff --git a/y2016/actors/vision_align_actor_main.cc b/y2016/actors/vision_align_actor_main.cc
index 17fdc0a..f9854f7 100644
--- a/y2016/actors/vision_align_actor_main.cc
+++ b/y2016/actors/vision_align_actor_main.cc
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "y2016/actors/vision_align_action.q.h"
 #include "y2016/actors/vision_align_actor.h"
 
diff --git a/y2016/control_loops/drivetrain/BUILD b/y2016/control_loops/drivetrain/BUILD
index f798681..31d4dbe 100644
--- a/y2016/control_loops/drivetrain/BUILD
+++ b/y2016/control_loops/drivetrain/BUILD
@@ -81,7 +81,7 @@
     ],
     deps = [
         ":drivetrain_base",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/control_loops/drivetrain:drivetrain_lib",
     ],
 )
diff --git a/y2016/control_loops/drivetrain/drivetrain_main.cc b/y2016/control_loops/drivetrain/drivetrain_main.cc
index deb7ae3..f461581 100644
--- a/y2016/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2016/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2016/control_loops/drivetrain/drivetrain_base.h"
diff --git a/y2016/control_loops/shooter/BUILD b/y2016/control_loops/shooter/BUILD
index 794a35b..4f62c7a 100644
--- a/y2016/control_loops/shooter/BUILD
+++ b/y2016/control_loops/shooter/BUILD
@@ -80,7 +80,7 @@
     'shooter_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':shooter_lib',
     ':shooter_queue',
   ],
diff --git a/y2016/control_loops/shooter/shooter_main.cc b/y2016/control_loops/shooter/shooter_main.cc
index 4036c5f..2e1d875 100644
--- a/y2016/control_loops/shooter/shooter_main.cc
+++ b/y2016/control_loops/shooter/shooter_main.cc
@@ -1,6 +1,6 @@
 #include "y2016/control_loops/shooter/shooter.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::Init();
diff --git a/y2016/control_loops/superstructure/BUILD b/y2016/control_loops/superstructure/BUILD
index 38f20d2..7f08651 100644
--- a/y2016/control_loops/superstructure/BUILD
+++ b/y2016/control_loops/superstructure/BUILD
@@ -111,7 +111,7 @@
     'superstructure_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':superstructure_lib',
     ':superstructure_queue',
   ],
diff --git a/y2016/control_loops/superstructure/superstructure_main.cc b/y2016/control_loops/superstructure/superstructure_main.cc
index f4987fb..a08074d 100644
--- a/y2016/control_loops/superstructure/superstructure_main.cc
+++ b/y2016/control_loops/superstructure/superstructure_main.cc
@@ -1,6 +1,6 @@
 #include "y2016/control_loops/superstructure/superstructure.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::Init();
diff --git a/y2016/dashboard/BUILD b/y2016/dashboard/BUILD
index aa26aef..31038b5 100644
--- a/y2016/dashboard/BUILD
+++ b/y2016/dashboard/BUILD
@@ -1,4 +1,4 @@
-load('//aos/externals/seasocks:gen_embedded.bzl', 'gen_embedded')
+load('//aos/seasocks:gen_embedded.bzl', 'gen_embedded')
 load('//aos/downloader:downloader.bzl', 'aos_downloader_dir')
 
 gen_embedded(
@@ -24,7 +24,7 @@
   ],
   deps = [
     ':gen_embedded',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//aos/logging',
     '//aos/util:phased_loop',
     '//aos/time:time',
diff --git a/y2016/dashboard/dashboard.cc b/y2016/dashboard/dashboard.cc
index 5882eea..ceb4358 100644
--- a/y2016/dashboard/dashboard.cc
+++ b/y2016/dashboard/dashboard.cc
@@ -10,7 +10,7 @@
 
 #include "seasocks/Server.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/logging/logging.h"
 #include "aos/time/time.h"
 #include "aos/util/phased_loop.h"
diff --git a/y2016/dashboard/dashboard.h b/y2016/dashboard/dashboard.h
index a95c476..d9b7c11 100644
--- a/y2016/dashboard/dashboard.h
+++ b/y2016/dashboard/dashboard.h
@@ -11,7 +11,7 @@
 #include "seasocks/StringUtil.h"
 #include "seasocks/WebSocket.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/time/time.h"
 #include "aos/util/phased_loop.h"
 #include "aos/mutex/mutex.h"
diff --git a/y2016/joystick_reader.cc b/y2016/joystick_reader.cc
index bc90a51..99bfb68 100644
--- a/y2016/joystick_reader.cc
+++ b/y2016/joystick_reader.cc
@@ -3,7 +3,7 @@
 #include <unistd.h>
 #include <math.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/input/joystick_input.h"
 #include "aos/input/driver_station_data.h"
 #include "aos/logging/logging.h"
diff --git a/y2016/vision/BUILD b/y2016/vision/BUILD
index da3c7b2..42fae12 100644
--- a/y2016/vision/BUILD
+++ b/y2016/vision/BUILD
@@ -153,7 +153,7 @@
         "//aos/time:time",
         "//aos/logging",
         "//aos/logging:queue_logging",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//aos/vision/events:udp",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//y2016:constants",
diff --git a/y2016/vision/target_receiver.cc b/y2016/vision/target_receiver.cc
index 3f2fbbc..3409671 100644
--- a/y2016/vision/target_receiver.cc
+++ b/y2016/vision/target_receiver.cc
@@ -14,7 +14,7 @@
 #include "aos/logging/queue_logging.h"
 #include "aos/mutex/mutex.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/vision/events/udp.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
diff --git a/y2016/wpilib_interface.cc b/y2016/wpilib_interface.cc
index 4e95934..9463b3f 100644
--- a/y2016/wpilib_interface.cc
+++ b/y2016/wpilib_interface.cc
@@ -28,7 +28,7 @@
 #include "aos/util/phased_loop.h"
 #include "aos/util/wrapping_counter.h"
 #include "aos/stl_mutex/stl_mutex.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/robot_state/robot_state.q.h"
 #include "aos/commonmath.h"
 
diff --git a/y2017/BUILD b/y2017/BUILD
index 25777a4..aa67a78 100644
--- a/y2017/BUILD
+++ b/y2017/BUILD
@@ -37,7 +37,7 @@
         "//aos/util:log_interval",
         "//aos/input:drivetrain_input",
         "//aos/input:joystick_input",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//y2017/actors:autonomous_action_lib",
@@ -64,7 +64,7 @@
         "//aos/util:log_interval",
         "//aos/util:phased_loop",
         "//aos/util:wrapping_counter",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/control_loops:queues",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
diff --git a/y2017/actors/BUILD b/y2017/actors/BUILD
index 3f37300..9e2f7d3 100644
--- a/y2017/actors/BUILD
+++ b/y2017/actors/BUILD
@@ -36,7 +36,7 @@
   ],
   deps = [
     ':autonomous_action_lib',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/autonomous:auto_queue',
   ],
 )
diff --git a/y2017/actors/autonomous_actor_main.cc b/y2017/actors/autonomous_actor_main.cc
index eb18c58..9a58d56 100644
--- a/y2017/actors/autonomous_actor_main.cc
+++ b/y2017/actors/autonomous_actor_main.cc
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "frc971/autonomous/auto.q.h"
 #include "y2017/actors/autonomous_actor.h"
 
diff --git a/y2017/control_loops/drivetrain/BUILD b/y2017/control_loops/drivetrain/BUILD
index 8651320..f45941d 100644
--- a/y2017/control_loops/drivetrain/BUILD
+++ b/y2017/control_loops/drivetrain/BUILD
@@ -72,7 +72,7 @@
   ],
   deps = [
     ':drivetrain_base',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )
diff --git a/y2017/control_loops/drivetrain/drivetrain_main.cc b/y2017/control_loops/drivetrain/drivetrain_main.cc
index aab4ea0..4507a4a 100644
--- a/y2017/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2017/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2017/control_loops/drivetrain/drivetrain_base.h"
diff --git a/y2017/control_loops/superstructure/BUILD b/y2017/control_loops/superstructure/BUILD
index e7836b3..3a3d17e 100644
--- a/y2017/control_loops/superstructure/BUILD
+++ b/y2017/control_loops/superstructure/BUILD
@@ -62,7 +62,7 @@
     'superstructure_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':superstructure_lib',
     ':superstructure_queue',
   ],
diff --git a/y2017/control_loops/superstructure/superstructure_main.cc b/y2017/control_loops/superstructure/superstructure_main.cc
index 0c8d9a7..6ab834b 100644
--- a/y2017/control_loops/superstructure/superstructure_main.cc
+++ b/y2017/control_loops/superstructure/superstructure_main.cc
@@ -1,6 +1,6 @@
 #include "y2017/control_loops/superstructure/superstructure.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::Init();
diff --git a/y2017/joystick_reader.cc b/y2017/joystick_reader.cc
index b9bbe3d..c7869b4 100644
--- a/y2017/joystick_reader.cc
+++ b/y2017/joystick_reader.cc
@@ -10,7 +10,7 @@
 #include "aos/util/log_interval.h"
 #include "aos/input/drivetrain_input.h"
 #include "aos/input/joystick_input.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "frc971/autonomous/auto.q.h"
 #include "frc971/autonomous/base_autonomous_actor.h"
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
diff --git a/y2017/vision/BUILD b/y2017/vision/BUILD
index f4c4346..142fc22 100644
--- a/y2017/vision/BUILD
+++ b/y2017/vision/BUILD
@@ -59,7 +59,7 @@
   deps = [
     '//aos/logging',
     '//aos/logging:queue_logging',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//aos/time:time',
     '//aos/vision/events:udp',
     ':vision_queue',
diff --git a/y2017/vision/target_receiver.cc b/y2017/vision/target_receiver.cc
index 56076c7..259e5fd 100644
--- a/y2017/vision/target_receiver.cc
+++ b/y2017/vision/target_receiver.cc
@@ -3,7 +3,7 @@
 #include "aos/logging/logging.h"
 #include "aos/logging/queue_logging.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/vision/events/udp.h"
 #include "y2017/vision/target_finder.h"
 #include "y2017/vision/vision.q.h"
diff --git a/y2017/wpilib_interface.cc b/y2017/wpilib_interface.cc
index 52a6989..01184fa 100644
--- a/y2017/wpilib_interface.cc
+++ b/y2017/wpilib_interface.cc
@@ -31,7 +31,7 @@
 #include "aos/util/log_interval.h"
 #include "aos/util/phased_loop.h"
 #include "aos/util/wrapping_counter.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/autonomous/auto.q.h"
 #include "frc971/control_loops/control_loops.q.h"
diff --git a/y2017_bot3/BUILD b/y2017_bot3/BUILD
index 430255a..aaef43a 100644
--- a/y2017_bot3/BUILD
+++ b/y2017_bot3/BUILD
@@ -12,7 +12,7 @@
         "//aos/util:log_interval",
         "//aos/input:drivetrain_input",
         "//aos/input:joystick_input",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/autonomous:base_autonomous_actor",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
@@ -38,7 +38,7 @@
         "//aos/robot_state:robot_state",
         "//aos/util:log_interval",
         "//aos/util:phased_loop",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/control_loops:queues",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
         "//frc971/wpilib:buffered_pcm",
diff --git a/y2017_bot3/control_loops/drivetrain/BUILD b/y2017_bot3/control_loops/drivetrain/BUILD
index 0a9465a..eca6667 100644
--- a/y2017_bot3/control_loops/drivetrain/BUILD
+++ b/y2017_bot3/control_loops/drivetrain/BUILD
@@ -71,7 +71,7 @@
   ],
   deps = [
     ':drivetrain_base',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )
diff --git a/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc b/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc
index 3c65c7b..f24b949 100644
--- a/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2017_bot3/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2017_bot3/control_loops/drivetrain/drivetrain_base.h"
diff --git a/y2017_bot3/control_loops/superstructure/BUILD b/y2017_bot3/control_loops/superstructure/BUILD
index 5679e1b..17cfc20 100644
--- a/y2017_bot3/control_loops/superstructure/BUILD
+++ b/y2017_bot3/control_loops/superstructure/BUILD
@@ -40,7 +40,7 @@
     'superstructure_main.cc',
   ],
   deps = [
-    '//aos/linux_code:init',
+    '//aos:init',
     ':superstructure_lib',
     ':superstructure_queue',
   ],
diff --git a/y2017_bot3/control_loops/superstructure/superstructure_main.cc b/y2017_bot3/control_loops/superstructure/superstructure_main.cc
index 04a41a4..378b498 100644
--- a/y2017_bot3/control_loops/superstructure/superstructure_main.cc
+++ b/y2017_bot3/control_loops/superstructure/superstructure_main.cc
@@ -1,6 +1,6 @@
 #include "y2017_bot3/control_loops/superstructure/superstructure.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::Init();
diff --git a/y2017_bot3/joystick_reader.cc b/y2017_bot3/joystick_reader.cc
index 713247f..811617e 100644
--- a/y2017_bot3/joystick_reader.cc
+++ b/y2017_bot3/joystick_reader.cc
@@ -10,7 +10,7 @@
 #include "aos/util/log_interval.h"
 #include "aos/input/drivetrain_input.h"
 #include "aos/input/joystick_input.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "frc971/autonomous/auto.q.h"
 #include "frc971/autonomous/base_autonomous_actor.h"
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
diff --git a/y2017_bot3/wpilib_interface.cc b/y2017_bot3/wpilib_interface.cc
index 4022670..7d3a0ed 100644
--- a/y2017_bot3/wpilib_interface.cc
+++ b/y2017_bot3/wpilib_interface.cc
@@ -27,7 +27,7 @@
 #include "aos/util/compiler_memory_barrier.h"
 #include "aos/util/log_interval.h"
 #include "aos/util/phased_loop.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/control_loops.q.h"
 #include "frc971/control_loops/drivetrain/drivetrain.q.h"
diff --git a/y2018/BUILD b/y2018/BUILD
index 51bffd2..dbed8bd 100644
--- a/y2018/BUILD
+++ b/y2018/BUILD
@@ -51,7 +51,7 @@
         "//aos/util:log_interval",
         "//aos/input:drivetrain_input",
         "//aos/input:joystick_input",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//aos/vision/events:udp",
         "//frc971/autonomous:auto_queue",
         "//frc971/autonomous:base_autonomous_actor",
@@ -102,7 +102,7 @@
         "//aos/util:log_interval",
         "//aos/util:phased_loop",
         "//aos/util:wrapping_counter",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
         "//frc971/control_loops:queues",
         "//frc971/control_loops/drivetrain:drivetrain_queue",
diff --git a/y2018/actors/BUILD b/y2018/actors/BUILD
index 876d8e4..fd40c38 100644
--- a/y2018/actors/BUILD
+++ b/y2018/actors/BUILD
@@ -29,7 +29,7 @@
     visibility = ["//visibility:public"],
     deps = [
         ":autonomous_action_lib",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//frc971/autonomous:auto_queue",
     ],
 )
diff --git a/y2018/actors/autonomous_actor_main.cc b/y2018/actors/autonomous_actor_main.cc
index 733bec0..a345fe6 100644
--- a/y2018/actors/autonomous_actor_main.cc
+++ b/y2018/actors/autonomous_actor_main.cc
@@ -1,6 +1,6 @@
 #include <stdio.h>
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "frc971/autonomous/auto.q.h"
 #include "y2018/actors/autonomous_actor.h"
 
diff --git a/y2018/control_loops/drivetrain/BUILD b/y2018/control_loops/drivetrain/BUILD
index e446b22..64fa16f 100644
--- a/y2018/control_loops/drivetrain/BUILD
+++ b/y2018/control_loops/drivetrain/BUILD
@@ -70,7 +70,7 @@
   ],
   deps = [
     ':drivetrain_base',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )
diff --git a/y2018/control_loops/drivetrain/drivetrain_main.cc b/y2018/control_loops/drivetrain/drivetrain_main.cc
index 26d300b..15d99be 100644
--- a/y2018/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2018/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2018/control_loops/drivetrain/drivetrain_base.h"
diff --git a/y2018/control_loops/python/BUILD b/y2018/control_loops/python/BUILD
index 925e7b6..3982722 100644
--- a/y2018/control_loops/python/BUILD
+++ b/y2018/control_loops/python/BUILD
@@ -96,13 +96,13 @@
 )
 
 cc_library(
-    name = "dlqr",
-    hdrs = [
-        "dlqr.h",
-    ],
+  name = 'dlqr',
+  hdrs = [
+    'dlqr.h',
+  ],
     deps = [
-        "@slycot_repo//:slicot",
-    ],
+        '@slycot_repo//:slicot',
+  ],
 )
 
 cc_binary(
@@ -110,15 +110,15 @@
     srcs = [
         "arm_mpc.cc",
     ],
-    restricted_to = ["//tools:k8"],
     deps = [
         ":arm_bounds",
-        ":dlqr",
+        ':dlqr',
         "//third_party/ct",
         "//third_party/gflags",
         "//third_party/matplotlib-cpp",
         "@cgal_repo//:cgal",
     ],
+    restricted_to = ["//tools:k8"],
 )
 
 cc_binary(
@@ -169,11 +169,9 @@
     ],
     default_python_version = "PY3",
     legacy_create_init = False,
-    restricted_to = ["//tools:k8"],
     srcs_version = "PY3",
     deps = [
         ":python_init",
-        "@python_gtk",
     ],
 )
 
@@ -212,15 +210,15 @@
 )
 
 py_binary(
-    name = "arm_mpc_py",
-    srcs = [
-        "arm_mpc.py",
-    ],
-    main = "arm_mpc.py",
-    restricted_to = ["//tools:k8"],
-    deps = [
-        "//external:python-gflags",
-        "//external:python-glog",
-        "//frc971/control_loops/python:controls",
-    ],
+  name = 'arm_mpc_py',
+  srcs = [
+    'arm_mpc.py',
+  ],
+  main = 'arm_mpc.py',
+  deps = [
+    '//external:python-gflags',
+    '//external:python-glog',
+    '//frc971/control_loops/python:controls',
+  ],
+  restricted_to = ['//tools:k8'],
 )
diff --git a/y2018/control_loops/superstructure/BUILD b/y2018/control_loops/superstructure/BUILD
index 569e3a1..efe0c1d 100644
--- a/y2018/control_loops/superstructure/BUILD
+++ b/y2018/control_loops/superstructure/BUILD
@@ -61,7 +61,7 @@
     deps = [
         ":superstructure_lib",
         ":superstructure_queue",
-        "//aos/linux_code:init",
+        "//aos:init",
     ],
 )
 
diff --git a/y2018/control_loops/superstructure/superstructure_main.cc b/y2018/control_loops/superstructure/superstructure_main.cc
index e8e1c7b..fca04e8 100644
--- a/y2018/control_loops/superstructure/superstructure_main.cc
+++ b/y2018/control_loops/superstructure/superstructure_main.cc
@@ -1,6 +1,6 @@
 #include "y2018/control_loops/superstructure/superstructure.h"
 
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 int main() {
   ::aos::InitNRT(true);
diff --git a/y2018/joystick_reader.cc b/y2018/joystick_reader.cc
index de8f1f6..bc43b0c 100644
--- a/y2018/joystick_reader.cc
+++ b/y2018/joystick_reader.cc
@@ -14,7 +14,7 @@
 #include "aos/util/log_interval.h"
 #include "aos/input/drivetrain_input.h"
 #include "aos/input/joystick_input.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/vision/events/udp.h"
 #include "frc971/autonomous/auto.q.h"
 #include "frc971/autonomous/base_autonomous_actor.h"
diff --git a/y2018/vision/BUILD b/y2018/vision/BUILD
index 4093ebc..f139e4e 100644
--- a/y2018/vision/BUILD
+++ b/y2018/vision/BUILD
@@ -36,7 +36,7 @@
         "//aos/time:time",
         "//aos/logging",
         "//aos/logging:queue_logging",
-        "//aos/linux_code:init",
+        "//aos:init",
         "//aos/vision/events:udp",
         "//y2018:vision_proto",
     ],
diff --git a/y2018/vision/vision_status.cc b/y2018/vision/vision_status.cc
index 6234659..cfdae2e 100644
--- a/y2018/vision/vision_status.cc
+++ b/y2018/vision/vision_status.cc
@@ -3,7 +3,7 @@
 #include "aos/logging/logging.h"
 #include "aos/logging/queue_logging.h"
 #include "aos/time/time.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 #include "aos/vision/events/udp.h"
 #include "y2018/vision.pb.h"
 #include "y2018/vision/vision.q.h"
diff --git a/y2018/wpilib_interface.cc b/y2018/wpilib_interface.cc
index 4cb6de0..b4ee168 100644
--- a/y2018/wpilib_interface.cc
+++ b/y2018/wpilib_interface.cc
@@ -31,7 +31,7 @@
 #include "aos/util/log_interval.h"
 #include "aos/util/phased_loop.h"
 #include "aos/util/wrapping_counter.h"
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/autonomous/auto.q.h"
 #include "frc971/control_loops/control_loops.q.h"
diff --git a/y2018_bot3/control_loops/drivetrain/BUILD b/y2018_bot3/control_loops/drivetrain/BUILD
index 19edec6..52d9149 100644
--- a/y2018_bot3/control_loops/drivetrain/BUILD
+++ b/y2018_bot3/control_loops/drivetrain/BUILD
@@ -67,7 +67,7 @@
   ],
   deps = [
     ':drivetrain_base',
-    '//aos/linux_code:init',
+    '//aos:init',
     '//frc971/control_loops/drivetrain:drivetrain_lib',
   ],
 )
diff --git a/y2018_bot3/control_loops/drivetrain/drivetrain_main.cc b/y2018_bot3/control_loops/drivetrain/drivetrain_main.cc
index e1a859d..cd91f7c 100644
--- a/y2018_bot3/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2018_bot3/control_loops/drivetrain/drivetrain_main.cc
@@ -1,4 +1,4 @@
-#include "aos/linux_code/init.h"
+#include "aos/init.h"
 
 #include "frc971/control_loops/drivetrain/drivetrain.h"
 #include "y2018_bot3/control_loops/drivetrain/drivetrain_base.h"