Commit graph

610 commits

Author SHA1 Message Date
84d7207d90
(Re)Add SMART values 196 and 199
* Value is only displayed, no additional aborts
2018-08-31 15:32:01 -06:00
bb631b39e9
Merge branch 'datarec' into dev 2018-08-19 19:28:03 -07:00
1d0378dd7b
Training wheels off 2018-08-19 19:23:24 -07:00
ee4cea3b01
Added systemd journal pane 2018-08-16 01:58:22 -07:00
0c8de47893
Reworked auto mode and pass status sections 2018-08-16 01:49:06 -07:00
2272d133f9
Fixed update_progress & update_sidepane 2018-08-16 01:18:06 -07:00
afaee53077
Fixed current_pass updates/progression 2018-08-16 00:43:09 -07:00
7d30a735fc
Fix retry option and settings sections 2018-08-16 00:18:25 -07:00
8461e581ea
Updated menu_settings() to use RecoveryState 2018-08-15 23:24:01 -07:00
5948d1a62f
Fixed menu_main() arguments 2018-08-15 22:50:47 -07:00
5ac05c943e
Removed unused function show_device_details() 2018-08-15 22:50:05 -07:00
ca78da4dd4
Updated show_selection_details() 2018-08-15 22:49:43 -07:00
bb270715c1
Updated run_ddrescue() to use new objects 2018-08-15 22:38:54 -07:00
53a899f967
Updated menu_main() to use RecoveryState obj
* Also fixed rescued size calculations (again)
2018-08-15 21:53:22 -07:00
e0a695a673
Enable help flags for aliases 2018-08-15 20:35:09 -07:00
1a983344c2
Updated update_progress() 2018-08-02 00:42:14 -07:00
d474c8b5d4
Updated build_outer_panes() *BROKEN*
* Script broken until update_progress() is fixed
2018-08-01 23:56:25 -07:00
c568668fd0
Re-added 'Create ticket folder?' section
* Only asked if imaging and mounting a local device for the destination.
2018-08-01 23:39:19 -07:00
177bf10e2d
Added select_parts() function
* This replaced menu_select_children()
* Removed menu_select_children()
2018-08-01 23:32:39 -07:00
459b78dcc3
Updated select_dest_path(), now select_path()
* Moved menu_select_path() code into select_path()
* Removed menu_select_path()
* Fixed formatting in get_dir_report()
2018-08-01 23:04:44 -07:00
ccf7f0686e
Updated select_device() to use DevObj()
* Also fixed child/parent check(s)
* Removed menu_select_device() since code was moved into select_device()
2018-08-01 22:25:01 -07:00
03bdb4b4b7
Reordered classes and removed old menu functions 2018-08-01 21:12:05 -07:00
7ac91fd312
Adjust pass 1 threshold 2018-08-01 20:33:35 -07:00
1e195f70fc
Fixed names and started updating build_outer_panes 2018-07-26 20:49:27 -06:00
53f0b93a5f
Misc bugfixes 2018-07-26 20:24:34 -06:00
30b703e025
Updated get_formatted_status() 2018-07-26 20:09:48 -06:00
6cdc4015e7
Updated menu_ddrescue() and related sections
* RecoveryState is updated before confirmation(s)
* New confirmation prompt that supports both cloning and imaging modes
* Refactored show_selection_details() to use new objects
  * Allows resumed state to be detected and prompt switched to "Resume?"
* Renamed function show_safety_check() to double_confirm_clone() for clarity
2018-07-26 19:34:51 -06:00
4047b956f5
Even better exception handling 2018-07-26 18:54:31 -06:00
a19ac4772b
Better exception handling 2018-07-26 18:29:14 -06:00
127c3b810d
Fixed image prefixes and removed unsused functions 2018-07-26 18:07:12 -06:00
d1eefd05ab
Major update to refactor for object-centricity
* Dest/map paths are now set in two steps:
  * The filename prefix is set when creating the DevObj()
  * The full paths are set when creating the BlockPair()
* Merged dest safety checks into RecoveryState.add_block_pair()
  * Mostly check_dest_paths() and dest_safety_check()
* Moved dir RWX checks to is_writable_dir()
* Moved mount RW check to is_writable_filesystem()
* Started merging menu_clone() and menu_image() into menu_ddrescue()
2018-07-26 17:31:39 -06:00
6aeba34bdb
Include path in dir report 2018-07-25 23:57:50 -06:00
66c7563335
Set details for Dev/Dir/Image objects
* Colored report data is generated during obj instantiation
  * Code has been moved into its own function
  * Entire colored string is now stored for each Obj
  * (Should make show_selection, etc more mode/Obj agnostic)
* loopback_dev vs image_path is now better separated
  * losetup is called in ImageObj.set_details()
  * loopback -D is still called during program cleanup/wrapup
* get_device_size_in_bytes() has been renamed get_size_in_bytes()
2018-07-25 23:31:04 -06:00
180eb0f9ef
Added base, dev, dir, and image objects 2018-07-25 21:44:40 -06:00
98b05c93bf
Moved menu_ddrescue() to ddrescue-tui-menu file
* Let's parse the sys.argv earlier in the process
2018-07-24 00:54:58 -06:00
fa3b3b11b0
Added methods: load_map and self_check(s)
* load_map() is called on BlockPair() instantiation
  * This partially replaces resume_from_map()
* Also fixed improper method declarations lacking the self argument
2018-07-24 00:39:22 -06:00
f5ff65bfe0
Started rewriting ddrescue.py
Added two classes:
* BlockPair()
  * Track source/dest pair specific data
  * update_progress() method for its own data
* RecoveryState()
  * Track BlockPair objects and overall state
  * update_progress() method for overall data

Reasons:
* Code readability
* Better status updates, code currently split between:
  * get_recovery_scope_size()
  * resume_from_map()
  * update_progress()
* Functions that should probably be merged into other functions:
  * get_recovery_scope_size()
  * set_dest_image_paths()
  * check_dest_paths()
* Logic that needs to be cleaned up:
  * Calculating overall recovery size
  * Pass "Done"ness and status strings need separated
  * Pass "Done"ness at the device and overall levels
  * Updating output for side pane status display
2018-07-23 23:25:12 -06:00
2430ba5e00
Resume session via map file(s)
* Read map file(s) and set progress, status, and current pass
2018-07-23 00:43:22 -06:00
f5994d851b
Allow more characters in get_simple_string() 2018-07-22 21:56:52 -06:00
cd955fe1fc
Add overall recovery status to side-pane
* --test-mode disabled by default
* Fixed bug that prevented escaping auto_run via Ctrl-c
* Fixed no-trim / no-scrape flag handling
* Only proceed device(s) have been selected in menu_select_children
2018-07-22 21:56:39 -06:00
1f63f91144
PEP8 Cleanup 2018-07-22 16:27:34 -06:00
9e48c1d1a6
Read data from MAP files (Big update)
* Added read_map_file() which uses ddrescuelog to create dict of current state
* Added --test-mode= option to expert menu
* Add size (in bytes) to all devs
  * Allows to calculate real total percent recovered
* Detect 100% completion via ddrescuelog -D
* Moved mark_complete / mark_incomplete code to update_progress()
* Update progress every 30s during ddrescue passes
* Fixed auto_run logic
2018-07-22 02:03:04 -06:00
6b28444c36
Fix function order 2018-07-21 20:31:39 -06:00
d7dfb34b02
Resume function working for imaging cases 2018-07-20 18:06:59 -06:00
37734e65bf
Bugfix: Paths are now relative to the current dir
* They were relative to the script's dir before
2018-07-20 17:53:09 -06:00
281607f3e4
Adjusted confirm/show details order 2018-07-20 13:57:55 -06:00
6582293370
Initial resume code -- Needs testing 2018-07-19 01:34:14 -06:00
5f4598814a
Clear screen before printing abort warning
* Otherwise the "Abort" string is in the middle of the ddrescue output
* Also added secondary return code to be treated as a user abort
2018-07-19 00:45:04 -06:00
016f87b76c
Don't hide source dev when selecting dest dev
* Disable the entry instead
* It's more clear what's being done
2018-07-19 00:43:41 -06:00
7597394d61
Build real ddrescue cmd for Cloning or Imaging
* --force is only used for cloning
2018-07-18 23:53:05 -06:00
d09664bb7d
Misc cleanup 2018-07-18 23:37:02 -06:00
f84413f1a9
Fix SMART not available warning 2018-07-18 23:36:15 -06:00
e640caee74
Add dest image/map path sections 2018-07-18 23:19:42 -06:00
646e1a3764
Show list of authorized fstypes with error 2018-07-18 22:17:32 -06:00
19dcc87950
Pause when showing usage 2018-07-18 22:09:47 -06:00
e5ce254e8b
Verify destination FS is mounted read-write 2018-07-18 22:02:17 -06:00
f2c557f77c
Added safety checks for the destination
* Dev size / avail space checks
* Permission checks
  * No mount option checks (yet?)
2018-07-18 20:54:51 -06:00
88c28a3f25
Added auto-continue code
* Enabled by default
* Based on static thresholds per pass.
  * Pass 1: 85%
  * Pass 2: 98%
* If using child devices, all must be above the threshold to continue
2018-07-18 18:26:03 -06:00
9d91a28d7a
Add children pass, status, and update sections
* Updating device / child device status/progress done in mark_*() functions
* Add current pass description to main menu
* Current pass (overall) only updated if all children have passed
* Fix Pass 4 crash
2018-07-17 23:22:08 -06:00
c705ba6afc
Add pass completion detection sections
* Retry option now sets recovery back to pass 1
2018-07-17 22:10:37 -06:00
a12a591279
Moved SMART sections to a separate script
* Refresh rate is now handled by 'watch --interval'
* Allows for much simpler ddrescue execution / tracking
* Removed all 'SMART Report' sections from functions/ddrescue.py
* functions/hw_diags.py has been further extended
  * Supports full device paths (only for displaying attributes ATM)
  * Adds a timestamp when only displaying attributes
