Pi sẽ không khởi động sau khi cập nhật initramfs


9

Tôi đã cố gắng để có được Raspbian Jessie, được cài đặt từ hình ảnh để khởi động với một phân vùng gốc được mã hóa.

Tôi đã thành công trong việc làm theo hướng dẫn ở đây .

Khi tôi khởi động Pi, nó sẽ rơi xuống dấu nhắc initramfs, sau đó tôi mở khóa phân vùng bằng

# cryptsetup luksOpen /dev/mmcblk0p2 sdcard
# exit

và nó khởi động vào Debian. Tuyệt quá!

Tuy nhiên, có một số vấn đề. Khi tôi cố cập nhật tệp initramfs với:

# sudo mkinitramfs -o /boot/initramfs.gz

trong Debian, Pi không khởi động lại thành công vào dấu nhắc initramfs. Nó chỉ bị treo với một con trỏ nhấp nháy sau khi hiển thị logo pixel. Khi tôi khôi phục lại hình ảnh khởi động được sao lưu, tôi lại nhận được dấu nhắc initramfs và có thể khởi động từ thư mục gốc được mã hóa.

Vấn đề thứ hai là tôi đã không cấu hình dropbear đúng cách; nó dường như được cấu hình để sử dụng DHCP. Điều này có nghĩa là khi tôi đăng nhập, nó nhận được một địa chỉ IP ngẫu nhiên. Tôi cần cập nhật cấu hình thành một địa chỉ IP cố định để tôi có thể đăng nhập vào Pi không đầu sau khi khởi động lại, nhưng không có khả năng cập nhật initramfs tôi không biết cách khắc phục điều này.

Vì tôi thậm chí không thể nhận được lời nhắc initramfs sau khi cập nhật, tôi thực sự không chắc làm thế nào để bắt đầu giải quyết vấn đề này, vì vậy mọi gợi ý sẽ rất tuyệt. Tôi sẽ cung cấp bất cứ thông tin nào hữu ích để giải quyết vấn đề này.


1
Tôi mơ hồ nhớ lại một thời gian trước đó systemd, inithệ thống mặc định chuyển tiếp từ phiên bản Debian "Jessie" hiện tại và do đó Raspbian có nguồn gốc từ nó từng có vấn đề với các hệ thống tệp được mã hóa. Tôi đoán rằng ít nhất một số vấn đề đã được giải quyết nhưng trong trường hợp cụ thể của bạn, bạn có thể muốn xem xét chuyển trở lại sysV init, điều mà bài báo năm 2013 sẽ mong đợi (nó đề cập đến phiên bản Raspbian "Wheezy" phiên bản trước đó đã có một init mặc định của sysV) ...
SlySven

1
Có vẻ như không có vấn đề gì liên quan đến systemd; Tôi chạy một số hệ thống Debian 8 tiêu chuẩn khác nhau với các phân vùng gốc được mã hóa mà không gặp vấn đề gì. Sự nghi ngờ của tôi là mã để nhắc mật khẩu mã hóa không có hoặc không tương thích với bất cứ điều gì đưa lên logo màn hình giật gân. (Tôi nhận được lời nhắc chế độ văn bản cho cụm mật khẩu trong khi khởi động hệ thống.) Khi tôi có cơ hội, tôi sẽ so sánh các tập lệnh khởi động trên Pi của tôi và trên một trong các máy tính xách tay Debian của tôi.
cjs

Về DHCP. Khóa trực tiếp trên bộ định tuyến của bạn. Không phải trên các thiết bị. Nó có thể là một nỗi đau ở mông khác.
kuzeyron

Tôi khuyên bạn nên xem Hướng dẫn mã hóa của Robpol86 ( robpol86.com/raspberry_pi_luks.html ) khi một điều tôi nhận ra trong hướng dẫn bạn đã sử dụng là không có tập lệnh xây dựng lại initramfs chạy sau mỗi lần cập nhật kernel của bạn . Tôi đã sử dụng hướng dẫn của Robpol trên nhiều hệ thống của Jessie và Stretch trong một thời gian dài và không bao giờ có bất kỳ vấn đề nào. Tất nhiên hướng dẫn sẽ không giúp bạn về các vấn đề của bạn.
Stefan Wegener

Câu trả lời:


0

Vô hiệu hóa bất kỳ màn hình giật gân và kiểm tra đầu ra trong thời gian khởi động. Trong cmdline.txt (in /boot/cmdline.txt) đảm bảo bạn có rootwait logo.nologo nosplash.

Chắc chắn đã có vấn đề với bản cập nhật của bạn hoặc initramfs. Đảm bảo bạn bao gồm các mô-đun thích hợp vào nó bằng cách chỉ vào phiên bản kernel đích như vậy: sudo mkinitramfs -o /boot/initramfs.gz -k -v 4.14.78-v7+ Điều này sẽ nhắm mục tiêu mô-đun hạt nhân của phiên bản cụ thể đó được cài đặt và lấy tất cả các mô-đun fro / lib / mô-đun / đúng cách.

Nếu có sự không phù hợp, có thể có vấn đề với việc tải các mô-đun hạt nhân bên phải. Đồng thời kiểm tra initramfs-tools.conf và hook / scripts.

Về IP, bạn có thể có một IP cố định với tham số khởi động kernel "IP =". Nhưng tốt nhất là cấu hình nó trên máy chủ DHCP, rất có thể là bộ định tuyến của bạn.


-1

Cố gắng hoàn nguyên firmware trở lại và sau đó thử lại:

Để hoàn nguyên, hãy đưa ra hàm bithub commit.

Để nâng cấp / hạ cấp xuống bản sửa đổi phần sụn cụ thể, hãy chỉ định hàm băm Git của nó (từ kho lưu trữ https://github.com/Hexxeh/rpi-firmware ) như sau:

sudo rpi-update fab7796df0cf29f9563b507a59ce5b17d93e0390


Và để thử nâng cấp lại, hãy sử dụng:

sudo apt-get update && sudo apt-get upgrade
sudo shutdown -r now

Sau đó, quá trình đó kết thúc cập nhật lên bản cập nhật rpi tiếp theo:

sudo BRANCH=next rpi-update
sudo shutdown -r now

Sau đó, bạn sẽ có thể bỏ qua các hướng dẫn ở đây

hãy chắc chắn bỏ qua 2 khối mã đầu tiên khi tôi vừa sửa đổi các khối mã đó và đưa ra khối làm việc ở trên!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.