Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › Looking for some (relatively) advanced advice
New Posts  All Forums:Forum Nav:

Looking for some (relatively) advanced advice

post #1 of 2
Thread Starter 
Okay, so I'm working on an installer image for dummies using ArchLinux as the base.

This is a SINGLE PURPOSE installer. It is going to automate installation and configuration of the distribution, including drivers for graphics cards (Intel, ATi and Nvidia), and the installation of the X window system with NO WINDOW MANAGER; furthermore it will facilitate the retrieval of a precompiled binary for a game, as appropriate for the detected hardware (MiniMaid USB, PacDrive/J-Pac, ITGIO (IOW), or PIUIO) for input/output to an arcade cabinet. It will also configure the previously stated game.
The install script is going to be curses based, and mostly heavily ripped from the Arch Ultimate Installer script from the Arch forums.

I need some input on how to go about accomplishing this in the most "polished" manner...

I've never built my own distro or installer before, but I am pretty well versed in scripting, and the Arch install process;

My idea is basically this:

- Splash screen with appropriate graphics for the game data
-Autologin with bashrc set to fork the autodetect script into the background and generate a file containing a list of detected hardware and necessary packages to get it up and running with said hardware.
-Curses based prompts for basic info beyond what can automatically be decided (For example, partitioning will be negligible and I will just use the whole drive, but drive selection will be up to the user)

When it comes time to actually install and configure stuff I'm planning on scriping pacstrap to grab base and base-devel as well as the other packages required for everything to work the way I intend it to; from there I plan on using tmux to execute the chroot, and using tmux send-keys to send inputs to the chroot environment for configuring things automagically, and finally closing everything up and rebooting into a (hopefully) working environment.

Anybody see anything wrong with my plan? This needs to require VERY little user intervention, it should be so idiot proof that you couldn't screw it up unless you knew what you were doing. I plan on having a few people with knowledge test the image on various configurations (I can only test-case for MiniMaid and Keyboard/Joystick emulation ala J-Pac) and seeing what they can break (including hopefully having a few users here and on the Arch forums read over things and install it on a few different systems)

I'm also going to autodetect VirtualBox as a "universal" system and allow selection of simulating an install for each configuration (for testing purposes; the J-pac/PacDrive setup will require moderate user intervention as they will have to select how THEY wired the system, which will be unique for each user installing it most likely...


Oh, and as to why ArchLinux and not say, Debian:

-Quick access to Linux-rt kernel, with zero user intervention (this helps alleviate issues using various higher latency hardware with the game, its built with a single hardware configuration in mind, and that hardware is no longer available - we need to move on, but some controllers are slower than others latency wise)
-Wide hardware support, for even the latest of hardware (quick kernel turnaround on Arch) this helps for users who are building BRAND NEW machines to use in their arcade cabinets.
-Easy to configure from MY standpoint


Why Linux instead of letting them keep using Windows?
-The game was originally built for Linux, and OpenGL, it runs faster and more stable in this environment
-Both the ITGIO (IOW) and PIUIO require LibUSB to work properly. On Windows this is a chore.
-Linux has lower latency overall than Windows
-USB Memory cards are flakey in Windows at best, and generally slower than on Linux
-It can be (nearly) fully automated from installer to functioning install with less work
-It can be legally distributed
Edited by Xaero252 - 3/20/14 at 12:09am
    
CPUMotherboardGraphicsRAM
Core i7 920 D0 4.2ghz HT (1.3625v) Asus R3E 2xGTX 460 (non SLi, no overclock) 6x2gb G.skill @ 6-8-6-24-1T 
Hard DriveOptical DriveOSMonitor
WD-VR 300GBx1, 2xWD 1tb,2x60gb Agility Some crappy combo burner... Arch x64 3xDell U2410f rev A02 
KeyboardPowerCaseMouse
X-Armor U9BL TT Toughpower 1200w (NTB more efficient) Mountain Mods Pinnacle 24 CYO Roccat Kone (R.I.P. A4Tech x7) 
Mouse Pad
Steelpad Experience I-1 
  hide details  