2018-07-17 21:05:37 -06:00
358191539c
Added run_ddrescue() and update_smart_report()
* Working "wait" loop while ddrescue is running.
2018-07-17 19:19:38 -06:00
d1d3e1592e
Added get_process() 2018-07-17 18:11:23 -06:00
7d851d2222
Add settings menu 2018-07-17 16:59:45 -06:00
310a2eb63a
Initial Main Menu code
* Required refactoring pass status code
* Need to add settings menu next
2018-07-17 16:01:29 -06:00
fd8ac7cf1a
Add child device selection menu for Image mode
* Can select either whole device or child dev(s), not both
2018-07-17 14:16:38 -06:00
de8f3bbd2b
Use image file instead of loopback device
* Still setup loopback for image details but use image directly in ddrescue
* Adjusted outer/side panes to use image path instead of loopback dev
2018-07-17 13:21:12 -06:00
29266f1611
Added initial Imaging source child dev support 2018-07-17 01:11:43 -06:00
1e4a3b6c0e
Fix provided_path for Imaging and adjust top panes
* Moved select_path menu sections to menu_select_path()
2018-07-17 00:49:41 -06:00
007d2ef692
Added select_path() for Image mode
* Can select the current path, a local device's volume, or enter manually
* Optionally add a ticket folder to path before imaging
2018-07-17 00:15:28 -06:00
c37dab58af
Updated mount_all_volumes(), now mount_volumes()
* Now allows mounting R/W
* Can restrict to a specific device's volume(s)
* Added more data to the returned report
2018-07-17 00:06:43 -06:00
6eb486c770
Extend get_simple_string() to support underscores 2018-07-17 00:05:47 -06:00
ae7ba9cba4
Fixed typo in mount-raw-image 2018-07-16 22:25:13 -06:00
9a27afebf7
Moved selection details into its own function
* Will allow for better duplication in Image mode
2018-07-16 22:19:39 -06:00
6643cf5d25
Moved outer pane section to its own function
* Will allow better duplication with Image mode
2018-07-16 22:08:00 -06:00
552868c26e
Moved safety check into its own function
* Will allow better duplication with Image mode
2018-07-16 22:04:09 -06:00
69909fa34c
Added safety check 2018-07-16 21:02:53 -06:00
855884ec93
Added initial update_progress() sections
* TODO: expand to support Image mode
2018-07-16 21:01:10 -06:00
ae4f2ac680
Added outer panes 2018-07-16 19:40:29 -06:00
b5d8a55031
Reordered functions 2018-07-16 18:07:12 -06:00
e56296d8b0
Consolidated device selection code
* Common code moved to select_device()
* Existing select_device() renamed menu_select_device()
* Fixed skip_device code
* Refactored source/dest vars into dicts
* Added confirmation after source/dest are selected
2018-07-16 18:01:06 -06:00
b2fc7ea860
Renamed script ddrescue-tui, added launcher script
Launcher script runs the python script in tmux (same as hw-diags)
2018-07-16 17:58:29 -06:00
0c3b90eb63
Add clone destination sections
* Hide source device in dest selection menu
2018-07-15 00:04:24 -06:00
cfbd0ec8f2
Add device selection menu 2018-07-14 23:45:08 -06:00
667223b3c2
Check passed source
* If it's an image, setup loopback dev
* If it's a child block dev, prompt with option to use parent block
* Show selected source details
2018-07-14 22:52:18 -06:00
8b1e19fa4b
Initial wk-ddrescue menu 2018-07-14 21:19:08 -06:00
d57b08ec6f
Update hw_diags so it can be used by wk-ddrescue 2018-07-14 21:17:32 -06:00
2Shirt
bbfcc2e3fe Hotfix: Handle size=None in human_readable_size() 2018-05-30 17:26:49 -06:00
2Shirt
7559a673ef Added VirtIO drivers 2018-05-23 19:20:57 -06:00
2Shirt
2dabfd4020 Hide more root items 2018-05-22 20:55:11 -06:00
2Shirt
341f424eae Use a different label for combined kits
* WK_LINUX doesn't reflect what the UFDs actually contain
2018-05-22 20:47:18 -06:00
2Shirt
c7ae1b1dc7 Moved SafeMode scripts into the Misc folder 2018-05-22 20:05:49 -06:00
2Shirt
da61ea3856 Updated SW diag/checklist summaries to match
* Also added AV check to SW diag
2018-05-22 19:33:21 -06:00
2Shirt
0b1d7bb4f3 Adjusted system_diagnostics.py messages 2018-05-22 12:49:00 -06:00
2Shirt
5b0e7b9dfe cbin copied correctly again in Copy WizardKit.cmd 2018-05-22 12:26:43 -06:00
2Shirt
0063de6846 Bump TeamViewer version 2018-05-22 12:24:33 -06:00
2Shirt
24df753a40 Add support for LVM and RAID to mount-all-volumes
* Renamed get_mounted_data to get_mounted_volumes
* Report data is now a dict for better clarity
* Widened report hoping that LVM names will fit (they probably wont)
* This fixes #38
2018-05-21 20:25:12 -06:00
2Shirt
e6b7cc602b Report missing hw-info data
* Show UNKNOWN for missing DMI variables
* Suppress errors for systems w/out sound cards
* Suppress errors for glxinfo
* Keep revision numbers for network devices
2018-05-21 20:18:13 -06:00
2Shirt
25d34e5ace Copy WinPE.log to new Windows installations 2018-05-21 15:57:24 -06:00
2Shirt
70e4797b7a Refactored windows_image code
* Better names (e.g. 'Letter' instead of 'Source')
* Added 'Local' bool to simplify network-vs-local installs
* Only reassign the source letter if necessary
* Bugfix: Update 'Path' when reassigning a volume letter
* Fixes #33 (again)
2018-05-21 15:43:05 -06:00
2Shirt
3285a640c7 Merge branch 'dev' of github.com:2Shirt/WizardKit into dev 2018-05-18 21:04:49 -06:00
2Shirt
fb16b0e748 Deprecated inxi
* Displays too much info
* Fixes issue #37
2018-05-18 21:03:36 -06:00
2Shirt
352bf042b0 Fixed typo 2018-05-17 21:47:56 -06:00
2Shirt
7e8f9df877 Set Intel RST 16.0 as current release 2018-05-17 21:40:44 -06:00
2Shirt
1d3be750b4 Bump tool versions 2018-05-17 21:39:33 -06:00
2Shirt
0a8db0a3d9 Merge branch 'optional-tickets' into dev
* Fixes #36
2018-05-17 21:02:17 -06:00
2Shirt
50a200535e Fix log dir permissions 2018-05-17 20:59:57 -06:00
2Shirt
e305b3e60f Add warning for missing archive in extract_item() 2018-05-17 20:56:55 -06:00
2Shirt
27953bde5a Update backup/restore code
* Added support for local backups
* Added volume label detection for local backups
* Replace spaces in backup_prefix with underscores
2018-05-17 20:54:45 -06:00
2Shirt
b997a52385 Updated hw-diags section
* Use date_time instead of ticket_number if disabled
2018-05-17 18:17:36 -06:00
2Shirt
5902a51f9e Save build-ufd logs in ${SUDO_USER}'s $HOME/Logs 2018-05-17 18:15:39 -06:00
2Shirt
02054a8047 Updated system checklist and diagnostic scripts 2018-05-17 18:07:18 -06:00
2Shirt
db09236b26 Updated user_data_transfer sections 2018-05-17 18:06:26 -06:00
2Shirt
bec947262b Updated WinPE sections 2018-05-17 18:03:53 -06:00
2Shirt
3114b72178 Add ticket toggle var and get_simple_string func
* get_simple_string() will be used for backup prefixes
2018-05-17 17:57:45 -06:00
2Shirt
5ea499d6ff Assign volume letters before finding source image
* Fixes issue #33
2018-05-17 17:09:22 -06:00
2Shirt
223155b842 Abort on failed download(s)
* Fixes #29
2018-05-17 16:26:07 -06:00
2Shirt
598dea32c7 Save logs to tech's $HOME instead of root's 2018-05-17 15:32:38 -06:00
2Shirt
1c3520806c Avoid nohup.out creation 2018-05-17 15:17:14 -06:00
2Shirt
0902a7997f Moved SafeMode sections into functions/safemode.py
* Allows for better descriptions of the actions being taken
* Allowd for better error handling
* Fixes issue #34
2018-05-14 12:58:06 -06:00
2Shirt
6868988cec Added antivirus check to the system_checklist
* Fixes issue #31
2018-05-14 12:11:38 -06:00
2Shirt
8ea17268c7 Fixed local sources for user_data_transfer
* Added support for local images and root folders
2018-05-14 09:42:30 -06:00
2Shirt
e751696307 Avoid crash if VCR+ installers are missing 2018-05-14 08:01:09 -06:00
2Shirt
ebffd2a2dd Added more missing file warnings
* Part of the fix for #27
2018-05-14 07:54:33 -06:00
2Shirt
17dc572c4a Added warnings for missing tools 2018-05-13 18:57:27 -06:00
2Shirt
79d2af6e0a Fix issue #27
Several popen_program() calls were not inside try blocks causing full crashes
2018-05-13 18:20:42 -06:00
2Shirt
18c535dcfd Bugfix for OS detection
* Avoids CurrentBuild collision between Win8 and Win8.1
* Fix DisplayName formatting
2018-05-13 16:09:07 -06:00
2Shirt
ee2bcd5aea Refactored OS build detection
* Known build data moved to settings/windows_builds.py
* OS version statically set in windows_builds.py
* Added Insider Previews to recognized builds
  * Shown in red due to their very short support windows
