1 Commits

Author SHA1 Message Date
Cametendo
c086bcc2e6 Made flasher show user configuration 2026-04-03 15:12:45 +02:00
7 changed files with 45 additions and 17 deletions

View File

@@ -1,12 +1,14 @@
import java.util.Scanner;
public class BlockSize {
public static void blockSize(Scanner UserInput) {
public static String blockSizeString = "";
static String blockSize(Scanner UserInput) {
System.out.println("Choose a block size (Default: 4M)");
System.out.println("512KB (1), 1M (2), 2M (3), 4M (4), 8M (5), 16M (6)");
String blockSizeInput = UserInput.nextLine();
String blockSizeString;
switch (blockSizeInput) {
case "1":
blockSizeString = "512KB";
@@ -30,5 +32,7 @@ public class BlockSize {
blockSizeString = "4M";
break;
}
System.out.println("Using blocksize of: " + blockSizeString);
return blockSizeString;
}
}

View File

@@ -1,9 +1,13 @@
import java.util.Scanner;
public class FilePathAdd {
public static void filePath(Scanner UserInput) {
public static String ImagePath = "";
protected static String filePath(Scanner UserInput) {
System.out.println("Please enter the FULL Path of your ISO / Image. ()");
String ImagePath = UserInput.nextLine();
ImagePath = UserInput.nextLine();
System.out.println("Using File: " + ImagePath);
return ImagePath;
}
}

View File

@@ -1,11 +1,21 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Flasher {
publicstatic voic flasher(Scanner UserInput) {
public static void flasher(Scanner UserInput) {
String input = "";
System.out.println("The programm wil use the following configuration, do you want to flash with this? (y/n)");
System.out.println(" - To be flashed device: " + device);
System.out.println(" - To be flashed device: " + StorageDeviceLister.fullPath);
System.out.println(" - To be used path: " + FilePathAdd.ImagePath);
System.out.println(" - To bed used blocksize: " + BlockSize.blockSizeString);
System.out.println(" - To be used oflag: " + OflagHandler.oflagHandleString);
input = UserInput.nextLine();
if (YesNo.check(input)) {
System.out.println("Flashing...");
} else {
System.out.println("Canceling...");
System.exit(0);
}
}
}

View File

@@ -17,7 +17,7 @@ public class Main {
FilePathAdd.filePath(UserInput);
BlockSize.blockSize(UserInput);
OflagHandler.handleOflag(UserInput);
Flasher.flasher(UserInput);
}

View File

@@ -1,12 +1,14 @@
import java.util.Scanner;
public class OflagHandler {
public static void handleOflag(Scanner UserInput) {
System.out.println("Okay, next up please define your oflag. If you have the block-size default, you can choose default here aswell");
System.out.println("Available flags: direct (default), dsync, sync, nocache");
public static String oflagHandleString = "";
static String handleOflag(Scanner UserInput) {
System.out.println("Okay, next up please define your oflag (Default: direct)");
System.out.println("Available flags: direct (1), dsync (2), sync (3), nocache (4)");
String oflagHandleInput = UserInput.nextLine();
String oflagHandleString;
switch (oflagHandleInput) {
case "1":
oflagHandleString = "direct";
@@ -24,5 +26,7 @@ public class OflagHandler {
oflagHandleString = "direct";
break;
}
System.out.println("Using oflag: " + oflagHandleString);
return oflagHandleString;
}
}

View File

@@ -7,7 +7,7 @@ Small and lightweight image and iso flasher build on `dd`.
[![Status](https://img.shields.io/badge/Status-Beta-red.svg)](https://en.wikipedia.org/wiki/Software_release_life_cycle#Beta)
# About
Java program using `dd` to make flashing iso and image files easier on the terminal. This program allows anyone to flash iso and image files without having to search for extra GUI tools by keeping it simple and resource-friendly.
Java program using `dd` to make flashing iso and image files easier on the terminal. This program allows anyone to flash iso and image files without having to search for extra GUI tools and by keeping it simple and resource-friendly.
# Requirements
- `Java`: 21 (Download [here](https://www.oracle.com/java/technologies/downloads/#java21)

View File

@@ -4,7 +4,11 @@ import java.io.InputStreamReader;
import java.util.Scanner;
public class StorageDeviceLister {
static void deviceList(Scanner UserInput) {
public static String device = "";
public static String fullPath = "";
protected static String deviceList(Scanner UserInput) {
try {
ProcessBuilder pb = new ProcessBuilder("lsblk");
@@ -22,6 +26,8 @@ public class StorageDeviceLister {
e.printStackTrace();
}
String device = UserInput.nextLine();
System.out.println("Using device: " + device);
System.out.println("Using device: " + "/dev/" + device);
fullPath = "/dev/" + device;
return fullPath;
}
}