1const boot_log = [
2 "Welcome to Yuki I, a low power consumption and low noise server.",
3 "それぞれの雪の結晶は異なります。",
4 "vm_page_bootstrap: 987323 free pages and 53061 wired pages",
5 "kext submap [0xffffff7f8072e000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff800072e000]",
6 "zone leak detection enabled",
7 "standard timeslicing quantum is 10000 us",
8 "mig_table_max_displ = 72",
9 "TSC Deadline Timer supported and enabled",
10 "YukiACPICPU: ProcessorId=1 LocalApicId=0 Enabled",
11 "YukiACPICPU: ProcessorId=2 LocalApicId=2 Enabled",
12 "YukiACPICPU: ProcessorId=3 LocalApicId=1 Enabled",
13 "YukiACPICPU: ProcessorId=4 LocalApicId=3 Enabled",
14 "YukiACPICPU: ProcessorId=5 LocalApicId=255 Disabled",
15 "YukiACPICPU: ProcessorId=6 LocalApicId=255 Disabled",
16 "YukiACPICPU: ProcessorId=7 LocalApicId=255 Disabled",
17 "YukiACPICPU: ProcessorId=8 LocalApicId=255 Disabled",
18 "calling mpo_policy_init for TMSafetyNet",
19 "Security policy loaded: Safety net for Rollback (TMSafetyNet)",
20 "calling mpo_policy_init for Sandbox",
21 "Security policy loaded: Seatbelt sandbox policy (Sandbox)",
22 "calling mpo_policy_init for Quarantine",
23 "Security policy loaded: Quarantine policy (Quarantine)",
24 "Copyright (c) 1982, 1986, 1989, 1991, 1993, 2015",
25 "The Regents of the University of Adelaide. All rights reserved.",
26 "",
27 "HN_ Framework successfully initialized",
28 "using 16384 buffer headers and 10240 cluster IO buffer headers",
29 "IOAPIC: Version 0x20 Vectors 64:87",
30 "ACPI: System State [S0 S3 S4 S5] (S3)",
31 "PFM64 0xf10000000, 0xf0000000",
32 "[ PCI configuration begin ]",
33 "YukiIntelCPUPowerManagement: Turbo Ratios 0046",
34 "YukiIntelCPUPowerManagement: (built 13:08:12 Jun 18 2011) initialization complete",
35 "console relocated to 0xf10000000",
36 "PCI configuration changed (bridge=16 device=4 cardbus=0)",
37 "[ PCI configuration end, bridges 12 devices 16 ]",
38 "mbinit: done [64 MB total pool size, (42/21) split]",
39 "Pthread support ABORTS when sync kernel primitives misused",
40 "com.Yuki.YukiFSCompressionTypeZlib kmod start",
41 "com.Yuki.YukiTrololoBootScreen kmod start",
42 "com.Yuki.YukiFSCompressionTypeZlib load succeeded",
43 "com.Yuki.YukiFSCompressionTypeDataless load succeeded",
44 "",
45 "YukiAMDCPUPowerManagementClient: ready",
46 "BTCOEXIST off",
47 "wl0: Broadcom BCM4331 802.11 Wireless Controller",
48 "5.100.98.75",
49 "",
50 "FireWire (OHCI) Lucent ID 5901 built-in now active, GUID c82a14fffee4a086; max speed s800.",
51 "rooting via boot-uuid from /chosen: F5670083-AC74-33D3-8361-AC1977EE4AA2",
52 "Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">",
53 "IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>",
54 "Got boot device = IOService:/YukiACPIPlatformExpert/PCI0@0/YukiACPIPCI/SATA@1F,2/",
55 "YukiIntelPchSeriesAHCI/PRT0@0/IOAHCIDevice@0/YukiAHCIDiskDriver/SarahI@sTheBestDriverIOAHCIBlockStorageDevice/IOBlockStorageDriver/",
56 "Yuki SSD TS128C Media/IOGUIDPartitionScheme/Customer@2",
57 "BSD root: disk0s2, major 14, minor 2",
58 "Kernel is LP64",
59 "IOThunderboltSwitch::i2cWriteDWord - status = 0xe00002ed",
60 "IOThunderboltSwitch::i2cWriteDWord - status = 0x00000000",
61 "IOThunderboltSwitch::i2cWriteDWord - status = 0xe00002ed",
62 "IOThunderboltSwitch::i2cWriteDWord - status = 0xe00002ed",
63 "YukiUSBMultitouchDriver::checkStatus - received Status Packet, Payload 2: device was reinitialized",
64 "MottIsAScrub::checkstatus - true, Mott::Scrub",
65 "[IOBluetoothHCIController::setConfigState] calling registerService",
66 "AirPort_Brcm4331: Ethernet address e4:ce:8f:46:18:d2",
67 "IO80211Controller::dataLinkLayerAttachComplete(): adding YukiEFINVRAM notification",
68 "IO80211Interface::efiNVRAMPublished():",
69 "Created virtif 0xffffff800c32ee00 p2p0",
70 "BCM5701Enet: Ethernet address c8:2a:14:57:a4:7a",
71 "Previous Shutdown Cause: 3",
72 "NTFS driver 3.8 [Flags: R/W].",
73 "NTFS volume name BOOTCAMP, version 3.1.",
74 "DSMOS has arrived",
75 "en1: 802.11d country code set to 'US'.",
76 "en1: Supported channels 1 2 3 4 5 6 7 8 9 10 11 36 40 44 48 52 56 60 64 100 104 108 112 116 120 124 128 132 136 140 149 153 157 161 165",
77 "m_thebest",
78 "MacAuthEvent en1 Auth result for: 00:60:64:1e:e9:e4 MAC AUTH succeeded",
79 "MacAuthEvent en1 Auth result for: 00:60:64:1e:e9:e4 Unsolicited Auth",
80 "wlEvent: en1 en1 Link UP",
81 "AirPort: Link Up on en1",
82 "en1: BSSID changed to 00:60:64:1e:e9:e4",
83 "virtual bool IOHIDEventSystemUserClient::initWithTask(task*, void*, UInt32):",
84 "Client task not privileged to open IOHIDSystem for mapping memory (e00002c1)",
85 "System Integrity Check: 100% Success ",
86 "[OK] Linux Yuki-I 5.10.60-v7l+ #1449 SMP Wed Aug 25 15:00:44 BST 2021 armv7l GNU/Linux ",
87 "[OK] CPU Cores",
88 "[OK] Random Access Memory",
89 "[OK] USB Interfaces",
90 "[OK] Network Interfaces",
91 "",
92 "",
93 "Boot Complete.",
94];
95function updatelog() {
96 if (progress > boot_log_progress / (boot_log.length - 1)) {
97 document.getElementById("loading-console").innerHTML +=
98 boot_log[boot_log_progress].replaceAll(" ", " ") + "<br>";
99 boot_log_progress++;
100 document.getElementById("loading-console").scrollTop =
101 document.getElementById("loading-console").scrollHeight;
102 updatelog();
103 }
104}
105
106boot_log_progress = 0;
107progress = 0;
108state = true;
109rgb = [143, 223, 255];
110basergb = [255, 255, 255];
111document.getElementById("loading-icon").style.strokeDasharray =
112 "27.5% 100% 100%";
113document.getElementById("loading-icon-yuki").style.strokeDasharray =
114 "80% 100% 100%";
115setTimeout(function () {
116 document.getElementById("loading-icon").style.fill =
117 "rgb(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")";
118 document.getElementById("loading-icon-yuki").style.fill =
119 "rgb(" + rgb[0] + "," + rgb[1] + "," + rgb[2] + ")";
120}, 1000);
121var timer = setInterval(function () {
122 if (progress < 1.02) {
123 document.getElementById("loading-progress").innerHTML =
124 Math.round(progress * 100) + "%";
125 document.getElementById("loading-progressbar-inner").style.width =
126 "calc((100vw - 200px) * " + progress + ")";
127 avgcolor = [
128 rgb[0] * progress + basergb[0] * (1 - progress),
129 rgb[1] * progress + basergb[1] * (1 - progress),
130 rgb[2] * progress + basergb[2] * (1 - progress),
131 ];
132 document.getElementById("connection-status").style.color =
133 "rgb(" + avgcolor[0] + "," + avgcolor[1] + "," + avgcolor[2] + ")";
134 document.getElementById("loading-progressbar-inner").style.backgroundColor =
135 "rgb(" + avgcolor[0] + "," + avgcolor[1] + "," + avgcolor[2] + ")";
136 document.getElementById("loading-progressbar").style.borderColor =
137 "rgb(" + avgcolor[0] + "," + avgcolor[1] + "," + avgcolor[2] + ")";
138 document.getElementById("loading-progress").style.color =
139 "rgb(" + avgcolor[0] + "," + avgcolor[1] + "," + avgcolor[2] + ")";
140 document.getElementById("loading-icon").style.stroke =
141 "rgb(" + avgcolor[0] + "," + avgcolor[1] + "," + avgcolor[2] + ")";
142 document.getElementById("Yuki-I-text").style.color =
143 "rgb(" + avgcolor[0] + "," + avgcolor[1] + "," + avgcolor[2] + ")";
144 progress += 0.02;
145 } else {
146 if (state) {
147 setTimeout(function () {
148 document.getElementById("connection-status").style.opacity = "0";
149 }, 200);
150 setTimeout(function () {
151 document.getElementById("connection-status").innerHTML =
152 "< connected >";
153 document.getElementById("connection-status").style.color =
154 "rgb(145, 255, 143)";
155 document.getElementById("connection-status").style.opacity = "1";
156 }, 400);
157 setTimeout(function () {
158 document.getElementById("loading-screen").style.opacity = "0";
159 }, 1000);
160 setTimeout(function () {
161 document.getElementById("loading-screen").remove();
162 }, 1500);
163 state = false;
164 }
165 clearInterval(timer);
166 }
167 updatelog();
168}, 20);