Reply
    
CPUMotherboardGraphicsRAM
Core i7 920 D0 4.2ghz HT (1.3625v) Asus R3E 2xGTX 460 (non SLi, no overclock) 6x2gb G.skill @ 6-8-6-24-1T 
Hard DriveOptical DriveOSMonitor
WD-VR 300GBx1, 2xWD 1tb,2x60gb Agility Some crappy combo burner... Arch x64 3xDell U2410f rev A02 
KeyboardPowerCaseMouse
X-Armor U9BL TT Toughpower 1200w (NTB more efficient) Mountain Mods Pinnacle 24 CYO Roccat Kone (R.I.P. A4Tech x7) 
Mouse Pad
Steelpad Experience I-1 
  hide details  
Reply
post #2 of 2
very possible to do this



as for distribution look at fogproject

http://www.fogproject.org/

I have started to play around with this.



as in scripting etc... but i can not think this very moment as i have only had 3 hours broken sleep over the last 36+ hours.

I agree linux is better etc.. but I am not very good with that, Windows i can help pretty much from start to finish. I think this would probably best to have a bump on this post in say 4 hours as this is when most og the linux guys should be awake/on line

sorry my in putt was not helpful
Server1 - Main
(17 items)
 
Slow Coach
(17 items)
 
 
CPUMotherboardGraphicsRAM
4790K Asus z97 Hero Gigabyte 980Ti 6gb Kingston Hyper X 2400 
Hard DriveHard DriveHard DriveCooling
M500 M500 OCZ ARC H100i 
OSMonitorMonitorMonitor
Windows 10 Enterprise  Prolite GB2488HSU Prolite GB2488HSU Prolite GB2488HSU 
KeyboardPowerCaseMouse
Razer Corsair AX860 Fractal Design R4 Razer Mamba 
Audio
Razer 
CPUMotherboardRAMHard Drive
1055T Gigabyte 990fx UD5 corsair 4 x 2 GiG 2 x 1 terabyte Western Black 
Hard DriveOptical DriveCoolingOS
3 x 500 gig WD Black Pix Fractal Design Fans x 2 Server 2012 
MonitorKeyboardPowerCase
mstsc mstsc 400 watt corsair Fractal Design R5 
MouseOtherOtherOther
mstsc EATON 5110 UPS StarView SV231UADVI KVM LSI controller card 4 port 
Other
Intel DualPort Gigabit NIC PRO1000PT 
  hide details  
Reply
Server1 - Main
(17 items)
 
Slow Coach
(17 items)
 
 
CPUMotherboardGraphicsRAM
4790K Asus z97 Hero Gigabyte 980Ti 6gb Kingston Hyper X 2400 
Hard DriveHard DriveHard DriveCooling
M500 M500 OCZ ARC H100i 
OSMonitorMonitorMonitor
Windows 10 Enterprise  Prolite GB2488HSU Prolite GB2488HSU Prolite GB2488HSU 
KeyboardPowerCaseMouse
Razer Corsair AX860 Fractal Design R4 Razer Mamba 
Audio
Razer 
CPUMotherboardRAMHard Drive
1055T Gigabyte 990fx UD5 corsair 4 x 2 GiG 2 x 1 terabyte Western Black 
Hard DriveOptical DriveCoolingOS
3 x 500 gig WD Black Pix Fractal Design Fans x 2 Server 2012 
MonitorKeyboardPowerCase
mstsc mstsc 400 watt corsair Fractal Design R5 
MouseOtherOtherOther
mstsc EATON 5110 UPS StarView SV231UADVI KVM LSI controller card 4 port 
Other
Intel DualPort Gigabit NIC PRO1000PT 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Linux, Unix
Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › Looking for some (relatively) advanced advice