[arch-general] Cannot recover pacman upgrade fails problem

Emil Lundberg lundberg.emil at gmail.com
Mon Mar 10 01:18:08 EDT 2014


I'm not completely sure this is your problem, but the first thing that
jumps out at me is

# mount /dev/mapper/arch_root-image /mnt

I'm pretty sure /dev/mapper/arch_root-image is the live system image,
not your root partition. It looks to me like you need /dev/sda2 or
/dev/sda3 as root (mounted at /mnt) and the other mounted at /mnt/home
or /mnt/boot.

The fdisk -l output doesn't tell which partition is for which mount
point (except that sda1 is a swap partition), so you'll need to figure
out which goes where. You could try mounting them all and looking at
their contents:

# mkdir -p /mnt/sda2
# mkdir -p /mnt/sda3
# mount /dev/sda2 /mnt/sda2
# mount /dev/sda3 /mnt/sda3
# ls /mnt/sda2
# ls /mnt/sda3

That should give you a hint on where to mount each partition. Then see
what you need to do from there. I hope that helps a bit. :)

On Mon, Mar 10, 2014 at 12:51 PM, Cao, Renzhi (MU-Student)
<rcrg4 at mail.missouri.edu> wrote:
> Hi, all:
>
>      I really have no idea for the pacman upgrading fails issue, so I summarize the problem I meet, and the things I try, if any one can give me suggestions of what I miss something or I do something wrong, I really appreciate, if not, I hope this summation can benefit some other people who meets the same problem.
>
>
> The initial problem:
>
> After using pacman -Syu --ignore filesystem to upgrade my arch linux, and reboot, get the following message:
>
> ERROR: device '/dev/disk/by-uuid/3f51b ...' not found. Skipping fsck.
>
> ERROR: Unable to find root device '/dev/disk/by-uuid/3f51b ...'. You are being dropped to a recovery shell.
>
> You are being dropped to a recovery shell
>
>      Type "exit" to try and continue booting
>
> sh: cant access tty; job control turned off.
>
> [ramfs /]# _
>
>
>
> The solution may be used to solve this problem : https://wiki.archlinux.org/index.php/pacman#Q:_After_updating_my_system.2C_I_get_a_.22unable_to_find_root_device.22_error_after_rebooting_and_my_system_will_no_longer_boot
>
>
> I first try the first method, not work, and then try the second method:
>
> The following is the command I run and the output after I use a live CD for my system: (People have similar problem can consider it)
>
> #fdisk -l
>
> /Dev/sda : 2000.4 GB.
>
>  Device boot|start|end|blocks|id|systems
>
> /dev/sda1 …  Linux swap/solaris
>
> /dev/sda2 …  Linux
>
> /dev/sda3 …  Linux
>
> Disk /dev/mapper/arch_root-image
> Units ...
>
> Sectorsize ...
>
>
> #mount /dev/mapper/arch_root-image /mnt
>
> #mount /dev/sda3 /mnt/home
>
> #mount /dev/sda2 /mnt/boot
> #arch-chroot /mnt
>
> #pacman-key --init
> #pacman-key --populate archlinux    (This command is needed for the signiture, it takes me a while to figure out this).
> #pacman -Syu mkinitcpio systemd linux
>
> (133/133) checking for file conflicts              [######################] 100%
> error: failed to commit transaction (conflicting files)
> filesystem: /bin exists in filesystem
> filesystem: /sbin exists in filesystem
> filesystem: /usr/sbin exists in filesystem
> Errors occurred, no packages were upgraded.
> (I Check this website for the solution: https://www.archlinux.org/news/binaries-move-to-usrbin-requiring-update-intervention)
> #pacman -Qqo /bin /sbin /usr/sbin | pacman -Qm –  (you may get different output, the following is mine)
>
> sysvinit-tool 2.88-9
>
> lilo 23.2-3
>
> grub-common 2.00-1
>
> sysvinit-tool 2.88-9
>
> lilo 23.2-3
>
> #pacman -R lilo
> #pacman -Syu --ignore filesystem,bash
> #pacman -S grub
> #pacman -S sysvinit-tools
> #pacman -S systemd
> #pacman -S bash
> #pacman -Su
> #pacman -Syu mkinitcpio systemd linux  (now for me, this command can run successfully)
> #exit, and umount, reboot
>
> After rebooting, I get the following error:
> /dev/sda3: clean ...
>
> ERROR: root device mounted successfully, but /sbin/init does not exist.
>
> Bailing out, you are on your own. Good luck.
>
> Sh: cannot access tty: job control turned off.
>
> [rootfs/]# _
>
>
> (I check this website for the solution:1. Add "init=/bin/systemd" to the kernel line, based on https://bbs.archlinux.org/viewtopic.php?id=146388
>
>  2. Add "init=/usr/lib/systemd/systemd" to the kernel line, based on https://bbs.archlinux.org/viewtopic.php?id=166423)
>
> None of them work for me.
>
>
> Here is the command I run in rootfs :
>
> #ls
>
> bin,buildconfig,config,dev,etc,hooks,init,init_functions,lib,lib_64,new_root,proc,run,root,sys,tmp,usr.
>
> I check the folder new_root, it is my system's root folder before it crashes. I don't know how this new folder comes, I am guessing I do something wrong for arch-chroot?
>
>
> I checked :
>
> #ls -l /sbin/init
>
> .... 7 Mar, /sbin/init -> busybox               ( the same output for ls -l /bin/init)
>
> #ls -l /bin/systemd
>
>  No such file
>
> #ls -l /usr/lib/systemd/systemd
>
> No such file
>
> It seems I miss something, and I remember I do reinstall the grub and sysvinit-tools before I quit arch-chroot.
>
>
> Welcome to ask me questions for some details if you have the same problem, and welcome to give me suggestions. ?
>
> Thank you all!
>
>
>
> Renzhi Cao
>
> Email : rcrg4 at mail.missouri.edu<https://bluprd0112.outlook.com/owa/redir.aspx?C=HgdIKZwfkkG-ZqHZQdR5l5Qjeol9gdAIEexz2Okb9KSvfYJfxGlJ7wHelHyOveteZCNx50ztf78.&URL=mailto%3arcrg4%40mail.missouri.edu>
>


More information about the arch-general mailing list