* Windows 8 and Windows 8.1 are now separate versions
* Added codenames to Vista and 7 (for fun!)
* Unrecognized builds have the CurrentBuild number in the DisplayName
2018-05-12 20:13:54 -06:00
2Shirt
f6d3938ecb Prevent crashes when KIT_NAME_FULL contains spaces 2018-04-20 10:43:13 -06:00
2Shirt
f0bbb1c57e Merge branch 'dev' of github.com:2Shirt/WizardKit into dev 2018-04-16 14:25:42 -06:00
2Shirt
94f74fa1a0 Merge branch 'dev' of https://github.com/2Shirt/WizardKit into dev 2018-04-16 14:21:06 -06:00
2Shirt
04f7ae2f21 Better unit handling during I/O Benchmarks
* All results are in MB/s
2018-04-16 14:17:28 -06:00
2Shirt
b5202d3646 Extend I/O Benchmark to test whole dev 2018-04-16 13:26:35 -06:00
2Shirt
945c771b6e hw-diags-iobenchmark set as executable 2018-04-16 13:01:21 -06:00
2Shirt
501191b388 Include hidden items in EXTRA_DIR/ 2018-04-16 11:37:09 -06:00
2Shirt
c18d86d8c5 Q-Dir filename changed 2018-04-16 10:07:15 -06:00
2Shirt
ae18668a72 Type in AIDA64 URL 2018-04-16 09:42:37 -06:00
2Shirt
d893a80f03 PyPI moved 2018-04-16 09:42:03 -06:00
2Shirt
71885212e8 Tool version bumps 2018-04-16 08:47:34 -06:00
2Shirt
e55dbeeb23 Add dd drive I/O Benchmark test
* All tests: runs if SMART=CS/OVERRIDE & BADBLOCKS=CS
* All drive tests: runs if SMART=CS/OVERRIDE & BADBLOCKS=CS
* I/O tests are readonly, blocksize=4M, and limited to 16 Gb
* Fix issue #23
2018-04-16 02:58:34 -06:00
2Shirt
a7079d4eae Added GPT/PMBR support to build-ufd
* Defaults to GPT/PMBR
  * (Hopefully) fixes #20
