首页 VM虚拟机中使用Linux

VM虚拟机中使用Linux

举报
开通vip

VM虚拟机中使用LinuxVM虚拟机中使用Linux(Fedora 1) 3第1章 Linux安装 3第2章 VM Tools安装 4第3章 Linux网络配置 4第4章 ARM Linux工具链安装 4第5章 Linux下minicom使用 5第6章 tftp安装与配置 6第7章 nfs配置 7第8章 DHCP安装 8第9章 u-boot 1.1.6编译 8第10章 ARM Linux 2.6.20 内核编译 9第11章 ARM u-boot烧写 9第12章 Windows下的Ramdisk L...

VM虚拟机中使用Linux
VM虚拟机中使用Linux(Fedora 1) 3第1章 Linux安装 3第2章 VM Tools安装 4第3章 Linux网络配置 4第4章 ARM Linux工具链安装 4第5章 Linux下minicom使用 5第6章 tftp安装与配置 6第7章 nfs配置 7第8章 DHCP安装 8第9章 u-boot 1.1.6编译 8第10章 ARM Linux 2.6.20 内核编译 9第11章 ARM u-boot烧写 9第12章 Windows下的Ramdisk Linux编译与烧写 11第13章 Windows下的nfs Linux编译与烧写 12第14章 写第一个Linux程序 12第15章 写第一个嵌入式Linux程序 13第16章 Vi命令 15第17章 GCC和GDB命令 18第18章 MAC为全0的解决办法 18第19章 Linux FTP服务器搭建 19第20章 文件解压缩 19第21章 Ramdisk增加文件 19第22章 多级 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 源码Makefile示例 21第23章 PC驱动程序编程 22第24章 ARM驱动程序编程 22第25章 LCD显示不正常 23第26章 Framebuffer编程 24第27章 QT/Embedded安装 25第28章 QPE编译 26第29章 QT编程(V3.1在PC上运行) 27第30章 QT编程(V2.3.X 在PC上运行) 27第31章 QT编程(V2.3.X 在qvfb上运行) 27第32章 QT编程(V2.3.X 在arm上运行) 28第33章 QT编程用designer(在pc上运行) 28第34章 QT编程用designer(在qvfb上运行) 29第35章 QT编程用designer(在arm上运行) 30第36章 QT翻译 30第37章 QT中文支持 30第38章 Qt-3.1.2工作 31第39章 Lcd驱动编写 31第40章 Linux2.6.24内核编译 31第41章 arm-linux-gdb安装 32第42章 U-boot 移植修改 32第43章 QTE中修改LCD显示颜色 32第44章 fcitx-3.4.2安装 第1章 Linux安装 1、 在VM启动画面下按F2,进入Boot,选择光盘启动; 2、 在VM的Setting里选择光驱,并将其指向Linux的ISO; 3、 顺序安装完毕即可。 4、 安装Linux后如果进不了X Server,进入Linux所在目录中,打开Red Hat Linux.vmx文件,将其中的svga.vramSize修改成 svga.vramSize = "8388608"(8388608=4*1024*768) 即可。完了在命令行下执行: vi /etc/X11/XF86Config 修改其中的: DefaultDepth 24 SubSection "Display" Depth 24 Modes "800x600" "640x480" EndSubSection 即可完成。 5、 安装Linux后如果进不了X Server,同时不停的闪动,并出现could not open default font 'fixed'这样的错误信息,是因为系统中的/tmp文件夹被删掉的原因,可以使用以下传令进行启动X Server: 1. 在登陆后提示符下输入 xfs & 2. 运行 chown /tmp/.font-unix 3. 运行 chown /tmp/.font-unix/fs7100 4. 运行 chgrp /tmp/.font-unix 5. 运行 chgrp /tmp/.font-unix/fs7100 6. 运行startx 第2章 VM Tools安装 1、 启动Linux; 2、 在VM的Setting里选择Install VMware Tools; 3、 在Linux控制台中执行以下命令 Mount /dev/cdrom Mkdir /arm cp /mnt/cdrom/ VMwareTools-6.0.4-93057.tar.gz /arm/ VMwareTools-6.0.4-93057.tar.gz umount /dev/cdrom cd /arm ls tar zxf VMwareTools-6.0.4-93057.tar.gz ls cd vmware-tools-distrib ls ./vmware-install.pl(注意前面的点) 然后一路点确定,除了编译器版本不同。 4、 在Setting./option里选择共享文件夹; 第3章 Linux网络配置 1、 在Setting/Ethernet里选择Bridge; 2、 配置VMware Network Adapter VMnet8为与主机同网段的IP; 3、 将Linux的网络配置与VMware Network Adapter VMnet8完全一致地(包括IP,网关和DNS)即可上网。 4、 防火墙要设置69端口为例外,否则可能会在使用nfs时出现以下错误: Root-NFS: Unable to get nfsd port number from server, using default 网络不能联通 第4章 用WINARM编译bootstrap 一、下载安装WinARM编译工具(winarm.rar文件) 1、解压缩winarm.rar 2、将解压后的winarm目录拷贝到C盘 3、向windows中path变量中添加 C:\WinARM\bin 和 C:\WinARM\utils\bin 目录,以半角分号(;)隔开 path变量添加说明: (1)右击:我的电脑->属性 (2)出现对话框后,点击高级,点击面板上的“环境变量” (3)双击path变量,在后面添加上两个目录,如果安装在C盘,则是:C:\WinARM\bin 和 C:\WinARM\utils\bin 二、准备at91sam9260的bootstrap程序(文件夹bootloader中) 将\Bootstrap文件夹放在C:目录下。 三、编译bootstrap程序 点击开始->运行->输入cmd,进入DOS命令行窗口。 cd C:\Bootstrap\board\at91sam9263ek\dataflash> make dataflash_at91sam9263ek.bin为可下载文件 编译dataflash中的bootstrap,进入dataflash目录,输入make生成可执行代码。然后通过SAM-BA软件将bin文件下载到dataflash中。接着就可以下载用户代码至dataflash的0x8000处,bootstrap可以将用户代码拷贝到外部SDRAM中运行。 >C: >cd bootstrap\board\at91sam9263ek\dataflash >make 第5章 ARM Linux工具链安装 1、 在VM的Setting/光驱里选择arm-2007-01-21.iso; 2、 在Linux控制台中执行以下命令: mount /dev/cdrom cd /mnt/cdrom ./install -d /opt/arm(注意前面红点) 结束后执行: vim /etc/profile 在if和fi中的最后一行添加: pathmunge /opt/arm/usr/bin 重启系统 第6章 Linux下minicom使用 1、 在命令行中执行: minicom –s 进行minicom设置; 2、 选中Serial port setup进行设置; 3、 选择相应的字母进行设置,按Enter退出当前项设置: | A - Serial Device : /dev/ttyS0 │ │ B - Lockfile Location : /var/lock │ │ C - Callin Program : │ │ D - Callout Program : │ │ E - Bps/Par/Bits : 115200 8N1 │ │ F - Hardware Flow Control : No │ │ G - Software Flow Control : No 4、 再按Enter退出; 5、 设置完后保存好再退出; 6、 在命令行中输入minicom启动它; 第7章 tftp安装与配置 (只能用对接线连接) 1、 下载软件包 下载 tftp-server-0.43-1.i386.rpm和tftp-hpa-0.48.tar.gz cp /mnt/hgfs/share/tftp-server-0.43-1.i386.rpm /arm/tftp-server-0.43-1.i386.rpm cp /mnt/hgfs/share/tftp-hpa-0.48.tar.gz /arm/tftp-hpa-0.48.tar.gz 2、 安装tftp-server-0.43-1.i386.rpm 服务器 cd /arm rpm -ivh --nodeps tftp-server-0.43-1.i386.rpm (此时根目录下会多一个tftpboot的目录,是tftp的共享目录) 3、 编译安装tftp-hpa-0.48.tar.gz tar vxfz tftp-hpa-0.48.tar.gz cd tftp-hpa-0.48 make make install 4、 /etc/xinetd.d/tftp文件配置: vi /etc/xinetd.d/tftp service tftp { socket_type =dgram protocol =udp wait =yes user =root server =/usr/sbin/in.tftpd server_args =-s /tftpboot -c disable =no per_source =11 cps =100 2 flags =IPv4 5、 } 6、 使用超级用户身份运行setup命令,在系统服务理选上tftp服务 [*]tftp 7、 启动tftp服务器 service xinetd restart 8、 测试tftp netstat -au 第8章 nfs配置 1、 以root进入,控制台命令: setup 在系统服务选项中选中[*]nfs,[*]portmap服务选项(用空格键选) 2、 编辑 /etc/exports 文件,内容如: vi /etc/exports /linuxnfs 192.168.1.*(rw,no_subtree_check,no_root_squash) 两部分之间要有一个空格 前半部分表示共享目录(共享目录一定不能用/mnt下的文件夹),后面表示对ip为59.64.158.*的主机赋予权限 其它参数: ro read only rw read write no_root_squash 3、 在控制台执行以下两条命令,调动服务: service portmap restart service nfs restart 4、 nfs挂载,输入命令: mkdir /linuxnfs mkdir /mnt/nfs mount -t nfs 59.64.158.95:/linuxnfs /mnt/nfs 如果你在/mnt/nfs 下可以看到NFS共享目录的内容,表示你NFS设置成功了。 5、 其它命令: 另外还可以使用一些命令查看NFS的各种状态: showmount -e 可看有分享哪些目录 showmount -a 可看出所有的 mount 检查NFS的运行级别: chkconfig --list portmap chkconfig --list nfs 根据需要设置在相应的运行级别自动启动NFS: chkconfig --level 235 portmap on chkconfig --level 235 nfs on 6、 nfs启动慢: 清除/var/lib/nfs/rmtab中的全部内容 第9章 DHCP安装 1、 将dhcp-3.0pl2-6.16.i386.rpm拷贝到/arm目录下: cp /mnt/hgfs/share/dhcp-3.0pl2-6.16.i386.rpm /arm/dhcp-3.0pl2-6.16.i386.rpm 2、 执行以下命令: cd /arm ls rpm -ivh dhcp-3.0pl2-6.16.i386.rpm cp /usr/share/doc/dhcp-3.0pl2/dhcpd.conf.sample /etc/dhcpd.conf vi /etc/dhcpd.conf 显示内容修改参考: ddns-update-style interim; ignore client-updates; #设置子网声明 subnet 192.168.1.0 netmask 255.255.255.0 { #为DHCP设置默认网关 option routers 192.168.1.1; #为DHCP设置子网掩码 option subnet-mask 255.255.255.0; # option nis-domain "domain.org"; # option domain-name "domain.org"; #为DHCP设置DNS服务器地址 option domain-name-servers 202.112.10.36; option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; #设置地址池 range dynamic-bootp 192.168.1.2 192.168.1.254; default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address host ns { next-server duandao.domain.com; #当前计算机的MAC hardware ethernet 00:0C:29:9B:63:84; #当前计算机的固定IP fixed-address 192.168.1.2; } } 3、 启动nfs,dhcpd,portmap service nfs start service portmap start service dhcpd start 第10章 u-boot 1.1.6编译 1、 将内核源码u-boot-1.1.6-atmel9263.tar.bz2拷贝到/arm目录下; cp /mnt/hgfs/share/u-boot-1.1.6-atmel9263.tar.bz2 /arm/u-boot-1.1.6-atmel9263.tar.bz2 2、 执行以下命令: cd /arm ls tar xjvf u-boot-1.1.6-atmel9263.tar.bz2 ls cd u-boot-1.1.6 ls make distclean make at91sam9263ek_config make dep make clean make 3、 编译好的u-boot文件为/arm/u-boot-1.1.6/u-boot.bin 4、 cp /arm/u-boot-1.1.6/u-boot.bin /mnt/hgfs/share/u-boot.bin 或者cp /arm/u-boot-1.1.6/u-boot.bin /tftpboot/u-boot.bin 第11章 u-boot 1.3.4编译 1、 将内核源码u-boot-1.3.4-atmel9263.tar.bz2拷贝到/arm目录下; cp /mnt/hgfs/share/u-boot-1.3.4.tar.gz /arm/ 2、 执行以下命令 cd /arm tar zxvf u-boot-1.3.4.tar.gz cd u-boot-1.3.4 make distclean make at91sam9263ek_dataflash_cs0_config make dep make clean make 第12章 ARM Linux 2.6.20 内核编译 1、 将内核源码linux-2.6.20-atmel-nfs.tar.bz2拷贝到/arm目录下; cp /mnt/hgfs/share/linux-2.6.20-atmel-nfs.tar.bz2 /arm/linux-2.6.20-atmel-nfs.tar.bz2 2、 执行以下命令: cd /arm ls tar xjvf linux-2.6.20-atmel-nfs.tar.bz2 ls cd linux-2.6.20 ls make menuconfig make Image 3、 编译好的uImage文件为/arm/linux-2.6.20/arch/arm/boot/uImge下 第13章 ARM u-boot烧写 (运行Windows下的tftp软件:tftpd32.exe,选择本机的IP作为服务器,并选择相应的默认路径;) 1、 安装SAM-BA v2.(X:\SINO9263\tools\Install AT91-ISP v1.10.exe); 2、 运行超级终端;或者是在Linux(这里有加载Linux0426)中打开终端,输入命令:minicom (终端) 3、 去掉跳线JP8; 4、 上电,超级终端显示Romboot;(如果此时没有Romboot,要检查是否连接,在它上面点左键) 5、 运行SAM-BA v2.6,选择usb/arm0和AT91SAM9263-EK,并点击connect; 6、 插上相应的跳线; 7、 初始化dataflash(CS0),执行excute; 8、 选择Erase all,执行Excute;(当光标闪烁时表明擦除完毕) 9、 选择“Send Boot file”, 执行Excute且选择dataflash的启动boot: dataflash_at91sam9263ek.bin(在一个名为”共享”的文件夹里); 10、 先从Linux中拷出u-boot,执行: cp /arm/u-boot-1.1.6/u-boot.bin /mnt/hgfs/share/u-boot.bin 11、 在internal address 处填写0x8400 在send file name中选择u-boot.bin(在Dataflash中运行的uboot),执行 send file . 12、 退出,重启板子,即可在0超级终端中看到U-boot信息。此时点击Enter 下面就是执行第十五章的内容: 13、 开始输入第十四章中6中的命令(一条一条的输入),一直到7中的执行Linux内核下载命令: tftp 22200000 uImage 14、 此时会出现表示是烧录成功 15、 然后执行第十四章的9中的命令。 第14章 Windows下的Ramdisk Linux编译与烧写 1、 执行 cd /arm/linux-2.6.20 进入Linux目录,执行 make menuconfig 注意选中 devices driver--->block devices--->Initial RAM filesystem and …选项 执行 make uImage 2、 将uImge从linux中拷出来,执行: cp /arm/linux-2.6.20/arch/arm/boot/uImage /mnt/hgfs/share/uImage (如果是Linux下:cp /arm/linux-2.6.20/arch/arm/boot/uImage /tftpboot/uImage) 3、 运行Windows下的tftp软件:tftpd32.exe,选择本机的IP作为服务器,并选择相应的默认路径; 4、 将uImage拷贝到tftp默认目录下; 5、 重启板子,直到有提示符(过程中注意击一键回车); 6、 将板子与Internet相连,然后执行以下命令,设置一个与主机相同网段的IP: //服务器的ip地址 setenv serverip 192.168.1.2 //开发板的ip setenv ipaddr 192.168.1.3 setenv ethaddr 192.168.1.3 //网关地址 setenv gatewayip 192.168.1.1 //该语句告诉内核是CRAMFS启动方式 setenv bootargs mem=64M console=ttyS0 115200 root=/dev/ram0 rw initrd=0x21100000,0x1100000 //从nand 0开始的地址读取0x200000字节的内核内容到sdram的0x22200000 setenv nf_kernel nand read 22200000 0 200000 setenv nf_ramdisk nand read 21100000 300000 1100000 setenv boot bootm 22200000 setenv bootcmd run nf_kernel\;run nf_ramdisk\;run boot saveenv printenv //------------------------命令---------------- setenv serverip 192.168.1.2 setenv ipaddr 192.168.1.3 setenv ethaddr 192.168.1.3 setenv gatewayip 192.168.1.1 setenv bootargs mem=64M console=ttyS0 115200 root=/dev/ram0 rw initrd=0x21100000,0x1100000 setenv nf_kernel nand read 22200000 0 200000 setenv nf_ramdisk nand read 21100000 300000 1100000 setenv boot bootm 22200000 setenv bootcmd run nf_kernel\;run nf_ramdisk\;run boot saveenv printenv 7、 执行Linux内核下载命令: tftp 22200000 uImage 8、 执行文件系统下载命令: tftp 21100000 newramdisk.gz 9、 可选择执行Linux启动命令,在SDRAM中运行Linux: bootm 22200000 也可以选择执行以下命令,将文件和内核烧写到nand: nand scrub nand write 22200000 0 200000 nand write 21100000 300000 1100000 然后依次执行以下几条命令启动系统: run nf_kernel run nf_ramdisk run boot 10、 Linux启动后,超级终端即相关于Linux的控制台,可执行任何命令。 tftp 22200000 uImage.el tftp 21100000 newramdisk.gz nand scrub nand write 22200000 0 200000 nand write 21100000 300000 1100000 boot 第15章 Windows下的nfs Linux编译与烧写 1、 将PC机网线,外网网线、开发板直接线同时连接到交换机上,并配置好虚拟机的IP、nfs、dhcpd等。 2、 在Linux下配置好nfs服务器; 执行命令: service nfs start service portmap start service dhcpd start 3、 运行Windows下的tftp软件:tftpd32.exe,选择本机的IP作为服务器,并选择相应的默认路径; 4、 将uImage拷贝到tftp默认目录下; cp /arm/linux-2.6.20/arch/arm/boot/uImage /mnt/hgfs/share/uImage (如果是Linux下:cp /arm/linux-2.6.20/arch/arm/boot/uImage /tftpboot/uImage) 5、 重启板子,直到有提示符(过程中注意击一键回车); 6、 将板子与Internet相连,然后执行以下命令,设置一个与主机相同网段的IP: //服务器的ip地址 setenv serverip 192.168.1.2 //开发板的ip setenv ipaddr 192.168.1.3 setenv ethaddr 192.168.1.3 //网关地址 setenv gatewayip 192.168.1.1 //该语句告诉内核是NFS启动方式 setenv bootargs mem=64M console=ttyS0 115200 root=/dev/nfs nfsroot=192.168.1.2:/linuxnfs ip=192.168.1.3: 192.168.1.2: 192.168.1.1:255.255.255.0:::eth0:off //从nand 0开始的地址读取0x200000字节的内核内容到sdram的0x22200000 setenv nf_kernel nand read 22200000 0 200000 setenv boot bootm 22200000 setenv bootcmd run nf_kernel\;run boot saveenv printenv 7、 执行Linux内核下载命令: tftp 22200000 uImage; 8、 可选择执行Linux启动命令,在SDRAM中运行Linux: bootm 22200000 也可以选择执行以下命令,将文件和内核烧写到nand: nand erase nand write 22200000 0 200000 然后依次执行以下几条命令启动系统: boot 第16章 写第一个Linux程序 1、 建文件夹和文件: mkdir /projects cd /projects mkdir hello cd hello vim main.c 2、 编译程序: gcc main.c -o main 3、 执行程序: ./main 4、 进入main调试: gdb main 第17章 写第一个嵌入式Linux程序 5、 建文件夹和文件: mkdir /projects cd /projects mkdir hello cd hello vim main.c 6、 编译程序: /opt/arm/usr/bin/arm-linux-gcc main.c -o main 7、 执行程序: 下载到嵌入式系统中,然后执行 ./main 第18章 Vi命令 进入vi的命令 vi filename.c: 打开或新建文件,并将光标置于第一行首 vi +n filename.c: 打开文件,并将光标置于第n行首 vi + filename.c: 打开文件,并将光标置于最后一行首 vi +/pattern filename.c: 打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename.c: 在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename.c: 打开多个文件,依次进行编辑 [编辑]移动光标类命令 h: 光标左移一个字符 l: 光标右移一个字符 space: 光标右移一个字符 Backspace: 光标左移一个字符 k或Ctrl+p: 光标上移一行 j或Ctrl+n: 光标下移一行 Enter: 光标下移一行 w或W : 光标右移一个字至字首 b或B : 光标左移一个字至字首 e或E : 光标右移一个字至字尾 ): 光标移至句尾 (: 光标移至句首 }: 光标移至段落开头 {: 光标移至段落结尾 nG: 光标移至第n行首 n+: 光标下移n行 n-: 光标上移n行 n$: 光标移至第n行尾 H: 光标移至屏幕顶行 M: 光标移至屏幕中间行 L: 光标移至屏幕最后行 0: 光标移至当前行首 $: 光标移至当前行尾 [编辑]屏幕翻滚类命令 Ctrl+u: 向文件首翻半屏 Ctrl+d: 向文件尾翻半屏 Ctrl+f: 向文件尾翻一屏 Ctrl+b: 向文件首翻一屏 nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。 [编辑]插入文本类命令 i: 在光标前 I: 在当前行首 a: 光标后 A: 在当前行尾 o: 在当前行之下新开一行 O: 在当前行之上新开一行 r: 替换当前字符 R: 替换当前字符及其后的字符,直至按ESC键 s: 从当前光标位置处开始,以输入的文本替代指定数目的字符 S: 删除指定数目的行,并以所输入文本代替之 ncw或nCW: 修改指定数目的字 nCC: 修改指定数目的行 [编辑]删除命令 ndw或ndW: 删除光标处开始及其后的n-1个字 do: 删至行首 d$: 删至行尾 ndd: 删除当前行及其后n-1行 x或X: 删除一个字符,x删除光标后的,而X删除光标前的 Ctrl+u: 删除输入方式下所输入的文本 [编辑]搜索及替换命令 /pattern: 从光标开始处向文件尾搜索pattern ?pattern: 从光标开始处向文件首搜索pattern n: 在同一方向重复上一次搜索命令 N: 在反方向上重复上一次搜索命令 :s/p1/p2/g: 将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g: 将文件中所有p1均用p2替换 [编辑]选项设置 all: 列出所有选项设置情况 term: 设置终端类型 ignorance: 在搜索中忽略大小写 list: 显示制表位(Ctrl+I)和行尾标志($) number: 显示行号 report: 显示由面向行的命令修改过的数目 terse: 显示简短的警告信息 warn: 在转到别的文件时若没保存当前文件则显示NO write信息 nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符 nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始 mesg: 允许vi显示其他用户用write写到自己终端上的信息 [编辑]最后行方式命令 Esc + shift + “:” 进入命令行方式 :n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d: 将 n1行到n2行之间的内容删除 :w: 保存当前文件 :e filename: 打开文件filename进行编辑 :x: 保存当前文件并退出 :q: 退出vi :q!: 不保存文件并退出vi :!command: 执行shell命令command :n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之, 若不指定n1,n2,则表示将整个文件内容作为command的输入 :r!command: 将命令command的输出结果放到当前行 [编辑]寄存器操作 "?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 "?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中 第19章 GCC和GDB命令 gcc的常用参数: -c 只编译不链接,生成目标文件 -S 只编译不汇编,生产汇编代码 -E 只进行预处理 -g 在可执行程序中包含调试信息 -o file 将文件输出到file中 -v 显示gcc版本号 -I dir 在头文件搜索中添加dir目录(dir 为绝对路径) -L dir 在库文件的搜索中添加dir目录(dir 为绝对路径) -static 链接静态库 -library 链接名为library的库文件 gdb常用命令: awatch 指定一个变量,如果这个变量被读或者被写,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatch和watch命令。 backtrace 显示函数调用得所有栈框架(stack frames)的 踪迹和当前函数的参数的值,bt是这个命令的简写。 break 设置一个断点,这个命令需要指定代码行或者函数名作为参数 clear 删除一个断点,这个命令需要制定代码行或者函数名作为参数 continue 调试器停止的地方继续执行 Ctrl-C 在当前位置停止执行正在执行的程序,断点在当前行 disable 禁止断点功能,这个命令需要禁止的断点在断点列表索引值作为参数 display 在断点的停止的地方,显示指定的表达式的值。(显示变量) enable 允许断点功能,这个命令需要允许的断点在断点列表索引值作为参数 finish 继续执行,知道当前函数返回 ignore 忽略某个断点制定的次数。例:ignore 4 23 忽略断点4的23次运行,在第24次的时候中断 info breakpoints 查看断点信息 info display 查看设置的需要显示的表达式的信息 kill 终止当前debug的进程 list 显示10行代码。如果没有提供参数给这个命令,则从当前行开始显示10行代码。 如果提供了函数名作为参数,则从函数开头显示。如果提供代码行的编号作为参 数,这一行作为开头显示。 load 动态载入一个可执行文件到调试器。 next 执行下一行的源代码的所有指令。如果是函数调用,则也当作一行源代码,执行到此函数返回 nexti 执行下一行的源代码中的一条汇编指令 print 显示变量的值 ptype 显示变量的类型 return 强制从当前函数返回 run 从程序开始的地方执行 rwatch 指定一个变量,如果这个变量被读,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatch和watch命令。 set 设置变量的值。例如:set nval=54 将把54保存到nval变量中 step 继续执行程序下一行源代码的所有指令。如果是调用函数,这个命令将进入函数的内部,单步执行函数中代码。 stepi 继续执行程序下一行源代码中的汇编指令。如果是函数调用,这个命令将进入函数的内部,单步执行函数中的汇编代码。 txbreak 在当前函数的退出的点上设置一个临时的断点(只可使用一次)。 undisplay 删除一个display设置的变量显示。这个命令需要将display list中的索引做参数。 watch 指定一个变量,如果这个变量被写,则暂停程序运行,在调试器中显示信息,并等待下一个调试命令。参考rwatch和watch命令。 whatis 显示变量的值和类型。 xbreak 在当前函数的退出的点上设置一个断点。 第20章 MAC为全0的解决办法 进行控制台后,输入以下命令: ifconfig eth0 hw ether 00:e0:4c:4d:8d:5f ifconfig eth0 59.64.158.97 第21章 Linux FTP服务器搭建 1、 下载最新的稳定版vsftpd-1.2.1.tar.gz 2、 卸载原有的rpm的vsftpd 3、 rpm -e vsftpd 4、 tar xvzf vsftpd-1.2.1.tar.gz 5、 cd vsftpd-1.2.1 6、 make 7、 useradd nobody 8、 mkdir /usr/share/empty 9、 mkdir /var/ftp 10、 useradd -d /var/ftp ftp 11、 chown root.root /var/ftp 12、 chmod og-w /var/ftp 13、 make install 说明:如果已经安装了vsftpd可以省略1-13步,如果原来没有安装vsftp,请按部就班。 14、 cp vsftpd.conf /etc/vsftpd.conf(现在,默认还是只能匿名用户登录。) 15、 vi /etc/vsftpd.conf 把anonmous_enable=YES改成NO(禁掉匿名链接,不安全。) 把local_enable=YES前的注释去掉(打开本地用户连接的权限。) 把write_enable=YES前的注释去掉(打开本地用户的写权限。) 把local_umask=022前的注释去掉 16、 输入setup命令,使能vsftpd服务,再输入: service xinetd restart service vsftpd restart 用命令 netstat -na –ip 查看21端口是否已经打开。 17、 客户端可以用以下命令登录ftp: 用户名:ftp 密码:ftp 18、 然后用get下载, put上传,下载的文件存放在进入ftp时的默认路径下 第22章 文件解压缩 1、 tar.tar文件解压: 如果是bzip2,命令格式: 先执行:bunzip2 filename.tar.tar,生成了filename.tar.tar.out文件再用tar命令来解压。 再执行:tar xvf filename.tar.tar.out 2、 工 第23章 Ramdisk新建 cd / dd if=/dev/zero of=newramdisk bs=1k count=32768 losetup /dev/loop2 newramdisk mkfs.ext2 /dev/loop2 mount -t ext2 /dev/loop2 /mnt/newramdisk cd /tftpboot gunzip ramdisk.gz mount -t ext2 -o loop ramdisk /mnt/ramdisk cd / cp -rf -d /mnt/ramdisk/bin /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/dev /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/etc /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/home /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/init /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/lib /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/lost+found /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/proc /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/sbin /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/sys /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/tmp /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/usr /mnt/newramdisk/ cp -rf -d /mnt/ramdisk/var /mnt/newramdisk/ mknod /mnt/newramdisk/dev/fpgadev c 251 0 mkdir /mnt/newramdisk/projects mkdir /mnt/newramdisk/projects/protect cp -rf -d /linuxnfs/projects/protect/protect /mnt/newramdisk/projects/protect/ mkdir /mnt/newramdisk/projects/ultrasonic cp -rf -d /linuxnfs/projects/ultrasonic/ultrasonic /mnt/newramdisk/projects/ultrasonic/ mkdir /mnt/newramdisk/projects/inputsys cp -rf -d /linuxnfs/projects/inputsys/inputsystem.ko /mnt/newramdisk/projects/inputsys/ cp -rf -d /linuxnfs/projects/inputsys/Module.symvers /mnt/newramdisk/projects/inputsys/ cp -rf -d /linuxnfs/lib/libqte.so.2 /mnt/newramdisk/lib/libqte.so.2 cp -rf -d /linuxnfs/qt /mnt/newramdisk/ mkdir /mnt/newramdisk/rs cp -rf -d /linuxnfs/rs/voice.snd /mnt/newramdisk/rs 修改rsC文件 cd /tftpboot umount /mnt/ramdisk gzip -9 ramdisk cd / umount /dev/loop2 losetup -d /dev/loop2 gzip -9 newramdisk cp newramdisk.gz /tftpboot 第24章 Ramdisk增加文件 1、 先建一个目录提供给Ramdisk挂载: mkdir /mnt/ramdisk 2、 把ramdisk.gz拷贝到/arm目录下以供使用: cp /mnt/hgfs/share/ramdisk.gz /arm/ramdisk.gz 3、 将ramdisk.gz解压: cd /arm gunzip ramdisk.gz 4、 挂载Ramdisk: mount -t ext2 -o loop ramdisk /mnt/ramdisk cd /mnt/ramdisk 5、 在/mnt/ramdisk中进行相关操作即可 6、 御载Ramdisk: cd /arm umount /mnt/ramdisk 7、 Ramdisk打包: gzip -9 ramdisk mkdir /mnt/newramdisk cd /tftpboot gunzip newramdisk.gz mount -t ext2 -o loop newramdisk /mnt/newramdisk 修改 umount /mnt/newramdisk gzip -9 newramdisk 第25章 多级目录源码Makefile示例 1、 顶级Makefile: TOPSRC = multdir SUBSRC = sub ADDSRC = add SUBDIR = subdir ADDDIR = adddir SUBDIRS = $(SUBDIR) $(ADDDIR) CC = gcc CFLAGS = -Wall -O -g -I/mnt/hgfs/share/projects/multdir $(TOPSRC):$(TOPSRC).o $(SUBDIR)/$(SUBSRC).o $(ADDDIR)/$(ADDSRC).o $(CC) $(FLAGS) -o $(TOPSRC) $(TOPSRC).o $(SUBDIR)/$(SUBSRC).o $(ADDDIR)/$(ADDSRC).o $(TOPSRC).o:$(TOPSRC).c $(CC) -c $(TOPSRC).c for i in $(SUBDIRS); do \ (cd $$i; make); \ done sub: @cd $(SUBDIR); make add: @cd $(ADDDIR); make clean: rm -f $(TOPSRC).o rm -f $(TOPSRC) for i in $(SUBDIRS); do \ (cd $$i; make clean);
本文档为【VM虚拟机中使用Linux】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_153572
暂无简介~
格式:doc
大小:346KB
软件:Word
页数:40
分类:互联网
上传时间:2011-12-22
浏览量:294