Hi, Thank you for giving suggestions, I have tried the one you suggest, and here is the result: #ls /mnt/sda2 boot/,grub/,home/,initramfs-fallback.img,,initramfs.img,lost+fount/,memtest86+/,syslinux/,vmlinuz-linux #ls /mnt/sda3 /boot,dev/,etc/,home/,opt/,lost+found/,proc/,root/,run/,srv/,usr/,var/,sys/. I am considering sda2 as boot partition, sda3 as my home directory, which is the highest level of my system before it crashes. And I try the following two options: 1. #mount /dev/sda2 /mnt #mount /dev/sda3 /mnt/home #arch-chroot /mnt mount: mount point /mnt/proc does not exist Error => failed to set up API filesystems in arch-chroot 2. #mount /dev/sda3 /mnt #mount /dev/sda2 /mnt/boot #arch-chroot /mnt failed to run command /bin/sh, no such file or directory When I try using /dev/mapper/arch_root-image as root partition, the arch-chroot works, that's why I am using that. Is there any problem in my command? Thank you very much! Renzhi Cao Email : rcrg4@mail.missouri.edu ________________________________________ From: arch-general <arch-general-bounces@archlinux.org> on behalf of Emil Lundberg <lundberg.emil@gmail.com> Sent: Sunday, March 9, 2014 11:18 PM To: General Discussion about Arch Linux Subject: Re: [arch-general] Cannot recover pacman upgrade fails problem 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@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...
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-inte...) #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@mail.missouri.edu<https://bluprd0112.outlook.com/owa/redir.aspx?C=HgdIKZwfkkG-ZqHZQdR5l5Qjeol9gdAIEexz2Okb9KSvfYJfxGlJ7wHelHyOveteZCNx50ztf78.&URL=mailto%3arcrg4%40mail.missouri.edu>