* Can still build MBR (Legacy) with the --use-mbr flag
2018-04-15 21:00:45 -06:00
2Shirt
c7c23bc7a1 Open speedtest at the end of the User Checklist
* Fix issue #24
2018-04-15 19:19:03 -06:00
2Shirt
4b0dde6efe Re-add keyboard test to HW diag menu
* Fix issue #25
2018-04-15 10:25:49 -06:00
2Shirt
8e22aa22b0 Fix issue #22 2018-03-15 15:28:54 -06:00
2Shirt
b080200118 Fix issue #21 2018-03-15 14:30:46 -06:00
2Shirt
ac1ee5f695 More HWiNFO updates 2018-03-08 19:09:22 -07:00
2Shirt
6d503fb6c7 Enable TLS 1.2 for PowerShell scripts 2018-03-08 17:33:48 -07:00
2Shirt
2899e34f5e
Update sources.py
Version bumps
2018-03-08 17:02:34 -07:00
2Shirt
5c035cf3b8
Update build_pe.ps1
Version bumps
2018-03-08 16:54:06 -07:00
2Shirt
aadba319b1
Update build_kit.ps1
Version bumps
2018-03-08 16:44:49 -07:00
2Shirt
d82ad55113 Fix issue #19 2018-02-28 13:15:00 -07:00
2Shirt
49c7880e6a Added mount-raw-image script
* Allows for easier mounting of dd images and the partitions within
* Fixes issue #18
2018-02-28 12:39:27 -07:00
2Shirt
1d2940b92e Updated tool versions in the PowerShell scripts 2018-02-21 18:11:01 -07:00
2Shirt
a5630c2837 Updated HWiNFO download sections 2018-02-21 18:08:47 -07:00
2Shirt
6d5abd3b92
Update launchers.py
Bump current IRST version
2018-02-21 14:02:53 -07:00
2Shirt
64f22fbe30
Updated update.py
Support new HWiNFO archives
2018-02-21 14:02:11 -07:00
2Shirt
751f9422d3
Updated sources.py
Broken sections:
* HWiNFO merged their downloads into a single zip
* There's a new IRST version
2018-02-21 13:59:27 -07:00
2Shirt
f950d6d91b Bugfix: Only copy EXTRA_DIR if ${EXTRA_DIR} is set
It was running 'rsync [OPTIONS] /* /mnt/Dest/' because ${EXTRA_DIR} was empty
2018-02-21 12:47:56 -07:00
2Shirt
b17a8de350 Made umount code more explicit
Avoids some unnecessary warnings
2018-02-21 12:46:57 -07:00
2Shirt
483344af70 Updated build-bfd 2018-02-21 10:35:47 -07:00
2Shirt
0d3f1e87cf Started rewrite of build-ufd
* Using the BASH3 Boilerplate as a base for the new script
* The new version requires explicitly setting all sources
  * Will avoid ambiguous matches / collision issues seen in issue #15
  * Better ensures that the intended sources are used
  * Still verify that '.bin' exists to ensure a valid "Main Kit" source
2018-02-21 00:34:53 -07:00
2Shirt
a0c6569eaf
Fix issue #12
The download no longer gets wrapped in a gzip archive.
2018-02-09 11:50:51 -07:00
2Shirt
7d1826f094
FastCopy version bump 2018-02-08 13:40:14 -07:00
2Shirt
e958eedfb6 Fix handing of path separators to prevent crashes 2018-02-07 20:15:31 -07:00
2Shirt
987ea3ab84 Merge branch 'dev' of github.com:2Shirt/WizardKit into dev 2018-02-02 16:41:05 -07:00
2Shirt
bd8151a8cb Improved safety checks for build-ufd 2018-02-02 16:37:13 -07:00
2Shirt
44acb9b755
Update windows_setup.py 2018-01-30 17:28:34 -07:00
2Shirt
7bebe745a1
Update build_pe.ps1 2018-01-30 17:10:54 -07:00
2Shirt
96c6997a44 Update function docstrings 2018-01-30 16:50:28 -07:00
2Shirt
89c343943f Replaced remaining show_info calls with show_data 2018-01-30 16:00:59 -07:00
2Shirt
e0db7560e6 Better server share mounting
* Added ability to mount read-only or read-write
  * Allows the same main.py file to be used for all build scripts.
