Skip to content

Commit

Permalink
Added a --skip-ntp parameter to deal with #2144
Browse files Browse the repository at this point in the history
  • Loading branch information
Torxed committed Nov 21, 2023
1 parent cc806d9 commit 831ebbb
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 6 deletions.
1 change: 1 addition & 0 deletions archinstall/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ def define_arguments():
parser.add_argument("-v", "--version", action="version", version="%(prog)s " + __version__)
parser.add_argument("--config", nargs="?", help="JSON configuration file or URL")
parser.add_argument("--creds", nargs="?", help="JSON credentials configuration file")
parser.add_argument("--skip-ntp", nargs="?", help="Disables NTP checks during instalation")
parser.add_argument("--silent", action="store_true",
help="WARNING: Disables all prompts for input and confirmation. If no configuration is provided, this is ignored")
parser.add_argument("--dry-run", "--dry_run", action="store_true",
Expand Down
22 changes: 16 additions & 6 deletions archinstall/lib/installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,13 +130,23 @@ def _verify_service_stop(self):
One such service is "reflector.service" which updates /etc/pacman.d/mirrorlist
We need to wait for it before we continue since we opted in to use a custom mirror/region.
"""
info('Waiting for time sync (systemd-timesyncd.service) to complete.')

while True:
time_val = SysCommand('timedatectl show --property=NTPSynchronized --value').decode()
if time_val and time_val.strip() == 'yes':
break
time.sleep(1)
if not storage['arguments'].get('skip_ntp', False):
info('Waiting for time sync (timedatectl show) to complete.')

_started_wait = time.time()
_notified = False
while True:
if not _notified and time.time() - _started_wait > 5:
_notified = True
warn("Time syncronization not completing, while you wait - check the docs for workarounds: https://archinstall.readthedocs.io/")

time_val = SysCommand('timedatectl show --property=NTPSynchronized --value').decode()
if time_val and time_val.strip() == 'yes':
break
time.sleep(1)
else:
info('Skipping waiting for automatic time sync (this can cause issues if time it out of sync during installation)')

info('Waiting for automatic mirror selection (reflector) to complete.')
while self._service_state('reflector') not in ('dead', 'failed', 'exited'):
Expand Down

0 comments on commit 831ebbb

Please sign in to comment.