Installing Kali Linux as Guest OS in KVM Hypervisor

Erik Skultety eskultet at redhat.com
Mon Dec 7 10:29:18 UTC 2020


On Mon, Dec 07, 2020 at 11:13:08AM +0100, Michal Privoznik wrote:
> On 12/4/20 6:26 PM, Kaushal Shriyan wrote:
> > On Thu, Dec 3, 2020 at 8:54 PM Erik Skultety <eskultet at redhat.com> wrote:
> > 
> > > On Tue, Dec 01, 2020 at 06:15:55PM +0100, Michal Privoznik wrote:
> > > > On 12/1/20 5:28 PM, Kaushal Shriyan wrote:
> > > > > Hi,
> > > > > 
> > > > > I have run the below command to install Kali Linux using
> > > > > linux-2020.4-installer-amd64.iso from https://www.kali.org/downloads/
> > > > > 
> > > > > #virt-install --name kalilinux --memory 4096 --vcpus=2
> > > > > 
> > > --location=/linuxkvmaddgbdisk/kali-linux-2020.4-installer-amd64.iso,kernel=install.amd/gtk/vmlinuz,initrd=install.amd/gtk/initrd.gz
> > > > > --network=bridge:br0 --os-type=linux --os-variant=debian9
> > > --graphics=none
> > > > > --extra-args "console=ttyS0" -v --disk
> > > > > path=/linuxkvmaddgbdisk/kalilinux.img,size=50
> > > > > 
> > > > > I am not able to get the root login prompt when I run the below
> > > command to
> > > > > set IP and hostname for the guest OS. Am I missing any parameters from
> > > the
> > > > > above virt-install command to install Kali Linux as Guest OS in KVM
> > > > > Hypervisor?
> > > > > 
> > > > 
> > > > Just a hunch, maybe --extra-args work only for installation and are not
> > > > persistent? I guess installer doesn't persist kernel cmd line passed in
> > > 
> > > Exactly, --extra-args is just for convenience of not having to edit the
> > > kernel
> > > cmdline manually when the serial console/GUI window opens with grub.
> > > 
> > > Erik
> > > 
> > > 
> > Hi Erik,
> > 
> > Thanks for your reply.  I am not sure if I completely understand it. Is
> > there an issue in the below command? Do I need to remove --extra-args
> > "console=ttyS0" in the below command to have ssh console access to the KVM
> > Guest VM? Please suggest.
> > 
> > #virt-install --name kalilinux --memory 4096 --vcpus=2
> > --location=/linuxkvmaddgbdisk/kali-linux-2020.4-installer-amd64.iso,kernel=install.amd/gtk/vmlinuz,initrd=install.amd/gtk/initrd.gz
> > --network=bridge:br0 --os-type=linux --os-variant=debian9 --graphics=none
> > --extra-args "console=ttyS0" -v --disk
> > path=/linuxkvmaddgbdisk/kalilinux.img,size=50
> > 
> > I look forward to hearing from you. Thanks in Advance.
> 
> For accessing your guest via SSH you do not need a serial console. SSH works
> over network, not serial consoles.
> 
> And those --extra-args: just take virtualization out of the picture for a
> second. You bought yourself a new desktop and want to install a distro onto
> it. You plug an USB stick in and as the installer boots you change the
> kernel cmd line. Then you proceed with installing the distro. I don't think
> that the installer will copy those extra kernel args you added into the
> freshly installed grub, why would it?
> 
> Therefore, when you want to have some extra args after the installation, you
> have to edit the guest. Since at this point you are not booting kernel
> directly, libvirt/qemu can't help you and you need to hand edit grub config
> in the guest. And in this specific case, there is an alternative approach -
> editing /etc/inittab so that the init enables serial console.

Unless that specific Kali version is powered by systemd (which it most likely
is) in which case you're going to see a note in /etc/inittab that it's
deprecated and changes will be ignored. IMO the safest bet here is to edit the
grub config as Michal suggested as the first option.

Regards,
Erik




More information about the libvirt-users mailing list