MCPcopy Create free account
hub / github.com/LPC4/Full-Stack / boot_fs_static_entries

Function boot_fs_static_entries

src/app/mod.rs:1309–1356  ·  view source on GitHub ↗

The always-present part of the boot filesystem image: the Unix-shaped directory tree (`/bin`, `/home`, `/home/demo`, `/home/src`), a readme, and the example assembly sources. Compiled binaries (editor, demos, assembler) are appended by [`FullStackApp::build_boot_fs_image`] when available.

()

Source from the content-addressed store, hash-verified

1307 fn launch_selected_config(&mut self, now: f64, debug: bool) {
1308 self.launch_selected_config_inner(now, debug, false);
1309 }
1310
1311 fn launch_selected_config_inner(&mut self, now: f64, debug: bool, allow_reuse: bool) {
1312 self.save_dirty_before_run();
1313 let Some(config) = self.selected_config().cloned() else {
1314 self.status_message = Some("no run config selected".to_owned());
1315 self.terminal.start("Run", "fsc run".to_owned());
1316 self.terminal
1317 .push(ConsoleStream::Error, "No run configuration is selected.");
1318 self.terminal_open = self.settings.open_terminal_on_run;
1319 return;
1320 };
1321 let run_target = self
1322 .config_root(&config)
1323 .map(|path| path.to_string())
1324 .unwrap_or_else(|| config.name.clone());
1325 let command = if debug {
1326 format!("fsc run {run_target} # debug session")
1327 } else {
1328 format!("fsc run {run_target}")
1329 };
1330 self.terminal.start("Run", command);
1331 self.terminal_open = self.settings.open_terminal_on_run;
1332
1333 if let Some(root) = self.config_root(&config)
1334 && self.workspace.open_document(root).is_ok()
1335 {
1336 self.reset_layer_for_active_file();
1337 }
1338 self.refresh_build_target();
1339 self.refresh_stage_cache();
1340
1341 self.live = None;
1342 self.vm_result = None;
1343 self.machine_texture = None;
1344 self.machine_texture_fill_count = None;
1345 self.reset_machine_views();
1346 if allow_reuse
1347 && self.settings.restart_reuses_build
1348 && self.try_relaunch_cached(&config, now, debug)
1349 {
1350 return;
1351 }
1352 self.terminal
1353 .push(ConsoleStream::Info, "Building run target.");
1354 let engine = SessionEngine::new(self.workspace.fs());
1355 match config.kind {
1356 // Hosted and freestanding share the launch path; the session
1357 // constructor picks the bare-metal VM from the config kind.
1358 RunKind::Hosted | RunKind::Freestanding => match engine.build_config(&config) {
1359 Ok(build) => {

Callers 2

build_boot_fs_imageMethod · 0.85

Calls 1

pushMethod · 0.80

Tested by 1