Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bootstrap stalls and a restart login says root password is incorrect #33

Open
TimJSwan89 opened this issue Jul 5, 2023 · 15 comments
Open

Comments

@TimJSwan89
Copy link

TimJSwan89 commented Jul 5, 2023

[update: you may disregard this comment since the third comment has more reproducible detail]

I followed the instructions with a UTM setup on an M1 macbook. I can run git clone and ping google, so there doesn't seem to be network issues. ifconfig gave me an ip address which I used in the NIXADDR environment variable as instructed. After running make vm/bootstrap0 successfully and ensuring the project was ready again to run the second script, I ran make vm/bootstrap and it had an ssh error.
ssh: connect to host 192.164.64.4 port 22: Connection refused
rsync error: unexplained error (code 255) at io.c(228) [sender=3.2.5]
Note: I don't have clipboard sharing functioning so it's just retyped from what I see.
I rebooted the OS and it asks nixos login: If I enter root it asks Password: and root prompts a response Login incorrect I have attempted empty fields for login and password already.

@TimJSwan89
Copy link
Author

Even though I ran sudo su then passwd and set it to root in both boot sequences, I cannot log in to the VM after it stops after running make vm/bootstrap regardless of which generation I select.

@TimJSwan89
Copy link
Author

TimJSwan89 commented Jul 5, 2023

To replicate,

  1. I start UTM on an M1 macbook with 4GB RAM and 64GB storage.
  2. I use nixos-minimal-22.05.4694.380be19fbd2-aarch64-linux.iso to boot after changing the other drive from VirtIO to NVMe.
  3. I run the default installer, the one without any parenthesis note. sudo su passwd root root
  4. nix-shell -p git gnumake openssh
  5. git clone https://github.com/mitchellh/nixos-config cd nixos-config
  6. ifconfig observe that enp0s1 has inet of 192.168.64.6 for this instance of a VM.
  7. export NIXADDR=192.168.64.6 export NIXNAME=vm-aarch64-utm
  8. make vm/bootstrap0 root at the password prompt. Wait for the script for a while, it reboots.
  9. Select shutdown after the reboot. Clear the CD/DVD drive option for the VM.
  10. Start up the VM again.
  11. Log in with root root
  12. sudo su passwd root root (not sure if this step is necessary)
  13. sudo -E nix-shell -p git gnumake openssh
  14. git clone https://github.com/mitchellh/nixos-config cd nixos-config
  15. Double check ifconfig to be sure the ip is the same as last time. export NIXADDR=192.168.64.6 export NIXNAME=vm-aarch64-utm
  16. make vm/bootstrap root root password entered twice as the script prompts twice.
  17. After a few minutes, it seems to stall on restarting the following units: dhcpcd.service, sshd.service, systemd-journald.service it may be relevant that there are a few interesting lines above that including updating systemd-boot from 250.9 to 253.5 and Failed to stop -.mount: Job type stop is not applicable for unit -.mount.
  18. After a certain amount of time, I get tired of waiting and I ctrl+C into the shell.
    journalctl --reverse | less -N produces most recent logs with:
