cd /usr/src/linux-2.4.18-14custom
make bzImage
make modules
make modules_install
cd arch/i386/boot
yes|cp bzImage /boot/vmlinuz-2.4.18-14custom
cd /boot
yes|mv 2.4.18-14custom.img 2.4.18-14custom.img.back
mkinitrd 2.4.18-14custom.img 2.4.18-14custom
reboot
如果我执行控制台中的每一行都可以,但是当我将所有这些行放在脚本中时,它只执行这两行并结束:
make bzImage
make modules
任何让它运作的想法?
答案 0 :(得分:0)
make -C /usr/src/linux help
显示了构建和安装内核的选项。
initramfs允许内置的initrd等价物,不需要后期构建工作。我不知道是否已将其移植到linux-2.4;但为什么2.4?
使用make all install modules_install
安装所有内容。也许2.4 Makefile也需要一个单独的“模块”目标。
切换到initramfs后,可能只需一个make命令即可完成所有操作:
make -C /usr/src/linux all install modules_install
有关安装脚本的示例,请参阅 arch / i386 / boot / install.sh 。另外,在同一目录中看到 Makefile ,看看它是如何工作的。如果存在系统范围的installkernel脚本(Gentoo中的 / sbin / installkernel ),或者用户一个$ HOME / bin / installkernel,则会使用该脚本。
最初使用此问题发布的脚本将在适当的条件下运行。我跑了;但是伪造了mkinitrd,并且跳过了重启。
yes|mv
和yes|cp
应替换为cp -f
和mv -f
。请参阅手册页(或mv --help
,cp --help
)。