저는 RaspberryPi2에서 4.9.61-1-ARCH armv7l을 실행하고 있습니다. 업그레이드로 인해 시스템이 손상되었습니다. 이 문제를 해결하기 위해 다른 Arch ARM 설치에서 sdc2로 chroot했지만 기능 부족으로 인해 부팅 파티션 sdc1을 마운트하지 않았습니다. 이를 실행 pacman -Syu
한 후 시스템이 다시 부팅되어 제가 알 수 있는 한 정상적으로 실행되지만 다음과 같은 경고가 표시됩니다.
[2017-11-28 22:34] [ALPM] upgraded linux-raspberrypi (4.9.61-1 -> 4.9.65-1)
[2017-11-28 22:34] [ALPM-SCRIPTLET] WARNING: /boot appears to be a seperate partition but is not mounted.
[2017-11-28 22:34] [ALPM-SCRIPTLET] You probably just broke your system. Congratulations.
[2017-11-28 22:34] [ALPM-SCRIPTLET] >>> Updating module dependencies. Please wait ...
[2017-11-28 22:34] [ALPM] running '99-linux-raspberrypi.hook'...
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Building image from preset: /etc/mkinitcpio.d/linux-raspberrypi.preset: 'default'
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> -k 4.9.65-1-ARCH -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Starting build: 4.9.65-1-ARCH
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [base]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [udev]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [autodetect]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [modconf]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [block]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [filesystems]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [keyboard]
[2017-11-28 22:34] [ALPM-SCRIPTLET] -> Running build hook: [fsck]
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> WARNING: No modules were added to the image. This is probably not what you want.
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
[2017-11-28 22:34] [ALPM-SCRIPTLET] ==> Image generation successful
다른 사람은 pacman -Syu
나한테 "할 일 없어"라고 했어
이제 이것이 향후 업그레이드에 문제를 일으킬지 궁금합니다. linux-raspberrypi를 다운그레이드하고 업그레이드를 다시 실행하는 것이 좋습니다. 아니면 작동하는 것 같으니 여기서는 안전합니까?
폴더 /boot 내용의 수정 날짜가 부팅 파티션의 수정 날짜와 일치하므로 댓글에 제안된 대로 복사했습니다. 잘 작동했습니다.
답변1
먼저 /boot의 모든 내용을 임시 디렉터리에 복사합니다.
$ sudo cp -R /boot /tmp/boot
$ ls /tmp/boot # verify that everything copied over
그런 다음 /boot의 모든 항목을 삭제하고,
$ sudo rm -ir /boot/*
그런 다음 시작 디렉터리를 마운트하고,
$ sudo mount -a # mounts all filesystems mentioned in fstab
$ sudo mount | grep boot # verify boot is mounted
그런 다음 모든 것을 다시 /boot에 복사합니다.
$ sudo cp -R /tmp/boot/* /boot/
$ ls /boot # verify files copied over successfully
$ sudo rm -rf /tmp/boot # delete temporary directory