Jul 05 13:43:55 dev tailscaled[28989]: bootstrapDNS("derp4d.tailscale.com”, "2a03:b0c0:3:d0::1501:b001") for "log.tailscale.io” error: Get "https://derp4d.tailscale.com/bootstrap-dns?q=log.tailscale.io”: dial tcp [2a03:b0c0:3:d0::1501:b001]:443: connect: network is unreachable
Jul 05 13:43:55 dev tailscaled[28989]: trying bootstrapDNS(“"derp4d.tailscale.com”, "2a03:b0c0:3:d0::1501:b001") for "log.tailscale.io" ...
  1. reboot
  2. 2 nixos generations are shown and I cannot log into either of them because the generation 2 just seems to stall indefinitely and generation 1 says that root root is Login incorrect

@TimJSwan89 TimJSwan89 changed the title Login password set and ifconfig ip not functioning with ssh bootstrap stalls and a restart login says root password is incorrect Jul 5, 2023
@TimJSwan89
Copy link
Author

TimJSwan89 commented Jul 5, 2023

I checked journalctl per a chatbot's recommendation after step 18 but before step 19. It looks like there is an issue with network connection to some tailschale.io I had to use a tool to convert some of the log screenshot into text and fix it manually since there is no shared clipboard.

journalctl --reverse | less -N

Jul 05 13:43:55 dev tailscaled[28989]: bootstrapDNS("derp4d.tailscale.com”, "2a03:b0c0:3:d0::1501:b001") for "log.tailscale.io” error: Get "https://derp4d.tailscale.com/bootstrap-dns?q=log.tailscale.io”: dial tcp [2a03:b0c0:3:d0::1501:b001]:443: connect: network is unreachable
Jul 05 13:43:55 dev tailscaled[28989]: trying bootstrapDNS(“"derp4d.tailscale.com”, "2a03:b0c0:3:d0::1501:b001") for "log.tailscale.io" ...

@supermarin
Copy link
Contributor

supermarin commented Jul 6, 2023

Commenting here instead of opening a new issue: the "official" VMWare installation is broken ATM as well, mainly due to recommendd SCSI drives being /dev/sda, and NVME being /dev/nvme0n1. I've quickly poked around yesterday with NVME, but ran into more problems like nixos-generate-config creating wrong boot configuration, and not being able to boot into installed OS with EFI.

Now that NixOS has working GUI installer, I wonder if it would be better to record a new video and just use GUI install. That would take care of the bootstrap0 phase, then vm/bootstrap would be run over vanilla install.

@mitchellh
Copy link
Owner

I just bootstrapped from scratch again on my own on both my Mac and Windows and it worked fine on both. I did update the README and Makefile to revert back to SATA (unrelated to this issue) and I updated some syntax for NixOS 23.05. In either case, I'm unsure if it was consequential to do this issue but I can't reproduce any issues.

@TimJSwan89
Copy link
Author

I just bootstrapped from scratch again on my own on both my Mac and Windows and it worked fine on both. I did update the README and Makefile to revert back to SATA (unrelated to this issue) and I updated some syntax for NixOS 23.05. In either case, I'm unsure if it was consequential to do this issue but I can't reproduce any issues.

Did you use UTM? Maybe there is something different with the nix iso I used or even my mac specs. I have a 2020 M1 with 8GB RAM. Is there a way for me to troubleshoot or test the networking issue related to the tailscaled issue?

@mitchellh
Copy link
Owner

Did you use UTM? Maybe there is something different with the nix iso I used or even my mac specs. I have a 2020 M1 with 8GB RAM. Is there a way for me to troubleshoot or test the networking issue related to the tailscaled issue?

I used VMware Fusion. I haven’t tried UTM in a long while. Maybe it’s that. This was on a 2020 M1 MacBook Pro. I think there is likely some networking difference in UTM or something. I think its at least still valuable knowing that a clean bootstrap on VMware on similar hardware is working.

@supermarin
Copy link
Contributor

@mitchellh are you on VMWare Player or Pro? Just realized that my vm did't boot with EFI at all, and there isn't any mentioning of UEFI in the vm settings (gui). Haven't tried forcing it by hand in .vdx. Is it possible that VMWare 13 Player doesn't support booting w/ UEFI?

@mitchellh
Copy link
Owner

@mitchellh are you on VMWare Player or Pro? Just realized that my vm did't boot with EFI at all, and there isn't any mentioning of UEFI in the vm settings (gui). Haven't tried forcing it by hand in .vdx. Is it possible that VMWare 13 Player doesn't support booting w/ UEFI?

Workstation pro but I think you can set some vmx settings to get UEFI. If you can figure out the Nix config to support EFI I’d be happy to document it but I couldn’t get that working with NixOS at all.

@supermarin
Copy link
Contributor

supermarin commented Jul 13, 2023

@mitchellh thanks! I think it's better to have one true working config, both for the users and sake of your time maintaining this.

Just looked into the .vmx VMWare Player created, and indeed there's firmware=bios in there.
Then I created a brand new vm, checked the vmx and firmware is efi in there.
The only conclusion I can draw from this is my own stupidity of either overriding an existing vm, or missing the checkbox in initial VM creation. Went through the whole setup and can confirm that this part works as intended after your /dev/sda changes.

The bootstrap did get stuck at the same point @TimJSwan89's referring to. This is due to the hardcoded mitchellh user and password in here.

...redacted
the following new units were started: docker.service, docker.socket, home-manager-mitchellh.service, host.mount, network-addresses-ens33.service, nix-daemon.service, run-vmblock\x2dfuse.mount, sys-devices-virtual-net-docker0.device, sys-devices-virtual-net-tailscale0.device, sys-subsystem-net-devices-docker0.device, sys-subsystem-net-devices-tailscale0.device, systemd-fsck@dev-disk-by\x2dlabel-boot.service, tailscaled.service, vmware.service
make[1]: Leaving directory '/Users/marin/nixos-config'
make vm/secrets
make[1]: Entering directory '/Users/marin/nixos-config'
# GPG keyring
rsync -av -e 'ssh -o PubkeyAuthentication=no -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
	--exclude='.#*' \
	--exclude='S.*' \
	--exclude='*.conf' \
	/Users/marin/.gnupg/ [email protected]:~/.gnupg
Warning: Permanently added '172.16.174.129' (ED25519) to the list of known hosts.
([email protected]) Password:

It's totally ok if you want to keep this repo working for you; just thought it would be awesome if newcomers could see a working i3 session like in your video. Do you think having an installer user that's in wheel would be an option, or maybe changing the initial password for mitchellh to hunter2 or whatever? The other option would be to document changing users in nixos.nix.

@multivac61
Copy link

In the YouTube video, which is excellent by the way, you mention that the hard disk should be SCSI. In my experience that does not result in a file called /dev/sda and the bootstrap0 step failes.

I do not know what has changed but selecting SATA instead did the trick 😉

@Nebuchadrezzar
Copy link

I hit the same roadblock as @TimJSwan89, and concur with @supermarin that a default user (or prompting for a user/ password) would be appreciated.

@gongqian
Copy link

gongqian commented Oct 12, 2023

[update: you may disregard this comment since the third comment has more reproducible detail]

I followed the instructions with a UTM setup on an M1 macbook. I can run git clone and ping google, so there doesn't seem to be network issues. ifconfig gave me an ip address which I used in the NIXADDR environment variable as instructed. After running make vm/bootstrap0 successfully and ensuring the project was ready again to run the second script, I ran make vm/bootstrap and it had an ssh error. ssh: connect to host 192.164.64.4 port 22: Connection refused rsync error: unexplained error (code 255) at io.c(228) [sender=3.2.5] Note: I don't have clipboard sharing functioning so it's just retyped from what I see. I rebooted the OS and it asks nixos login: If I enter root it asks Password: and root prompts a response Login incorrect I have attempted empty fields for login and password already.

The issue seemed to relate to tailscale, I resolve the issue by commenting out the tailscale config in machine/vm-share.nix as i don't use it at all.

services.tailscale.enable = true; // to comment out

and you will have to replace with your own hashed password and other credentials, which i haven't completely done yet. With my own hash password, i was able to get installation going and have nixos up and login as default "mitchellh"
user

@peteringram0
Copy link

peteringram0 commented Feb 27, 2024

Also getting this issue with asking for password (after setting in the VM) and getting incorrect.

@gongqian Thank for your comment. What type of hashing is used for the password if i want to replace it?

@Rudra1106
Copy link

@mitchellh are you on VMWare Player or Pro? Just realized that my vm did't boot with EFI at all, and there isn't any mentioning of UEFI in the vm settings (gui). Haven't tried forcing it by hand in .vdx. Is it possible that VMWare 13 Player doesn't support booting w/ UEFI?

Workstation pro but I think you can set some vmx settings to get UEFI. If you can figure out the Nix config to support EFI I’d be happy to document it but I couldn’t get that working with NixOS at all.

i think you should recheck this issue of root password sir , many folks are facing this same problem .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants