http://blog.chinaunix.net/u2/78488/showart_1167909.html
一、openmoko
优点:
1、是目前最开源的手机方安,第一个100%开放源代码的linux手机开放软件平台,因此看
样产生很多的应用。
2、openmoko平台采用的是embedded专案,是一种更高阶的build system。
不足:
1、openmoko的代码暂时还不够成熟。
2、可以参考的文档还不是很多。
3、对通一的API接口没有给予成分的重视。
4、目前只能针对智能手机的开发。
二、emdebian
优点
1、emDebian基于一个简易的embedded system来构造嵌入式系统,即从一个成熟的system
中裁减掉不需要的部分,从而精简成一个小的system。
2、emDebian可以将源代码生成Deb包,然后配置到emDiban工具集中,这样就可以和其他软
件一样来选取和配置,直接apt-get就可以了。
不足:
1、emDebian不适合资源紧缺的超小的system。
2、发行版的软件通常会以通用的代码来编译。
三、buildroot
优点:
1、buildroot能自动构造编译基于nclibc代码的tool和uclibc library。提供一个可以配
置的的框架课构建基本系统的配置文件。
2、buildroot可以从头开始,先构造编译器和基本的开发环境,然后根据用户配置构造一
个适合用于目标平台的根文件系统。
不足:
1、buildroot只能在一定程度上对目标平台进行模拟,当目标平台不同时,不能生成并运
行目标平台的中间代码。
四、scratchbox
优点
1、Scratchbox运行于chroot的环境,完全独立于主机,编译过程于主机系统无关。
2、透过qemu模拟运行或sbrsh解决中间执行文件或类似configure测试文件运行的问题。
3、对chroot的system进行修订,可以达到欺骗其他软件的效果,使测试软件误以为在目标
平台上编译。
不足:
1、目前只能编译ARM和X86的代码。
2、不支持buildroot所支持的ppc、mips等。
五、ubuntumobile
优点:
1、是移动版unbuntu为互联网设备而生。
2、开源、具有完整的网络支持以及丰富的自定义项目。
2008年11月26日星期三
2008年11月25日星期二
ZT 嵌入式linux相关链接
http://browser.bokee.com/4774149.html
嵌入式相关
uclinux
The original uClinux was a derivative of Linux 2.0 kernel intended for microcontrollers without Memory Management Units (MMUs). However, the Linux/Microcontroller Project has grown both in brand recognition and coverage of processor architectures. Today's uClinux as an operating system includes Linux kernel releases for 2.0 2.4 and 2.6 as well as a collection of user applications, libraries and tool chains.
The uClinux Directory
This Directory has been created to make it easier to find information about uClinux specific topics and the various ports of uClinux. I have just started to categorize material found on the WWW, so there's not much here at the moment. I'm open to suggestions, and especially links that should be included.
The uClinux/ARM 2.6 Project
The uClinux/ARM 2.6 project is one of the projects based on uClinux(Embedded Linux/Microcontroller Project), and intends to support almost full 2.6 kernel features on MMU-less ARM architectures, include MPU. So you'll find the announce and patch on the uclinux project, also. Because there was no one who care of it from 2.5, In Linux 2.6 Kernel, uClinux ARM architecture is not included, although the other architectures are merged. So we just do it.
uClibc
uClibc (aka uClibc/pronounced yew-see-lib-see) is a C library for developing embedded Linux systems. It is much smaller than the GNU C Library, but nearly all applications supported by glibc also work perfectly with uClibc. Porting applications from glibc to uClibc typically involves just recompiling the source code. uClibc even supports shared libraries and threading. It currently runs on standard Linux and MMU-less (also known as uClinux) systems with support for alpha, ARM, cris, i386, i960, h8300, m68k, mips/mipsel, PowerPC, SH, SPARC, and v850 processors.
Busybox
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.
udhcp
The udhcp Server/Client Package (licensed under the GPL) was originally designed to run on a NETtel (which runs on Greg Ungerer's uClinux-coldfire linux port).
buildroot - making Embedded Linux easy
Buildroot is a set of Makefiles and patches that makes it easy generate a cross-compilation toolchain and root filesystem for your target Linux system using the uClibc C library. Buildroot is useful mainly for people working with small or embedded systems. Embedded systems often use processors that are not the regular x86 processors everyone is used to using on their PC. It can be PowerPC processors, MIPS processors, ARM processors, etc. And to be extra safe, you do not need to be root to build or run buildroot.
scratchbox
Scratchbox is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution.
OpenEmbedded
OpenEmbedded is a full-featured development environment allowing users to target a wide variety of devices. Supporting multiple build, release paths and configurations, OpenEmbedded extends the capabilities of your build and release engineers. OpenEmbedded uses compilation and configuration caching at most levels to increase developer productivity.
uCdot
Embedded linux developer forum.
Linux Devices
一个很好的介绍嵌入式设备的站点,包括各种运行着Linux的手机、PDA、路由器、xDSL、DVB、VOIP Gateway等等,内容十分丰富。
sourceforge
这个不用介绍了,如果还不知道的话,赶紧去看一下。
Freshmeat
基本同上 :)
LWN
LWN.net has been covering the Linux and free software communities since 1998. Our aim is to provide complete information from the development community in a concise, well-written, and objective manner.
uClinux in the GDB/ARMulator
Some patches to GDB to allow the existing gdb ARM emulator to run uClinux targets. It can run both little-endian and big-endian code, as well as apcs-32/26 code and Thumb. I have tested little/big endian kernels but haven't played with thumb at this point.
uclinux-elf-tools
Collection of ELF tools for use with uClinux/m68k,arm.
emDebian
Using Debian on embedded devices covers a wide range of possible scenarios. The embedded hardware can be anything from a full-blown PC to an MMU-less thing with a few MB of RAM and flash. Embedded Debian takes a two-pronged approach to this diversity.
EmDebSys
Emdebsys is a system creation and configuration tool for embedded Linux. It was originally known as CML2+OS (2000-2001), and this name still appears in various places.
嵌入式相关
uclinux
The original uClinux was a derivative of Linux 2.0 kernel intended for microcontrollers without Memory Management Units (MMUs). However, the Linux/Microcontroller Project has grown both in brand recognition and coverage of processor architectures. Today's uClinux as an operating system includes Linux kernel releases for 2.0 2.4 and 2.6 as well as a collection of user applications, libraries and tool chains.
The uClinux Directory
This Directory has been created to make it easier to find information about uClinux specific topics and the various ports of uClinux. I have just started to categorize material found on the WWW, so there's not much here at the moment. I'm open to suggestions, and especially links that should be included.
The uClinux/ARM 2.6 Project
The uClinux/ARM 2.6 project is one of the projects based on uClinux(Embedded Linux/Microcontroller Project), and intends to support almost full 2.6 kernel features on MMU-less ARM architectures, include MPU. So you'll find the announce and patch on the uclinux project, also. Because there was no one who care of it from 2.5, In Linux 2.6 Kernel, uClinux ARM architecture is not included, although the other architectures are merged. So we just do it.
uClibc
uClibc (aka uClibc/pronounced yew-see-lib-see) is a C library for developing embedded Linux systems. It is much smaller than the GNU C Library, but nearly all applications supported by glibc also work perfectly with uClibc. Porting applications from glibc to uClibc typically involves just recompiling the source code. uClibc even supports shared libraries and threading. It currently runs on standard Linux and MMU-less (also known as uClinux) systems with support for alpha, ARM, cris, i386, i960, h8300, m68k, mips/mipsel, PowerPC, SH, SPARC, and v850 processors.
Busybox
BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system.
udhcp
The udhcp Server/Client Package (licensed under the GPL) was originally designed to run on a NETtel (which runs on Greg Ungerer's uClinux-coldfire linux port).
buildroot - making Embedded Linux easy
Buildroot is a set of Makefiles and patches that makes it easy generate a cross-compilation toolchain and root filesystem for your target Linux system using the uClibc C library. Buildroot is useful mainly for people working with small or embedded systems. Embedded systems often use processors that are not the regular x86 processors everyone is used to using on their PC. It can be PowerPC processors, MIPS processors, ARM processors, etc. And to be extra safe, you do not need to be root to build or run buildroot.
scratchbox
Scratchbox is a cross-compilation toolkit designed to make embedded Linux application development easier. It also provides a full set of tools to integrate and cross-compile an entire Linux distribution.
OpenEmbedded
OpenEmbedded is a full-featured development environment allowing users to target a wide variety of devices. Supporting multiple build, release paths and configurations, OpenEmbedded extends the capabilities of your build and release engineers. OpenEmbedded uses compilation and configuration caching at most levels to increase developer productivity.
uCdot
Embedded linux developer forum.
Linux Devices
一个很好的介绍嵌入式设备的站点,包括各种运行着Linux的手机、PDA、路由器、xDSL、DVB、VOIP Gateway等等,内容十分丰富。
sourceforge
这个不用介绍了,如果还不知道的话,赶紧去看一下。
Freshmeat
基本同上 :)
LWN
LWN.net has been covering the Linux and free software communities since 1998. Our aim is to provide complete information from the development community in a concise, well-written, and objective manner.
uClinux in the GDB/ARMulator
Some patches to GDB to allow the existing gdb ARM emulator to run uClinux targets. It can run both little-endian and big-endian code, as well as apcs-32/26 code and Thumb. I have tested little/big endian kernels but haven't played with thumb at this point.
uclinux-elf-tools
Collection of ELF tools for use with uClinux/m68k,arm.
emDebian
Using Debian on embedded devices covers a wide range of possible scenarios. The embedded hardware can be anything from a full-blown PC to an MMU-less thing with a few MB of RAM and flash. Embedded Debian takes a two-pronged approach to this diversity.
EmDebSys
Emdebsys is a system creation and configuration tool for embedded Linux. It was originally known as CML2+OS (2000-2001), and this name still appears in various places.
2008年11月24日星期一
gcc链接脚本文件几个理解
1,运行时地址和装载时地址:
Another question, more conceptual. This ld uses named sections, using >
to say where it will be loaded, and AT> to say where it is at the moment
of reset. (I think, anyway). Let's say I also want to use
__attribute__ to define some functions in RAM, naming this ".ramtext" in
my C code. My guess is that this looks something like this:
prog : {
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
__end_of_prog__ = . ;
} >flash
.ramtext : {
__ramtext_beg__ = . ;
__ramtext_beg_src__ = __end_of_prog__ ;
*(.ramtext)
__ramtext_end__ = .;
} >ram AT>flash
And then my boot.s would just copy (__ramtext_end__ - __ramtext_beg__)
bytes from __ramtext_beg_src__ to __ramtext_beg__.
又例如:
SECTIONS {
firtst 0x00000000 : { head.o init.o }
second 0x30000000 : AT(0x100) { main.o }
}
对于第二个输出段,装载地址为0x100,运行地址为0x30000000,初始化文件需把该段从加载地址拷贝到运行地址处;
2,用户自定义输入段
例如:
volatile int buff1_app[1280] __attribute__((section(".sdram")));
void hello(int a) __attribute__((section(".sdram")));
声明了用户自定义输入段,在链接脚本文件中可以利用;函数声明到自定义段中,只是代码部分放到里面,其他部分被放到默认段中,如.data等;
3,分散加载
可以利用链接脚本文件实现分散加载,例如:
. = 0;
startup : { *(.startup)} >ram
/*接着放代码*/
prog :
{
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
} >ram
/*剩余代码放到外部RAM*/
prog2 :
{
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
} >eram
Another question, more conceptual. This ld uses named sections, using >
to say where it will be loaded, and AT> to say where it is at the moment
of reset. (I think, anyway). Let's say I also want to use
__attribute__ to define some functions in RAM, naming this ".ramtext" in
my C code. My guess is that this looks something like this:
prog : {
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
__end_of_prog__ = . ;
} >flash
.ramtext : {
__ramtext_beg__ = . ;
__ramtext_beg_src__ = __end_of_prog__ ;
*(.ramtext)
__ramtext_end__ = .;
} >ram AT>flash
And then my boot.s would just copy (__ramtext_end__ - __ramtext_beg__)
bytes from __ramtext_beg_src__ to __ramtext_beg__.
又例如:
SECTIONS {
firtst 0x00000000 : { head.o init.o }
second 0x30000000 : AT(0x100) { main.o }
}
对于第二个输出段,装载地址为0x100,运行地址为0x30000000,初始化文件需把该段从加载地址拷贝到运行地址处;
2,用户自定义输入段
例如:
volatile int buff1_app[1280] __attribute__((section(".sdram")));
void hello(int a) __attribute__((section(".sdram")));
声明了用户自定义输入段,在链接脚本文件中可以利用;函数声明到自定义段中,只是代码部分放到里面,其他部分被放到默认段中,如.data等;
3,分散加载
可以利用链接脚本文件实现分散加载,例如:
. = 0;
startup : { *(.startup)} >ram
/*接着放代码*/
prog :
{
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
} >ram
/*剩余代码放到外部RAM*/
prog2 :
{
*(.text)
*(.rodata)
*(.rodata*)
*(.glue_7)
*(.glue_7t)
} >eram
2008年11月21日星期五
俺的grub for dos 设置
硬盘分为C D E 三个FAT32分区和SWAP LINUX 根分区。 LINUX 根分区为主分区;从而在linux中,
C,扩展分区和linux根分区分别标识为SDA1,SDA2,SDA3;D、E和SWAP分别为SDA5 sda6 sda7。
注意如果硬盘为IDE接口的,则为hda1....
从而我的引导ubuntu linux7.10的grub for dos的menu.lst内容为:
default 0
timeout 10
## linux分区为主分区,第3个主分区(从1开始数)
## swap分区为sda7(从1开始,从linux中)
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,2)
kernel (hd0,2)/boot/vmlinuz-2.6.22-14-generic ro root=/dev/sda3 splash=silent
initrd (hd0,2)/boot/initrd.img-2.6.22-14-generic
boot
quiet
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/sda3 ro single
initrd /boot/initrd.img-2.6.22-14-generic
title Ubuntu 7.10, memtest86+
root (hd0,2)
kernel /boot/memtest86+.bin
quiet
linux原来的grub的menu.lst文件为 :(原来grub在MBR上,重装xp后,又使用grub for dos引导)
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=628d9a42-566a-475e-abb9-f61d32573a1e ro
## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,2)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
## ## End Default Options ##
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=628d9a42-566a-475e-abb9-f61d32573a1e ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=628d9a42-566a-475e-abb9-f61d32573a1e ro single
initrd /boot/initrd.img-2.6.22-14-generic
title Ubuntu 7.10, memtest86+
root (hd0,2)
kernel /boot/memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1
C,扩展分区和linux根分区分别标识为SDA1,SDA2,SDA3;D、E和SWAP分别为SDA5 sda6 sda7。
注意如果硬盘为IDE接口的,则为hda1....
从而我的引导ubuntu linux7.10的grub for dos的menu.lst内容为:
default 0
timeout 10
## linux分区为主分区,第3个主分区(从1开始数)
## swap分区为sda7(从1开始,从linux中)
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,2)
kernel (hd0,2)/boot/vmlinuz-2.6.22-14-generic ro root=/dev/sda3 splash=silent
initrd (hd0,2)/boot/initrd.img-2.6.22-14-generic
boot
quiet
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=/dev/sda3 ro single
initrd /boot/initrd.img-2.6.22-14-generic
title Ubuntu 7.10, memtest86+
root (hd0,2)
kernel /boot/memtest86+.bin
quiet
linux原来的grub的menu.lst文件为 :(原来grub在MBR上,重装xp后,又使用grub for dos引导)
# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10
## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu
# Pretty colours
#color cyan/blue white/blue
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret
#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#
#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below
## DO NOT UNCOMMENT THEM, Just edit them to your needs
## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=628d9a42-566a-475e-abb9-f61d32573a1e ro
## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0
## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,2)
## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true
## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false
## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash
## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false
## Xen hypervisor options to use with the default Xen boot option
# xenhopt=
## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0
## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single
## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all
## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true
## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false
## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false
## ## End Default Options ##
title Ubuntu 7.10, kernel 2.6.22-14-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=628d9a42-566a-475e-abb9-f61d32573a1e ro quiet splash
initrd /boot/initrd.img-2.6.22-14-generic
quiet
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=628d9a42-566a-475e-abb9-f61d32573a1e ro single
initrd /boot/initrd.img-2.6.22-14-generic
title Ubuntu 7.10, memtest86+
root (hd0,2)
kernel /boot/memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1
使用Gc-PowerStation提取gerber文件的SMT所需坐标注意点
最近接触了使用Gc-PowerStation提取gerber文件的SMT所需坐标。总结了几个注意点:
1,提取坐标只需要两个文件,TopSolder和TopOverlay层gerber文件。
2,有的gerber文件又包含好几个data layer层的信息,需要通过屏蔽显示找出自己需要的那个层;一般有几个层
是空白,还有层是边框或文字等,不知道怎样混进去的。
3,操作时要确定是对哪个层,需要把设置只有那个层显示和可编辑。例如,确定元件坐标时,应该选中TopSolder层。
4,一些操作的对话框内需要设置单独的data layer层;arts->Explode Parts操作时是选中"Automatic Centroid Extraction"生成的那两个part layer层;
5,确定元器件标号的尺寸时,是测量的单个字符的尺寸,不是所有的;
6,"Find Reference Designator"时,要注意选中TopOverlay层并使其可编辑,对话框内part层要设置为那个ACE层,也就是识别出封装的那个器件层。
7,网上有讲解和视频,特别是视频讲的比较详细;
1,提取坐标只需要两个文件,TopSolder和TopOverlay层gerber文件。
2,有的gerber文件又包含好几个data layer层的信息,需要通过屏蔽显示找出自己需要的那个层;一般有几个层
是空白,还有层是边框或文字等,不知道怎样混进去的。
3,操作时要确定是对哪个层,需要把设置只有那个层显示和可编辑。例如,确定元件坐标时,应该选中TopSolder层。
4,一些操作的对话框内需要设置单独的data layer层;arts->Explode Parts操作时是选中"Automatic Centroid Extraction"生成的那两个part layer层;
5,确定元器件标号的尺寸时,是测量的单个字符的尺寸,不是所有的;
6,"Find Reference Designator"时,要注意选中TopOverlay层并使其可编辑,对话框内part层要设置为那个ACE层,也就是识别出封装的那个器件层。
7,网上有讲解和视频,特别是视频讲的比较详细;
2008年11月20日星期四
转帖:用 grub for dos 在 windows 引导 linux
收集于:vocat的专栏
http://blog.csdn.net/vocat/archive/2006/10/21/1344388.aspx
很多和我一样的菜鸟,为了学linux都会在原来windows的基础上安装linux。但windows的病毒是在太多了,难保哪天中了病毒杀不掉甚至进不windows了就只好重装了。重装后往往就默认直接进入windows,而没有出现个菜单让你选择是进windows和linux。原因嘛,网上搜下到处都是,下面直接进入正题,找回进不去的linux。
先准备好以下两个软件
grub for dos(http://sourceforge.net/project/showfiles.php?group_id=104188),选择GRUB4DOS那个就行,用这个来引导linux
explore2fs(http://www.chrysocome.net/explore2fs),这个是在windows下看linux文件用的
以上两个软件或者百度,google下,到处都有,很多,好啦,开始进入步骤
1:把下好的grub for dos 解压到C盘根目录下,取名为grub,把里面的grlrd复制到C盘根目录下
2:找到C盘下面的boot.ini文件(这是个隐藏文件),在里面最后一行加入c:\grldr="linux"
3:新建一个menu.lst文件,把它放在C盘根目录下,里面的内容,以我的为例,如下
title redhat 9.0
root (hd0,7)
kernel (hd0,7)/boot/vmlinuz-2.4.20-8 root=/dev/hda8
initrd (hd0,7)/boot/initrd-2.4.20-8.img
boot
总共5行,每行的意思如下
第一行:title redhat 9.0
这个title跟的值是指你要在菜单上出现用来显示linux的名称
第二行:root (hd0,7)
一般的写法为root(hdX,Y)
对于X,如果你只有一个硬盘且装在这个硬盘(好像是废话……)那么当然为0啦,否则的话以此类推为1,2,等
对于Y,这个会稍微复杂些。在windows下面,由一个主分区-C盘,和N个扩展分区-D,E,F……等组成。但在linux下,hd1~hd4代表主分区,对应于windows下就是C盘,hd5开始为扩展分区,如hd5对应D盘,hd6对应E盘等。grub的分区算法和linux类似,但有一个差别是,它是从0开始计数的,也就是说0~3对应C盘,4对应D盘,以此类推。我自己的电脑分区如下C盘-windows,D,E,F存储资料,剩下的空间给了linux,所以为root(hd0,7)
第三行:kernel (hd0,7)/boot/vmlinuz-2.4.20-8 root=/dev/hda8
把vmlinuz-2.4.20-8换成你对应的文件就行啦。用explre2fs这个软件就可以在windows下看linux分区的文件啦。要有点注意的是,root=/dev/hda8 中的hda8而不是hda7,因为此时是按照liuux的规则而不是grub的规则。
第四行:initrd (hd0,7)/boot/initrd-2.4.20-8.img
也只要把initrd-2.4.20-8.img 替换成你相应的文件就行啦
第五行:root
好像没什么好说吧……
OK,大功告成也~
http://blog.csdn.net/vocat/archive/2006/10/21/1344388.aspx
很多和我一样的菜鸟,为了学linux都会在原来windows的基础上安装linux。但windows的病毒是在太多了,难保哪天中了病毒杀不掉甚至进不windows了就只好重装了。重装后往往就默认直接进入windows,而没有出现个菜单让你选择是进windows和linux。原因嘛,网上搜下到处都是,下面直接进入正题,找回进不去的linux。
先准备好以下两个软件
grub for dos(http://sourceforge.net/project/showfiles.php?group_id=104188),选择GRUB4DOS那个就行,用这个来引导linux
explore2fs(http://www.chrysocome.net/explore2fs),这个是在windows下看linux文件用的
以上两个软件或者百度,google下,到处都有,很多,好啦,开始进入步骤
1:把下好的grub for dos 解压到C盘根目录下,取名为grub,把里面的grlrd复制到C盘根目录下
2:找到C盘下面的boot.ini文件(这是个隐藏文件),在里面最后一行加入c:\grldr="linux"
3:新建一个menu.lst文件,把它放在C盘根目录下,里面的内容,以我的为例,如下
title redhat 9.0
root (hd0,7)
kernel (hd0,7)/boot/vmlinuz-2.4.20-8 root=/dev/hda8
initrd (hd0,7)/boot/initrd-2.4.20-8.img
boot
总共5行,每行的意思如下
第一行:title redhat 9.0
这个title跟的值是指你要在菜单上出现用来显示linux的名称
第二行:root (hd0,7)
一般的写法为root(hdX,Y)
对于X,如果你只有一个硬盘且装在这个硬盘(好像是废话……)那么当然为0啦,否则的话以此类推为1,2,等
对于Y,这个会稍微复杂些。在windows下面,由一个主分区-C盘,和N个扩展分区-D,E,F……等组成。但在linux下,hd1~hd4代表主分区,对应于windows下就是C盘,hd5开始为扩展分区,如hd5对应D盘,hd6对应E盘等。grub的分区算法和linux类似,但有一个差别是,它是从0开始计数的,也就是说0~3对应C盘,4对应D盘,以此类推。我自己的电脑分区如下C盘-windows,D,E,F存储资料,剩下的空间给了linux,所以为root(hd0,7)
第三行:kernel (hd0,7)/boot/vmlinuz-2.4.20-8 root=/dev/hda8
把vmlinuz-2.4.20-8换成你对应的文件就行啦。用explre2fs这个软件就可以在windows下看linux分区的文件啦。要有点注意的是,root=/dev/hda8 中的hda8而不是hda7,因为此时是按照liuux的规则而不是grub的规则。
第四行:initrd (hd0,7)/boot/initrd-2.4.20-8.img
也只要把initrd-2.4.20-8.img 替换成你相应的文件就行啦
第五行:root
好像没什么好说吧……
OK,大功告成也~
2008年11月14日星期五
订阅:
博文 (Atom)