123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package main
- import (
- "fmt"
- "os"
- "github.com/rancher/os/cmd/cloudinitexecute"
- "github.com/rancher/os/cmd/cloudinitsave"
- "github.com/rancher/os/cmd/control"
- osInit "github.com/rancher/os/cmd/init"
- "github.com/rancher/os/cmd/network"
- "github.com/rancher/os/cmd/power"
- "github.com/rancher/os/cmd/respawn"
- "github.com/rancher/os/cmd/sysinit"
- "github.com/rancher/os/cmd/wait"
- "github.com/rancher/os/pkg/dfs"
- "github.com/docker/docker/docker"
- "github.com/docker/docker/pkg/reexec"
- )
- var entrypoints = map[string]func(){
- "autologin": control.AutologinMain,
- "cloud-init-execute": cloudinitexecute.Main,
- "cloud-init-save": cloudinitsave.Main,
- "console": control.ConsoleInitMain,
- "console.sh": control.ConsoleInitMain,
- "docker": docker.Main,
- "dockerlaunch": dfs.Main,
- "init": osInit.MainInit,
- "netconf": network.Main,
- "recovery": control.AutologinMain,
- "ros-bootstrap": control.BootstrapMain,
- "ros-sysinit": sysinit.Main,
- "wait-for-docker": wait.Main,
- "respawn": respawn.Main,
- // Power commands
- "halt": power.Shutdown,
- "poweroff": power.Shutdown,
- "reboot": power.Shutdown,
- "shutdown": power.Shutdown,
- }
- func main() {
- if 0 == 1 {
- // TODO: move this into a "dev/debug +build"
- fmt.Fprintf(os.Stderr, "ros main(%s) ppid:%d - print to stdio\n", os.Args[0], os.Getppid())
- filename := "/dev/kmsg"
- f, err := os.OpenFile(filename, os.O_WRONLY, 0644)
- if err == nil {
- fmt.Fprintf(f, "ros main(%s) ppid:%d - print to %s\n", os.Args[0], os.Getppid(), filename)
- }
- f.Close()
- }
- for name, f := range entrypoints {
- reexec.Register(name, f)
- }
- if !reexec.Init() {
- control.Main()
- }
- }
|