免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux

[操作系统] Linux系统移植从零开始!参与讨论即有机会获得图书一本!(获奖名单公布!) [复制链接]

论坛徽章:
3
CU大牛徽章
日期:2013-03-14 14:14:08CU大牛徽章
日期:2013-03-14 14:14:26CU大牛徽章
日期:2013-03-14 14:14:29
发表于 2011-01-30 13:19 |显示全部楼层
入门水平,感觉linux移植主要是在驱动上面吧,不知道说的对不对。
weiguixm 发表于 2011-01-30 10:25



我对Linux移植的观点,移植分为很多层面,一般将系统分为:
应用层
操作系统层
驱动层
bootloader
硬件层
除了硬件层外,其他每层都可以根据需要进行移植,移植的需求完全根据实际项目的需要,而且它的依赖关系是从上到下这样依赖的。而移植的顺序则是从下到上的。比如,要做一个无线上网卡,那么在应用层必须移植拨号程序;内核层必须添加对这些拨号协议的支持;驱动层移植时,应该确定对该设备的通信接口进行支持(例如串口、USB口);当然,我想说的是,要真正成功让你的上网卡能正确上网,可能还要其他驱动支持,比如对LCD的支持,对浏览器的支持等。

最后祝大家春节愉快,合家欢乐!!!

论坛徽章:
0
发表于 2011-01-30 13:42 |显示全部楼层
{:3_201:}移植小白真没啥 这概念

论坛徽章:
0
发表于 2011-01-30 19:21 |显示全部楼层
问题描述:

   两台同型号的服务器(两台机器上运行HA,通过HA来监控他们的应用以及Oracle数据库)由于用户操作不当,造成一台服务器无法正常关机(能关闭内核,但不能关闭电源),尝试了在内核中加入电源管理的参数,仍然不能解决。更郁闷的是用户没有安装光盘,无法重装系统,那么唯一的办法就是把另外一台机器上的根分区移植到这台机器上。

解决方法:

   本想使用dd来拷贝根分区,但无奈硬盘空间不够,所以只有使用tar来备份了,tar的方法其实很简单,但像根分区下的一些/proc、/sys、/tmp、/dev这应该排除掉,其次oracle这些应用软件的安装目录也不需要打包(太大),因为tar好像最大只支持8GB的单个文件。当然tar文件存放的目录一定要排除掉。具体命令如下:
#tar zcvf /Bak/root-bak.tgz --exclude /proc --exclude /sys --exclude /tmp --exclude /dev --exclude /Bak --exclude /ora_data /


待tar命令完成后,将tar包拷贝至移动硬盘上。现在就可以转到另外一台机器来操作了,在执行恢复操作前,建议将这台机器上的Oracle等应用程序安装的目录以及一些重要的数据先备份。然后通过光盘引导至rescue模式,在这里需要注意的是,在进入rescue模式之前,一定要先将硬盘硬盘插上,否则进入rescue模式后系统不会自动添加USB驱动。其次在进入rescue模式的过程中,要选择“SKIP”跳过根分区的挂载。接下来的操作就是格式化根分区再将tar解开到根分区上。具体命令如下:


#mkfs.ext3 /dev/sda1

然后,挂在新的文件系统并还原操作系统。

#mkdir /newsystem
#mount /dev/sda1 /newsystem
#mkdir /bak
#mount /dev/sdb1 /bak
#tar zxvf /bak/root-bak.tgz -C /newsystem
#chroot /newsystem
#grub-install /dev/sda


开始我以为做到这一步查多算完工了,但是重新启动的时候报kernel panic的错误,提示不能挂载根分区,后来我将/etc/fstab、/etc/grub.conf文件中的LABEL全部该为实际的分区名称,并重做initrd:

# cp /boot/initrd-2.6.25smp.img /boot/initrd-2.6.25smp.img.bak
# mkinitrd /boot/initrd-2.6.25smp.img 2.6.25smp


最后重新启动OK,能正常进入系统,也能正常关机了。把备份的Oracle以及应用再恢复回去,并启动HA,一切OK!

论坛徽章:
0
发表于 2011-01-30 21:02 |显示全部楼层
63楼

你发的好像和嵌入式移植没关系吧

论坛徽章:
0
发表于 2011-01-31 17:43 |显示全部楼层
回复 64# wugang2002


    不能PC移植,只是嵌入式啊,可能我看错了,失误

论坛徽章:
53
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2011-02-02 19:31 |显示全部楼层
嵌入式的LINUX是不是只做内核和简单的一些工具就可以了。不用像PC的LINUX那样做得那么强大。

论坛徽章:
0
发表于 2011-02-02 22:02 |显示全部楼层
好活动啊,将来一定有大应用啊

论坛徽章:
53
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2011-02-05 21:26 |显示全部楼层
回复 67# 300second


    嗯。现在嵌入式的发展确实不错。

论坛徽章:
2
2015年亚洲杯之阿曼
日期:2015-03-23 18:11:212015亚冠之大阪钢巴
日期:2015-09-07 13:54:16
发表于 2011-02-05 21:36 |显示全部楼层
本帖最后由 CN薰様 于 2011-02-05 21:44 编辑

嵌入式其实也并非那么难学。
主要是因为环境不大好找,还有就是开始要有一个好点师傅带一下。之后的工作其实就是平台移植,因为大部分的工作在X86下面已经做的非常好了。我们主要是做一个交叉编译而已,包括驱动和用户层软件。

bootloader主要采用u-boot,如果开发板按照公版设计的话实用默认配置或者在默认配置的基础上在裁剪出最小配置基本上都能启动。需要改的无非是增加以下3点
1. 公版没有的网卡支持(其实就是增加一个define),能有tftp就可以,实在不行可以用loadb,只是速度慢而已
2. flash芯片驱动(也是增加几个define)提供存储以及从flash启动
3. 配置从flash加载内核和根文件系统,启动系统

目前linux kernel中基本包含了所有常见的芯片驱动。所以自己不需要太费力。自己只需要修改设备基地址、R/W底层函数、中断就可以了,编译后一般都能正常运行。实在不行可以google或者找芯片的技术支持解决。
有点难度的就是一些专用的芯片,比如加解密芯片,或者FPGA、CPLD的一些控制逻辑。这些东西就需要看相应的CPU、芯片手册,时间长了也就熟悉了。

根文件系统基本上就是实用busybox做一个最小系统。

至于做嵌入式的应用层开发其实和x86是一样的,仅仅是换一个编译器而已。

上面就是给大家的一些参考

评分

参与人数 1可用积分 +4 收起 理由
T-Bagwell + 4 参与有奖

查看全部评分

论坛徽章:
0
发表于 2011-02-08 16:26 |显示全部楼层
69楼

你的口气好大阿
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

SACC2019中国系统架构师大会

【数字转型 架构演进】SACC2019中国系统架构师大会
2019年10月31日~11月2日第11届中国系统架构师大会(SACC2019)将在北京隆重召开。四大主线并行的演讲模式,1个主会场、20个技术专场、超千人参与的会议规模,100+来自互联网、金融、制造业、电商等领域的嘉宾阵容,将为广大参会者提供一场最具价值的技术交流盛会。




----------------------------------------

大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP