Di chuyển cái này qua đây để thử và thu thập một số cái nhìn sâu sắc.
Tôi hiện đang trong quá trình cố gắng nâng cấp nhân Linux của mình từ 4.4.0-63 lên 4.10.12 (Tôi đã thực hiện một số chỉnh sửa cho các tệp ở đây). Tôi đang chạy trên Ubuntu 14.04 x86_64 và tôi đã trải qua các bước: tạo menuconfig (Tôi chấp nhận mặc định) -> make -> tạo mô-đun -> tạo mô-đun_install
Mặc dù một khi tôi cố gắng thực hiện "thực hiện cài đặt", tôi gặp lỗi sau:
user@thiscomp:/usr/src/linux-4.10.12$ sudo make install
sh ./arch/x86/boot/install.sh 4.10.12 arch/x86/boot/bzImage \
System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.10.12
/boot/vmlinuz-4.10.12
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.10.12
/boot/vmlinuz-4.10.12
update-initramfs: Generating /boot/initrd.img-4.10.12
W: Possible missing firmware /lib/firmware/ast_dp501_fw.bin for module ast
gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.10.12 with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make[1]: *** [install] Error 1
make: *** [install] Error 2
Đầu tiên, tôi đã kiểm tra xem / boot đã đầy chưa, nhưng có vẻ như nó không phải là:
user@thiscomp:/usr/src/linux-4.10.12$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 4.0K 16G 1% /dev
tmpfs 3.2G 1.2M 3.2G 1% /run
/dev/dm-0 252G 43G 197G 18% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 16G 152K 16G 1% /run/shm
none 100M 32K 100M 1% /run/user
/dev/sda1 236M 75M 149M 34% /boot
Từ những gì tôi đã thấy trực tuyến, điều này thường phải làm với các phiên bản kernel trong quá khứ tích tắc lâu hơn mức cần thiết. Mặc dù, từ những gì tôi có thể thấy, không có phiên bản nào trước đây bị treo sau khi chạy "dpkg -l linux-image *":
un linux-image
ii linux-image-4.4.0-63-generic
ii linux-image-extra-4.4.0-63-generic
ii linux-image-generic-lts-xenial
Cuối cùng, không có bất kỳ lỗi nào khi cài đặt vào tmpfs:
user@thiscomp:/usr/src/linux-4.10.12$ sudo mount -t tmpfs none /boot
user@thiscomp:/usr/src/linux-4.10.12$ sudo make install
sh ./arch/x86/boot/install.sh 4.10.12 arch/x86/boot/bzImage \
System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.10.12
/boot/vmlinuz-4.10.12
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.10.12
/boot/vmlinuz-4.10.12
update-initramfs: Generating /boot/initrd.img-4.10.12
W: Possible missing firmware /lib/firmware/ast_dp501_fw.bin for module ast
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.10.12 /boot/vmlinuz-
4.10.12
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.10.12
/boot/vmlinuz-4.10.12
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.10.12
/boot/vmlinuz-4.10.12
user@thiscomp:/usr/src/linux-4.10.12$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 16G 4.0K 16G 1% /dev
tmpfs 3.2G 1.2M 3.2G 1% /run
/dev/dm-0 252G 43G 197G 18% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 16G 152K 16G 1% /run/shm
none 100M 32K 100M 1% /run/user
none 16G 310M 16G 2% /boot
Tôi không chắc chắn nơi nào khác để tìm ra vấn đề (đặc biệt là vì có vẻ như / boot không đầy đủ). Có cách nào để làm cho cài đặt nhỏ hơn trong khi vẫn cài đặt những gì cần thiết (hoặc một cách để thay đổi kích thước / khởi động mà không xóa sạch hệ thống?).
chỉnh sửa (Để thêm nhận xét yêu cầu lệnh):
user@thiscomp:/usr/src/linux-4.10.12$ df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 4108437 534 4107903 1% /dev
tmpfs 4113275 609 4112666 1% /run
/dev/dm-0 16777216 470608 16306608 3% /
none 4113275 14 4113261 1% /sys/fs/cgroup
none 4113275 6 4113269 1% /run/lock
none 4113275 6 4113269 1% /run/shm
none 4113275 25 4113250 1% /run/user
/dev/sda1 62248 307 61941 1% /boot
chỉnh sửa2 Thêm kích thước tệp sau khi cài đặt tmpfs:
user@thiscomp:/usr/src/linux-4.10.12$ ls -l /boot/initrd.img-4.10.12
/boot/vmlinuz-4.10.12
-rw-r--r-- 1 root root 312429420 Apr 26 07:02 /boot/initrd.img-4.10.12
-rw-r--r-- 1 root root 7149280 Apr 26 07:01 /boot/vmlinuz-4.10.12
chỉnh sửa3 Số lượng mô-đun:
user@thiscomp:/usr/src/linux-4.10.12$ grep -o '=m' /boot/config-4.4.0-63-
generic | wc -l
4409
user@thiscomp:/usr/src/linux-4.10.12$ grep -o '=m' .config | wc -l
4332
/boot/initrd.img-4.10.12
gì? Bạn có thể sao chép các tệp đó theo cách thủ công từ các tmpfs ở một nơi khác, ngắt kết nối các tmpfs và sau đó sao chép chúng vào /boot/
không?
df -h