2018-01-30 15:23:46 -07:00
2Shirt
fbf956c651 Finished build-ufd script 2018-01-30 13:33:42 -07:00
2Shirt
16ea653ca4 Removed unused main.py settings 2018-01-28 18:23:59 -07:00
2Shirt
314bc24d09 Removed PuTTY-PSTFP from tools list
* Only used for uploading client info (which was removed)
2018-01-28 18:22:52 -07:00
2Shirt
3ac2d8d1d4 Bugfix: Setting Windows time should work again
* Was using the wrong variable name
2018-01-28 18:19:57 -07:00
2Shirt
012da00821 Removed ClientInfo upload code 2018-01-28 17:55:40 -07:00
2Shirt
c24554720f Add option to upload crash details
* Disabled by default, enabled via main.py ENABLE_UPLOAD_DATA
* Upload destination set via main.py CRASH_SERVER variable
2018-01-28 17:48:42 -07:00
2Shirt
d96256fd87 Add reboot/shutdown entries when not in X 2018-01-27 12:45:37 -07:00
2Shirt
30dcd8758e Added a "Yes to all" option to User Data Transfer 2018-01-26 18:35:05 -07:00
2Shirt
a7451f86ba Added choice() function
* Provides a simlilar interface to the Windows choice command.
2018-01-26 18:32:33 -07:00
2Shirt
f0ae207890 Improved source scanning for user data transfers
* Fixes recursion bug when Windows.old folders are present
* Combined logic for file/folder sources and WIM sources
* Code uses proper folder separators for the running OS
  * (e.g. '\' for Windows and '/' for the rest)
2018-01-26 17:52:43 -07:00
2Shirt
f7f3f0d53c
Updated info.py
Should fix #10
2018-01-17 17:22:45 -07:00
2Shirt
fbd7f47749 Added build-ufd script
* Includes safety checks to avoid unintentional data loss
2018-01-15 17:30:47 -07:00
2Shirt
5a1f9f0961 Added Cleanup CBS launcher 2018-01-15 14:28:31 -07:00
2Shirt
480ac48aae Removed '+' from positive temps in hw-sensors 2018-01-15 14:13:35 -07:00
2Shirt
0e87bf55a0 Enable HW-Diags for more devices
* Skip all removable WizardKit devices
* Fixes issue #8
2018-01-15 13:45:58 -07:00
2Shirt
10cf7a1575 Updated hw-sensors
* Filter out non-temp sensors
* Adjusted formatting
* Partially addresses issue #9
2018-01-15 12:57:27 -07:00
2Shirt
c7901d1328 Merge branch 'linux' into dev 2017-12-30 12:30:27 -07:00
2Shirt
b441738950 Fixed opening logs in WinPE 2017-12-30 12:05:24 -07:00
2Shirt
43e8746c46 Fixed using local Windows images 2017-12-30 12:04:48 -07:00
2Shirt
6eef031ebf
Update build_pe.ps1
FastCopy version bump
2017-12-30 10:51:31 -07:00
2Shirt
19f087cb8b
Update sources.py
IOBit Portable version bump
2017-12-30 09:55:48 -07:00
2Shirt
a2737e3102
Update sources.py
FastCopy version bump
2017-12-30 09:48:56 -07:00
2Shirt
698546f823 Switch to single-line disk descriptions 2017-12-27 19:36:22 -07:00
2Shirt
c0cbdc6923 Added pause after audio and network tests 2017-12-27 19:19:29 -07:00
2Shirt
524096165c Forgot to update_progress during badblocks tests 2017-12-27 14:02:04 -07:00
2Shirt
5d70124c39 Updated badblocks section
* Reduced worker pane size
* Save badblocks logs in LogDir
2017-12-27 13:42:10 -07:00
2Shirt
18ce079aa3 Open log after HW diags 2017-12-27 13:11:25 -07:00
2Shirt
938ee7afd5 Renamed mount-all-volumes foh option to gui 2017-12-27 04:50:18 -07:00
2Shirt
6ddf3fca67 Re-added hw-diags quick disk check function 2017-12-27 04:45:59 -07:00
2Shirt
62c77fb696 removed remaining old, unused scripts 2017-12-27 04:27:40 -07:00
2Shirt
16c20ac6ea Cleanup and fix results screen during abort
* Renamed run_smart to run_nvme_smart to match rest of the code
* Mark NVMe/SMART status as NS earlier in a couple more cases
* Prevent crash when all tests are run and then aborted during Prime95
2017-12-27 04:22:02 -07:00
2Shirt
7fbbde56c6 run_badblocks() working
* Re-added and updated hw-diags-badblocks
2017-12-27 04:01:54 -07:00
2Shirt
d4146c9c35 Added warning when no sensors are detected 2017-12-27 03:58:56 -07:00
2Shirt
0ea523a2cf Show Prime95 final temps in result screen 2017-12-27 02:12:32 -07:00
2Shirt
0bab107e24 Updated results screen formatting 2017-12-27 02:11:28 -07:00
2Shirt
24e72f2f35 SMART section finished
* The script waits for the self-test for polling-time+5min
  * Unless it detects completion after 60 seconds
* Fixed missing linebreaks in progress panes
* BREAKING: TESTS data structure reworked to support per-dev status
2017-12-27 01:42:04 -07:00
2Shirt
579a747878 Started work on results screen 2017-12-26 21:43:23 -07:00
2Shirt
a6917fc129 run_mprime() finished
* Results now determined from log files
2017-12-26 15:57:36 -07:00
2Shirt
8ff33547c4 Save temps just before stopping Prime95 2017-12-26 15:16:15 -07:00
2Shirt
c1fe3d8538 Added --nocolor option to hw-sensors
* Going to use it to export the "final" temps before killing Prime95
2017-12-26 15:08:46 -07:00
2Shirt
03d7646685 Enabled logging for hw-diags 2017-12-26 14:17:53 -07:00
2Shirt
74ba8fb758 Added hw-diags-prime95 and still removing libtmux 2017-12-24 18:46:02 -07:00
2Shirt
57b1d246c2 Going to drop libtmux and use tmux directly 2017-12-24 17:13:48 -07:00
2Shirt
6f456f5c47 Added show_disk_details() 2017-12-24 15:41:13 -07:00
2Shirt
59a449e7e5 Cleanup
* Renamed 'Health OK' to 'Quick Health OK'
  * Better implies that we're not done testing
* Renamed SMART sections to NVMe/SMART
  * Dropping SMART short-tests for NVMe drives
2017-12-24 13:19:23 -07:00
2Shirt
87c09c4da0 New method for gathering SMART/NVMe data
* Replaced smartmontools with smartmontool-svn
  * Adds JSON exporting which makes parsing the data easier
* Using nvme-cli for NVMe drives instead of smartctl
  * NVMe support in smartctl is still experimental and inconsistent
* New "Health OK" detection
  * This is used to determine if a disk is okay to be tested
    * e.g. an IDE disk w/out any SMART data now requires explicit overriding
  * NVMe disks are set using the "critical_warning" attribute
  * SMART disks are set using the "overall-health" attribute
2017-12-24 00:21:33 -07:00
2Shirt
8acb493006 typo 2017-12-23 19:53:28 -07:00
2Shirt
a733af679c Forgot to set apple-fans to auto after Prime95 2017-12-23 19:41:09 -07:00
2Shirt
8e26e09fe6 Reordered functions 2017-12-23 19:40:09 -07:00
2Shirt
19d32dda0b Reduce file opens during update_progress() 2017-12-23 19:36:57 -07:00
2Shirt
5d6e138d29 Started hw-diags & hw-diags-inner rewrite 2017-12-23 19:11:50 -07:00
2Shirt
a7606a4b5c Print script names and audio tests output 2017-12-23 14:24:15 -07:00
2Shirt
a1b72c0aeb New hw-diags-network script 2017-12-22 00:45:42 -07:00
2Shirt
1760c030ef New hw-diags-audio script 2017-12-21 23:34:56 -07:00
2Shirt
e19bcf1000 Renamed apple_fans to apple-fans
* Done to match naming scheme
2017-12-21 23:18:52 -07:00
2Shirt
374d4a1c98 Removed old mount-backup-shares script 2017-12-21 23:17:45 -07:00
2Shirt
e96d491285 New mount-backup-shares script 2017-12-21 23:16:50 -07:00
2Shirt
1cfa008b8e New MS Word search script 2017-12-21 22:31:21 -07:00
2Shirt
96ef259b4c New HW sensors script
* Rewritten in python
* Report CoreTemps first then others
* Wrap into two columns as necessary (if the window is big enough)
2017-12-21 17:25:09 -07:00
2Shirt
a84b2dfef6 Thunar no stays open after mount-all-volumes call 2017-12-19 07:06:42 -07:00
2Shirt
6bbc15d4f1 Updated: mount-all-volumes
* Added switch for foh mode instead of using symlinks
* Updated i3/openbox shortcuts
2017-12-18 03:50:15 -07:00
2Shirt
183ef78ea9 mount-all-volumes rewrite complete
* New print layout
* All inxi calls replaced with findmnt and lsblk
  * Added util-linux to packages/live
2017-12-18 03:36:56 -07:00
2Shirt
5ea03da0a4 Converted all python scripts to LF/UNIX 2017-12-18 00:47:47 -07:00
2Shirt
c1e391132b Added CRLF checks for main.py to build scripts
* Some of the source files changed from crlf to lf and I'm not sure when/how
* This is likely overkill but it didn't take long
2017-12-18 00:45:18 -07:00
2Shirt
a33a54c5e6 Started python conversion 2017-12-17 21:22:53 -07:00
2Shirt
ef6dbc197a Updated main settings and timezones 2017-12-17 18:09:14 -07:00
2Shirt
e37b1529b0 Removed customize_airootfs.sh and new SSH code
* Code has been merged into Build Linux
  * (releng copy is updated in place)
* SSH key for wktech now generated at build time
* Hostname is now set using main.py
* Passwords are now set using main.py
* Timezone is now set using main.py
2017-12-13 13:11:28 -07:00
Alan Mason
6ff8d76b59 Write logs in UTF-8
Fixes #6
2017-12-06 13:23:28 -08:00
Alan Mason
5d7cad37e4 Bugfix: Prevent crash when checking Office/QuickBooks network installers 2017-12-06 12:50:34 -08:00
Alan Mason
ac1e839876 Merge branch 'master' into develop 2017-12-04 15:17:45 -08:00
Alan Mason
2fd5dd28d9 Removed compress_bin.cmd
No longer used
2017-12-04 15:14:19 -08:00
Alan Mason
50c70c3ab9 v1.2.0 - WizardHats
## Main Kit ##
* Updated build script to work with new folder layout
* Browser sections have better profile & installation detection/reporting
* Browser extension section updated to support Firefox Quantum
* User Data Transfers will display local sources before remote sources
* Various bugfixes

## Windows PE ##
* WizardKit PE has been integrated into this project
* The build script has been replaced with a new PowerShell script
  * This downloads the tools, builds a new PE image, and exports x32 & x64 ISOs
  * main.py is opened for editing before the PE images are built
  * ISO names use KIT_NAME_SHORT (e.g. WK-WinPE-20XX-XX-XX-amd64.iso)
* BitLocker CLI tool "manage-bde" has been added
* All PE Python scripts have been updated
  * These scripts also use the main.py file for customization
  * Better handling of damaged drives during backup & setup sections
  * Partition type descriptions have been trimmed to fit on a single line
  * Backup and Setup sections are now logged
    * These logs can be reviewed and saved before returning to the main menu
  * "No disk" errors seen when scanning empty card-readers should be silenced
* Various bugfixes
2017-12-04 14:57:30 -08:00
Alan Mason
1aed752be0 build_pe.ps1 now uses main.py settings
* main.py is copied to BUILD and then opened in notepad for editing
* ISO names use KIT_NAME_SHORT
2017-12-04 14:50:03 -08:00
Alan Mason
a5a4278c3e Expanded browser section
* Support installing adblock for browsers with no profiles detected
* Warn tech about missing browsers if profiles are detected
2017-12-04 12:19:57 -08:00
Alan Mason
4130932d58 Install extensions after Ninite bundle
This prevents the Ninite Firefox install from wiping out the FF extension(s)
2017-12-04 11:44:27 -08:00
Alan Mason
d0b7d116c5 Disabled process killer 2017-12-04 10:04:07 -08:00
Alan Mason
affa8b5af8 version bump 2017-12-04 09:11:02 -08:00
Alan Mason
abd41f3c94 Updated url for Lenovo Support 2017-12-04 09:06:24 -08:00
Alan Mason
1cbd1782f7 User data transfers working.
Bugfix: cleanup_transfer() call was missing dest_path
2017-12-04 08:46:19 -08:00
Alan Mason
26c1a47fec Sorted data transfer sources for menu_select 2017-12-04 08:20:11 -08:00
Alan Mason
b0068e0dce Bugfix: browsers.py
* Profile backup detection fixed
2017-12-04 07:43:53 -08:00
Alan Mason
d78971019f Bugfix: install_firefox_extensions() 2017-12-04 07:35:31 -08:00
Alan Mason
d737a35078 Refactored check_os()
* Safer registry queries
* Only query CurrentBuild, CurrentVersion, and ProductName
* Service Pack / update status determined by the build number
* Set build & version to -1 instead of 'Unknown' if str to int/float fails
  * Might prevent crashes by not mixing str/num types
2017-12-04 07:13:37 -08:00
Alan Mason
355b6deb7d Bugfix: init_client_dir.cmd
%iso_date% was being referenced before being set
2017-12-04 05:55:56 -08:00
Alan Mason
f1c07ae252 Update ERUNT launcher to use Backups instead of Info 2017-12-03 22:19:48 -08:00
Alan Mason
80bf1fe3c2 Bugfix: system_checklist.py activation section 2017-12-03 22:19:36 -08:00
Alan Mason
110084fce6 Added FirefoxExtensions to update.py 2017-12-03 19:54:44 -08:00
Alan Mason
9414c04395 Pause during abort() 2017-12-03 18:02:32 -08:00
Alan Mason
96515bd2b8 Bugfix: system_diagnostics.py
Respect ENABLED_UPLOAD_DATA value
2017-12-03 17:46:45 -08:00
Alan Mason
45dc982f44 Don't copy SDIO or Update Kit.cmd 2017-12-03 17:45:18 -08:00
Alan Mason
09b23c2ffa Prevent double timestamps in show_installed_ram() 2017-12-03 17:36:02 -08:00
Alan Mason
83074f7460 Registry backups saved to Backups instead of Info 2017-12-03 17:35:25 -08:00
Alan Mason
9193c16090 Bugfix: activation.py
Reversed updates from commit b47c214
2017-12-03 14:57:34 -08:00
Alan Mason
3b31b7fd29 Bugfix: update.py 2017-12-03 14:52:51 -08:00
Alan Mason
197b695fac Bugfix: Copy WizardKit.cmd
* I'm sure I've fixed this before..
2017-12-03 13:06:42 -08:00
Alan Mason
975a43f1d5 Ask to open logs in WinPE menus
* Instead of automatically opening them
2017-12-03 09:50:30 -08:00
Alan Mason
5c5b13b33c Updated select_minidump_path() 2017-12-03 09:49:42 -08:00
Alan Mason
e892cd3406 Attempt to silence more "No disk" errors 2017-12-03 09:48:59 -08:00
Alan Mason
1848c7dc66 Fix rare crashes caused by damaged disks 2017-12-03 09:28:12 -08:00
Alan Mason
7e4a0259c7 updated partition_uids sections 2017-12-03 09:08:50 -08:00
Alan Mason
075e25462e Properly handle damaged filesystems 2017-12-02 16:58:45 -08:00
Alan Mason
da0dae2083 Trimmed partition descriptions 2017-12-02 16:33:26 -08:00
Alan Mason
750112cfb2 WinPE files moved into place. 2017-12-01 19:43:42 -08:00
Alan Mason
e13b057eac Sync functions\* with WinPE versions 2017-12-01 19:24:09 -08:00
Alan Mason
b47c214133 More misc cleanup 2017-11-30 21:48:25 -08:00
Alan Mason
11cf75d4a6 Added clear_screen() 2017-11-30 14:08:12 -08:00
Alan Mason
5eaefb3e41 Misc cleanup 2017-11-30 13:34:39 -08:00
Alan Mason
c0d80e8727 Updated error message 2017-11-30 09:59:00 -08:00
Alan Mason
a027c61d54 Notepad++ version bump 2017-11-27 23:27:02 -08:00
Alan Mason
c9642cb030 v1.1.0 - WizardHat Edition
* Added download progress for PowerShell build phase
2017-11-27 23:11:43 -08:00
Alan Mason
5d588f3563 PowerShell cleanup
* Show download progress again
  * Done by leaving $progressPreference set to system default
* If there are errors during download, then bail before extracting data
* Moving to a new style guide for PowerShell scripts
  * Using this: https://poshcode.gitbooks.io/powershell-practice-and-style/
  * Encoding set to UTF-8 BOM instead of UTF-8
2017-11-27 22:58:17 -08:00
Alan Mason
fa950f3565 Dropped support for PowerShell 6.0 on Windows 7
The build script will now abort and display a warning in this scenario
2017-11-27 13:32:00 -08:00
Alan Mason
e7dd6a1b54 PowerShell 6 on Win7 failed to build
Start-Process "" -Wait doesn't wait preventing proper extraction of tools.
See these issues:
* https://github.com/PowerShell/PowerShell/issues/2091  (Main issue)
* https://github.com/PowerShell/PowerShell/issues/3747
* https://github.com/PowerShell/PowerShell/pull/4463
2017-11-27 13:29:06 -08:00
Alan Mason
0c5912d345 Enable debug mode in PowerShell via %DEBUG% 2017-11-27 11:23:27 -08:00
Alan Mason
546dc77f03 v1.0.1 - WizardHat 2017-11-25 16:33:53 -08:00
Alan Mason
7a1616c8a7 Updated build_kit.ps1 2017-11-25 16:32:07 -08:00
Alan Mason
537973fa90 v1.0.0 - WizardHat
## Major Update ##

* Build Kit.cmd
  * This script will build a fully functional kit requiring only PowerShell 3.0+ be installed prior.
* All launchers are now generated during builds and updates (by update_kit.py)
  * This allows for a much leaner code-base to manage
* Lots of bugfixes, cleanup, and other adjustments.
2017-11-23 20:45:15 -08:00
Alan Mason
0b4b7a2bbb Saved the update to the wrong file.. 2017-11-23 20:21:01 -08:00
Alan Mason
d8d105c9ae Set core.autocrlf to false
* This should (hopefully) allow for tagged releases to have the correct line endings.
2017-11-23 15:24:53 -08:00
Alan Mason
964ec1e037 Adjusted free_space formatting 2017-11-23 15:13:33 -08:00
Alan Mason
b1fa59c32d Adjusted Activation menu
* If CS: exit_ecript(), else return to menu
2017-11-23 14:55:27 -08:00
Alan Mason
b02a62a917 Updated BIOS activation sections 2017-11-23 14:35:32 -08:00
Alan Mason
dcd5fa1b7a Added VCRedist install script and launcher 2017-11-23 13:54:04 -08:00
Alan Mason
9ba9ece589 Removing Visual C++ 2015 runtimes
* VCRedist 2017 installs as an update for 2015 (http://disq.us/p/1hjcta0)
  * This prevents installing or uninstalling the 2015 versions after installing 2017
  * (Because both 2015 and 2017 use these regkeys: HKEY_LOCAL_MACHINE(Wow6432Node|)\SOFTWARE\Microsoft\DevDiv\VC\Servicing\14.0)
2017-11-23 13:43:49 -08:00
Alan Mason
5dda9ea491 FIx BleachBit sections 2017-11-23 12:20:39 -08:00
Alan Mason
70c0868a4c Misc fixes 2017-11-23 12:20:06 -08:00
Alan Mason
e711258850 Updated SafeMode Enter & Exit scripts 2017-11-22 21:02:36 -08:00
Alan Mason
98b95cbcb5 Merge branch 'new-update-script' into develop 2017-11-22 20:58:59 -08:00
Alan Mason
9977ddf365 Made Ninite optional in install_sw_bundle 2017-11-22 20:58:42 -08:00