设为首页 收藏本站
查看: 2065|回复: 0

[经验分享] 尝试在ubuntu 14.04上编译并启动linux

[复制链接]

尚未签到

发表于 2019-2-19 06:14:37 | 显示全部楼层 |阅读模式
  在ubuntu 14.04上编译并启动linux-2.6.32内核
  [环境]
$ cat /etc/issue
Ubuntu 14.04.5 LTS \n \l
  $ uname -a
Linux Ui386 4.4.0-31-generic #50~14.04.1-Ubuntu SMP Wed Jul 13 01:06:37 UTC 2016 i686 i686 i686 GNU/Linux
  [把gcc-4.8改成gcc-4.4,否则会有一些编译错误]
$ gcc -v
$ cat /proc/version
Linux version 4.4.0-31-generic (buildd@lgw01-01) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #50~14.04.1-Ubuntu SMP Wed Jul 13 01:06:37 UTC 2016
$ which gcc
$ ls -l /usr/bin/ | grep gcc
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt-get update
$ sudo apt-get install gcc-4.4
$ sudo apt-get install g++-4.4
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8
$ sudo update-alternatives --query gcc
$ sudo update-alternatives --config gcc
  $ sudo apt-get install build-essential kernel-package libncurses5-dev
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2
$ tar jxvf linux-2.6.32.tar.bz2
$ cd linux-2.6.32
$ sudo make mrproper
$ make menuconfig  // 默认配置即可
$ make -j8 > ../log/log2_6_32-1 2>&1
$ make bzImage
Kernel: arch/x86/boot/bzImage is ready  (#2)
$ make modules
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
$ sudo make modules_install
DEPMOD  2.6.32
depmod: WARNING: could not open /lib/modules/2.6.32/modules.builtin: No such file or directory
$ ls /lib/modules
2.6.32  4.4.0-31-generic
$ ls -l /boot/ | grep -i "2.6.32"
-rw-r--r-- 1 root root    93547  9月  5 14:31 config-2.6.32
-rw-r--r-- 1 root root  2688277  9月  5 14:31 initrd.img-2.6.32
-rw-r--r-- 1 root root  1744261  9月  5 14:31 System.map-2.6.32
-rw-r--r-- 1 root root  3932352  9月  5 14:31 vmlinuz-2.6.32
// 已经生成了 initrd.img-2.6.32, 不需要执行mkinitramfs命令。
fnie@Ui386:~/workspace/ldd3/linux-2.6.32-v1$ grub-install --version
grub-install (GRUB) 2.02~beta2-9ubuntu1.12
fnie@Ui386:~/workspace/ldd3/linux-2.6.32-v1$ sudo update-grub
[sudo] password for fnie:
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0-31-generic
Found initrd image: /boot/initrd.img-4.4.0-31-generic
Found linux image: /boot/vmlinuz-2.6.32
Found initrd image: /boot/initrd.img-2.6.32
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
  // 关机重启,长按Shift键,进入recovery模式,选择启动2.6.32,
Loading Linux 2.6.32 ...
Loading initial ramdisk ...
无法启动。
  只好寻找其他方法:使用 make-kpkg。
$ sudo apt-get install kernel-package
$ sudo make-kpkg clean
// 编译,结束后会在父目录生成两个文件:linux-image-xxx.deb和linux-head-xxx.deb
$ sudo make-kpkg --initrd --append-to-version=linux-2.6.10-1 kernel-image kernel-headers
fnie@Ui386:~/workspace/ldd3/linux-2.6.32$ ls ../
linux-2.6.10     linux-headers-2.6.32linux-2.6.10-1_2.6.32linux-2.6.10-1-10.00.Custom_i386.deb  package
linux-2.6.32     linux-image-2.6.32linux-2.6.10-1_2.6.32linux-2.6.10-1-10.00.Custom_i386.deb
linux-2.6.32-v1  log
  // 安装内核
$ cd ..
$ sudo dpkg -i linux-image-2.6.32linux-2.6.10-1_2.6.32linux-2.6.10-1-10.00.Custom_i386.deb
$ sudo dpkg -i linux-headers-2.6.32linux-2.6.10-1_2.6.32linux-2.6.10-1-10.00.Custom_i386.deb
  //检测是否正确安装了内核
$ ls -l /boot
// 关机重启,长按Shift键,进入recovery模式,选择启动2.6.32linux-2.6.10-1,
Loading Linux 2.6.32linux-2.6.10-1 ...
Loading initial ramdisk ...
  都不行,只好祭出大招了:安装 ubuntu-6.06.1-desktop-i386.iso ,它的内核版本是2.6.15.
一切都重归平静...




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-674034-1-1.html 上篇帖子: ubuntu16.04下安装mysql详细步骤 下篇帖子: Ubuntu 16.10(x86) Install WordPress SRV 4.7.1
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表