Fresh Install on USB, Enters Emergency Shell, No Keyboard

Hello.

I'm trying to install Manjaro onto a 256 GB USB drive so that I can easily take my programming environment with me. I used VMWare to install onto the drive. 512 MB FAT32 boot, and the rest as EXT4 for the system. manjaro-xfce-18.0.4-stable-x86_64.iso

Upon booting into it, it goes directly to the emergency shell, but does not give me access to my USB keyboard. I see this:

mount : /new_root: can’t find UUID=blah blah blah
You are now being dropped into an emergency shell.
sh : can’t access tty; job control turned off
(rootfs )#

I am stuck on this screen and cannot directly access the system. However, I can run the VM environment to see into the EXT4 partition.

If you need more information that you think I can provide, please give me the instructions to run it. I have general Linux experience, but am no expert.

This is my... seventh(?) attempt to get this to work. Tried Manjaro a few times, Ubuntu once or twice, and Slax twice. Nothing quite works. Unfortunately, searching the forum gives me solutions where I need to be able to type, or Live USB into a full system install, which doesn't apply here. I appreciate any help you can give. Thanks.

1 Like

If possible, from your live environment (or vm) can you please post:

inxi -Fxxxz

Posting output as text (not a picture) is the preferred method (if possible).

System:
  Host: manjaro Kernel: 4.19.28-1-MANJARO x86_64 bits: 64 compiler: gcc 
  v: 8.2.1 Desktop: Xfce 4.13.2git-UNKNOWN tk: Gtk 3.24.3 info: xfce4-panel 
  wm: xfwm4 dm: LightDM 1.28.0 Distro: Manjaro Linux 
Machine:
  Type: Virtualbox System: innotek product: VirtualBox v: 1.2 
  serial: <filter> Chassis: Oracle Corporation type: 1 serial: <filter> 
  Mobo: Oracle model: VirtualBox v: 1.2 serial: <filter> BIOS: innotek 
  v: VirtualBox date: 12/01/2006 
CPU:
  Topology: Single Core model: AMD FX-8300 bits: 64 type: UP arch: Bulldozer 
  L2 cache: 2048 KiB 
  flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 bogomips: 6633 
  Speed: 3315 MHz min/max: N/A Core speed (MHz): 1: 3315 
Graphics:
  Device-1: VMware SVGA II Adapter driver: vmwgfx v: 2.15.0.0 
  bus ID: 00:02.0 chip ID: 15ad:0405 
  Display: x11 server: X.Org 1.20.4 driver: vmware resolution: 1024x768~60Hz 
  OpenGL: renderer: llvmpipe (LLVM 7.0 128 bits) v: 3.3 Mesa 18.3.4 
  compat-v: 3.1 direct render: Yes 
Audio:
  Device-1: Intel 82801AA AC97 Audio vendor: Dell driver: snd_intel8x0 
  v: kernel bus ID: 00:05.0 chip ID: 8086:2415 
  Sound Server: ALSA v: k4.19.28-1-MANJARO 
Network:
  Device-1: Intel 82540EM Gigabit Ethernet driver: e1000 v: 7.3.21-k8-NAPI 
  port: d020 bus ID: 00:03.0 chip ID: 8086:100e 
  IF: enp0s3 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  Device-2: Intel 82371AB/EB/MB PIIX4 ACPI type: network bridge 
  driver: piix4_smbus v: N/A port: d200 bus ID: 00:07.0 chip ID: 8086:7113 
Drives:
  Local Storage: total: 278.15 GiB used: 5.95 GiB (2.1%) 
  ID-1: /dev/sda vendor: VirtualBox model: VBOX HARDDISK size: 49.02 GiB 
  speed: 3.0 Gb/s serial: <filter> rev: 1.0 
  ID-2: /dev/sdb type: USB vendor: SanDisk model: Cruzer size: 229.12 GiB 
  serial: <filter> rev: 1.00 scheme: MBR 
Partition:
  ID-1: / size: 3.44 GiB used: 11.9 MiB (0.3%) fs: overlay source: ERR-102 
Sensors:
  Message: No sensors data was found. Is sensors configured? 
Info:
  Processes: 134 Uptime: 37m Memory: 4.58 GiB used: 564.1 MiB (12.0%) 
  Init: systemd v: 241 Compilers: gcc: 8.2.1 Shell: bash v: 5.0.0 
  running in: xfce4-terminal inxi: 3.0.32

What is the make and model of your motherboard. Apparently that info is not returned from inxi from a VM.

Gigabyte AM3+ AMD 970 SATA 6Gbps USB 3.0 ATX AM3+ Socket DDR3 1600 Motherboards (GA-970A-DS3P)

As I suspected. The Gigabyte bios bug strikes yet again. I own the same mobo. It has bad USB and LAN support in Linux that Gigabyte never patched. There is a grub boot parameter to fix this bad USB issue.

Many Gigabyte motherboards have bad USB support in Linux thanks to Gigabyte refusing to update their bios for a longstanding known problem.

You'll need to add kernel parameters to your grub load line to correct the USB issues. Another workaround is to use a PS/2 mouse or keyboard until you get the USB issue fixed up. That's why I always have some of the clunky old hardware still around for these Gigabyte MOBO's.

Try either the following fixes to see if they correct your issue.

You can try the "amd_iommu=on iommu=pt" boot parameter.

You will need to use this method if you intend to run a Virtual Machine.

With the "amd_iommu=on iommu=pt" boot parameter it is best to leave "iommu" enabled in the bios.*

Edit /etc/default/grub and add "amd_iommu=on iommu=pt" to the the end of the grub load line:

GRUB_CMDLINE_LINUX="amd_iommu=on iommu=pt"

Or:

You could try the "iommu=soft" boot parameter.

With the "iommu=soft" boot parameter it is best to leave "iommu" disabled in the bios.*

Add "iommu=soft" to the the end of the GRUB_CMDLINE_LINUX line (between the quotation marks) in the following file:

/etc/default/grub 

Change the entry to this:

GRUB_CMDLINE_LINUX="iommu=soft"

After making the changes run:

sudo update-grub 

Restart.

With this method it is best to leave "iommu" disabled in the bios.*

*With either method you may (or may not) have to disable IOMMU in your BIOS if you have problems after rebooting.

The command below will automatically insert the required changes (iommu=soft) and update grub:

sudo sed 's/^GRUB_CMDLINE_LINUX_DEFAULT=\".*[^"]/& iommu=soft/g' -i /etc/default/grub && sudo update-grub 

Alternately, you can use the command below to automatically insert the "amd_iommu=on iommu=pt" boot parameters and update grub:

sudo sed 's/^GRUB_CMDLINE_LINUX_DEFAULT=\".*[^"]/& amd_iommu=on iommu=pt/g' -i /etc/default/grub && sudo update-grub 

Many thanks to @dalto for helping me clean up the code on the above commands.

Be sure to reboot after changing any boot parameters and updating grub.

1 Like

Trying now.

How can I run the commands on the USB drive and not the virtual machine?

You will most likely need to edit your grub boot parameters during boot up. Also, try changing your iommu setting in your bios.

To temporarily add a boot parameter to a kernel at startup:

Start your system and wait for the GRUB menu to show.

If you don't see a GRUB menu, press and hold the left Shift key (or ESC) key after starting the system.

Once the grub menu appears, select the kernel you want to use, and then press the "e" key.

You should now be able to edit the list of boot commands associated with the selected kernel.

Scroll down to the line starting with "linux" using the arrow key.

Add your new parameter iommu=soft (or whatever else) to the end of the line.

Each new parameter that is added should be separated by a space.

The line should look somewhat similar to this after editing:

linux /boot/vmlinuz-linux root=UUID=978e3e81-8048-4ae1-8a06-aa727458e8ff quiet splash iommu=soft

After adding your parameter(s), press Ctrl + x or F10 to continue booting.

The new parameter(s) will be appled to only the current boot.

Any additional parameters added in this manner are wiped when you restart your system.

I tried the option with iommu enabled. It started to go to the initial Manjaro screen, but then changed its mind and started the emergency shell again. This time, though, I could use my keyboard.

Attempting the iommu=soft option now.

Have you tried plugging the keyboard in on a different USB bus. I can't remember if it's only USB 3 that is wonky on this board. Either way, if the keyboard is on a USB3 port then switch it to USB 2 (and vice versa).

So long as I can get to Grub, the keyboard works. And the fact that I can get to Grub is better than it was. However, either option you gave me still puts me into the emergency shell with the same message.

I have never had to go to these extremes with my mobo. Try changing the iommu setting in the bios with the different kernel parameters. As long as you can install the system you should be able to change the kernel parameters in /etc/delault/grub from the terminal at startup using nano.

Perhaps @mandog has some ideas for you. He is another one of the many that got bitten by this bug.

Maybe you have changed other bios settings that are causing more issues. Resetting the bios to default might not be a bad idea. I know the SVM setting in bios can also affect this issue.

Well, the kernel is installed on the USB, which just makes this all the more fun.

One thing I noticed is that certain commands don't work. sudo, for example. I'm guessing that the emergency shell sets up certain restrictions. Would have been nice to run sudo update-grubwhile I was in there.

Can you describe the method you have used to install Manjaro on USB? It looks like something was done incorrectly (grub?...).

Uhhh... :man_facepalming:

That is a horse of a different colour.

That could complicate things considerably.

I would suggest finding an old PS/2 keyboard to sidestep these issues until you can implement a proper fix.

For this attempt, I used a comment by /u/Redlolz55 from this reddit posting: https://www.reddit.com/r/linux4noobs/comments/bn2m9o/manjaro_linux_on_a_usb_stick/

"Alright, you need a boot partition and a root partition. The boot partition needs to be 256MB or 512MB (I'd choose for 512), and the root partition the rest of the disk. The root partition needs ext4 as the filesystem and the boot needs fat32. Set the mount for the boot partition as either /boot or /esp and the root partition as /. That should be it."

I had tried to set my USB stick up a few times, but hadn't tried this combination yet.

I first created a VMWare machine set to the iso manjaro-xfce-18.0.4-stable-x86_64 downloaded on 5/7. I booted into the VM and started working with the installer. Rather than point the installer to the VM, I pointed it to the USB when partitioning and installing. I create the partitions mentioned in the above comment.

Now I'm trying to boot into the Linux instance installed on the USB, giving me a portable and persistent Linux system.

I had Slax running, but no response from the USB mouse and keyboard. Still digging through my collection for a PS/2 adapter as a quick fix.

Oh, and I tried running my USB on my wife's laptop. Just get a backlit black screen.

I'm reinstalling Manjaro to see if that helps.

Ensure you boot using the Free drivers and do not install any system-specific graphics drivers. Keep a portable installation as generic as possible if you want to use it on different systems.

1 Like

ManjaroPup needed! :slight_smile:

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by Bytemark