aboutsummaryrefslogtreecommitdiff
path: root/startup.lua
blob: f09d1913db4fe729878960056785b37c6cdd5313 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
--[[ 
    bits-UI Boot Loader (BUBL): A boot loader for bits-UI
    Copyright (C) 2019 Alee14

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

]]--
local boot = "/system/boot.lua"
local bublcfg = "/boot/bubl.cfg"
local allowUpdate = true

function bootloader()
    term.setCursorPos(1,1)
    print("Welcome to the BUBL boot loader!\n")
    term.setCursorPos(1,2)
    print("Version 0.2")
    term.setCursorPos(1,4)
    print("1. Boot bits-UI\n")
    term.setCursorPos(1,5)
    print("2. Update bits-UI\n")
    term.setCursorPos(1,6)
    print("3. Boot CraftOS\n")
    term.setCursorPos(1,8)
    term.write("> ")
end

function clear()
    term.clear()
    term.setCursorPos(1,1)
    term.setTextColor(colors.white)
end

function bootloaderInput()
    local input = read()

    if input == "1" then
        clear()
        print("Loading bits-UI...")
        sleep(3)
        clear()
        if fs.exists(boot) then
            shell.run("/system/boot.lua")
        else
            clear()
            term.setTextColor(colors.red)
            print("[ERROR] System has been halted.")
            term.setCursorPos(1,2)
            print("Details: Cannot find boot.lua")  
            sleep(3)
            os.shutdown()  
        end
    elseif input == "2" then
        clear()
        if allowUpdate == false then
            print("You have set updating to false!\n Please set updating to true if you want to update...")
            sleep(3)
            clear()
            bootloader()
            bootloaderInput()
        else
        print("Running the updater...")
        sleep(3)
        shell.run("pastebin", "run", "7XY80hfG")
        end
    elseif input == "3" then
        clear()
        term.setTextColor(16)
        print(os.version())
        term.setCursorPos(1,2)
        term.setTextColor(1)
    else
        print("[ERROR] Invalid number.")
        sleep(2)
        clear()
        bootloader()
        bootloaderInput()
    end
    
end
clear()
print("Welcome to BUBL!")
if fs.exists(bublcfg) then
    sleep(1)
    clear()
    bootloader()
    bootloaderInput()
else
    clear()
    term.setTextColor(colors.red)
    print("[ERROR] System cannot find bubl.cfg...")
    term.setCursorPos(1,2)
    print("System halted...")  
    sleep(3)
    os.shutdown()  
end