付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【实验目的】了解交叉工具链的编译过程及其使用说明:在实验中命令行提示 为“$”表示在主机上运行,“#”表示在目标板上运【实验环境】2FS4412【实验步骤】1、如果要自己编译工具链,从以下源crosstools-ng地同时对每一个版本都有相应的补丁我们尽量把这些补丁打上,这些补丁的地址2、解压工具链压缩 $mkdir$cd将第一天/工具/gcc-4.6.4.tar.xz拷贝到 下并解$ gcc- 3、环境变量的添修改文件/etc/bash.bashrc添加如下内 PATH=$PATH:/home/linux/toolchain/gcc- 重启配置文$ 4、工具链的测$arm-none-linux-gnueabi-gcc Usingbuilt-inspecs.COLLECT_GCC=arm-none-linux-gnueabi-Target:arm-arm1176jzfssf-linux-Configuredwith:/work/builddir/src/gcc-4.6.4/configure--build=i686-build_pc-linuxhost=i686-build_pc-linux- --target=arm-arm1176jzfssf-linuxprefix=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gccwith-sysroot=/opt/TuxamitoSoftToolchains/arm-arm1176jzfssf-linux-gnueabi/gcc-/arm-arm1176jzfssf-linux- --enable---with-float=softfp--with-pkgversion='crosstool-NGhg+default-2685dfa9de14disable-sjlj-exceptions--enable-cxa_atexit--disable-libmudflap--disabledisable- --disable- --disable-libquadmathwith-gmp=/work/builddir/arm-arm1176jzfssf-linuxwith-mpfr=/work/builddir/arm-arm1176jzfssf-linuxwith-mpc=/work/builddir/arm-arm1176jzfssf-linuxwith-ppl=/work/builddir/arm-arm1176jzfssf-linuxwith-cloog=/work/builddir/arm-arm1176jzfssf-linuxwith-libelf=/work/builddir/arm-arm1176jzfssf-linuxwith-host-libstdcxx='-static- -Wl,-Bstatic,-lstdc++,- enable-threads=posix--enable-target-optspace--without-long-double-128--disabledisable-4.6.4/arm-arm1176jzfssf-linux-gnueabi/sysroot--enable-c99--enable-long-longThreadmodel:这样我们的交叉工具链就安装好u-boot【实验目的】了解u-boot的常用命令和linux内核的【实验环境】2u-boot-2010.033FS4412平台4arm-none-linux-gnueabi-【实验步骤】1SD启动盘制将SD进入sdfuse_d执行如下操 $sudo 在SD卡中创建 sdupdate并把第一天/镜像中的u-boot-fs4412.bin拷贝到这 2u-boot的烧连接串口和板子,运行串口通信程序 第一天工具中选择右上角的”Serial”,然后点击左下角的按照自己的主机的情况选择COM口其他必须一直,然后点击open打开串关闭开发板电源,将拨码开关SW1调至(1000)(SD启动模式)后打开电将刚才做好的SD启动盘插入SD卡插重新打开开发板能够看到如下界在倒计时时按任意键烧在终端上执 sdfuse 等待终端无输出是表示烧写结在倒计时时按任意键3、通过网络加载内核和文件系修改虚拟机nfs配置文件/etc/exports,添加如下内容并重启nfs服 重新驱动nfs服 设置启动参#setenvipaddr33#setenvbootcmdtftp- #注意:20Ubuntu33这两个ip应该根据自己的实际情况适当启动开发板看到如下现象表示成功通过网络挂载这是可以输入一些Linux令测4、从EMMC加载内核和文件系拷贝第一天/镜像文件/ramdisk.img拷贝到虚拟机 烧写内核镜像到EMMC### 烧写设备树文件到EMMC##exynos4412-# 烧写文件系统镜像到EMMC### 设置启动参##setenvbootcmdmoviread\;moviread\;movi #重新启动开发板,u- 自动加载、执行内5、其令练6、交叉编译和交将u-boot启动参数修改为网络启#setenvipaddr33#setenvbootcmdtftp- #注意:20Ubuntuip33对应板子的ip这两个ip应该根据自己的实际情况适当编辑程序源码myapp.c(自己写一个简单的c程序交叉编译后到 (编译时添加选项-$cpmyapp (gdbserver在交叉工具链中找,路径为/home/linux/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/debug-# myapp在主机上运行交叉调$arm-none-linux-gnueabi- 在交叉调试器下和开发板gdbserver建立 设置断点,输入命令c开始调试程序(注意观察串口输出u-boot-2013.01【实验目的】【实验环境】3FS_4412(EXYNOS4arm-none-linux-gnueabi-【实验步骤】一、建立自己的平台1、源我们可以在下面这个上的和以前任一版本 ftp://ftp.denx.de/pub/u-2、解压uboot源码并进入$$ u-boot-$ u-boot-3、指定交叉编译工具链$ PILE 4、指定产品查看u-boot源码该 是否已支U-boot5、指定产品找一个最类似的board配置修改 这里我们参考的是$$ - $ $ 修改 为$ include/configs/origen $ 修 CONFIG_SYS_PROMPT"ORIGEN为 CONFIG_SYS_PROMPT"fs4412修为#define 参 并在后面新 6u-$$ $ $编译完成后生成的u-boot.bin就是可执行的镜像文件1(点灯法在 134行后添加点灯程#if#ifldrr0,=0x11000c40@GPK2_7led2ldrr1,[r0]bicr1,r1,#0xforrr1,r1,#0xstrr1,[r0]movr1,#0xffstrr1,添加三星 u-boot- - 需要三星提供的初始引导加密后,我们的 u-boot- -注:sdfuse_q三星提供的 u-boot- -注 三星提供的安全启动方$vim$vim$(obj)u-$(obj)u- $(obj)u-$(OBJCOPY)${OBJCFLAGS}-Obinary$<@split-b14336u-boot.binbl2@+make-Csdfuse_q/@#cpu-boot.binu-boot-4212.bin@#cpu-boot.binu-boot-4412.bin@rm注意是tab键缩进的,否则makefile编译报错makedistclean拷贝编译$$cpbuild.shu-boot-$ u-boot-2013.01/$注方式完成自动添,编译生成所需文件u-烧写新的u-复位,发现灯有点亮,说明我们的u-boot有运行2、实现串口输出修改lowlevel_init.S文 @useiRomstackin #if#if1/*forclosewatchdog/*PS-Holdhighcldrr1,orrr1,r1,#0x300strr1,[r0]r0,strr1,[r0]/* cldrr1,=0x00strr1,[r0]uart_asm_init: r1,[r0,ldrr0,ldrr1,ldrr2, r1,[r0,ldrr1,ldrr2, r1,[r0, 下blbl重新编译u-$$烧写新的u-复位会看到串三、网卡移植1、添加网络初始化代码$ structexynos4_gpio_part2*gpio2;#ifdef#ifdef#defineEXYNOS4412_SROMC_BASE#define#define#define#define#define#defineDM9000_Tacp #defineDM9000_PMC structexynos_sromcunsignedintbw;unsignedintbc[6];s5p_config_sromc()-selecttheproperSROMCBankandconfigurebandwidthcontrolandbankcontrol - -SMCBandwitdhregconfiguration -SMCBankControlregconfiguration{unsignedintstructexynos_sromc*srom=(struct/*ConfigureSMC_BWregistertohandleproperSROMCbank*/tmp=srom->bw;tmp&=~(0xF<<(srom_bank*4));tmp|=srom_bw_conf;srom->bw=/*ConfigureSMC_BCregister}staticvoid{unsignedintunsignedcharsmc_bank_num=1;unsignedint unsignedint /*gpioconfiguration , + , +/*16Bitbuswidth , + + , + + , + +smc_bw_conf&=smc_bw_conf|=(1<<7)|(1<<6)|(1<<5)|(1<<4);smc_bc_conf=((DM9000_Tacs<<28)|(DM9000_Tcos<<|(DM9000_Tacc<<|(DM9000_Tcoh<<|(DM9000_Tah<<||}gd->bd->bi_boot_paramsPHYS_SDRAM_10x100UL);#ifdef#ifdef在文件末尾添{intrc=#ifdefrc=return}2 修改配置文件添加网络相关配$$ 修 为#def#def 修 为#def 在文件末 /* 前面添#ifdefCONFIG_CMD_NET#define #define #define #defineDM9000_DATA #defineCONFIG_DM9000_USE_16BIT#define #define#define#define#define#define3重新编译u-$ 烧写新的u-# # 20 四、FLASH1 $vim修改板级文 在 后面添在#ifdef 后面添u32u32 /*clocksourceforemmc#defineREGMY(x)(*((volatileu32#defineCLK_SRC_FSYS REGMY(EXYNOS4_CLOCK_BASE+#defineCLK_DIV_FSYS3 REGMY(EXYNOS4_CLOCK_BASE+int{u32tmp;u32i;/*MMC4clocksrc=SCLKMPLLtmp=CLK_SRC_FSYS&CLK_SRC_FSYS=tmp| /*MMC4clockdivtmp=CLK_DIV_FSYS3&~(0x0000ff0f);clock=get_pll_clk(MPLL)/ for(i=0;i<=0xf;i++) if(sclk_mmc4<=160){CLK_DIV_FSYS3=tmp|}}sclk_mmc4 MMC4EMMCGPIO* GPK0[3:6] );//SD_4_CLK/SD_4_CMDpull-downwri );//cdnsettobewri );//cdnpull-down );//cdnoutput0toshutdowntheemmcwri(readl(0x );//cdnsettobeoutputwri );//cdnoutputwri , wri(0x00003FF0, wri(0x00002AAA, #ifdef , (0x00003FC0, #ifdefUSE_MMC4}{inti,err=emmc_init();return}在末尾添#ifdef#ifdef {structmmc*mmc;intboot_dev=0;intcmp_off=0x10; mmc=if(mmc=={printf("ThereisnoeMMCcard,BootingdeviceisSDcard\n");boot_dev=1;return}t=0x10;mand(run_cmd,sprintf(run_cmd,"mmc0%lx%lx%lx",CFG_PHY_KERNEL_BAS mand(run_cmd,0);/*switchmmctonormalparitition*/sprintf(run_cmd,"emmcclose0");mand(run_cmd,return}{intboot_dev=0;boot_dev=chk_bootdev();{}return}2$$ $ $ $$ 在COBJS-$(CONFIG_CMD_MMC)COBJS-$(CONFIG_CMD_MMC)+=COBJS-$(CONFIG_CMD_MMC)COBJS-$(CONFIG_CMD_MMC)+=COBJS-$(CONFIG_CMD_MOVINAND)+=添加驱$$ $ $ $ $ 添COBJS-$(CONFIG_S5P_MSHC)COBJS-$(CONFIG_S5P_MSHC)+=3、添加EMMC相关配置 添#define#define1/*EVT1#ifdef#ifdefCONFIG_SDMMC_CH2#undefDEBUG_S3C_HSMMC#defineUSE_MMC2#ifdef#define#define#define1#define/*#defineCONFIG_EMMC_8Bit*//*#defineemmcdbg(fmt,args...)printf(fmt,##args)*///foremmcdebug#defineemmcdbg(fmt,args...)#endif/*endCONFIG_EVT1*/#define#define#defineCONFIG_SYS_SDRAM_BASE+#define#define#define#define4u-$ 烧写新的u-#实验四内核的配置和编译【实验目的】了解内核的编译过程及配置选项的内【实验环境】主机:ubuntu12.04目标机:FS4412平交叉编译工具:arm-none-linux-gnueabi-【实验步骤】linux-3.14.tar.xz拷贝到/home/linux下并解$$ linux-$ linux-修改内核顶 下的$$vim?=为?=PILE?=arm-none-linux-导入默认配$$ $$ SystemSystem (2)S3CUARTtouseforlow-level$$ 通过上述操作我们能够在arch/arm/boot 如果编译过程中提示缺少mkimage工具需将第二天编译的uboot源码中 $$ u-boot- 修改设备树文生成设备树文件,以参考板origen的设备数文件为$$arch/arm/boot/dts/exynos4412-arch/arm/boot/dts/exynos4412-添加新文件需修改Makefile才能编$vim在exynos4412-origen.dtbexynos4412-origen.dtb下添加如下内exynos4412-fs4412.dtbexynos4412-fs4412.dtb编译设备树文$$make拷贝内核和设备树文件到 $$ $ arch/arm/boot/dts/exynos4412- 修改uboot启动参重启板子在系统倒计时是按任意键结束启动,输入如下内容修改uboot环境变量#setenvipaddr33#setenvbootcmdtftp– #注意:20Ubuntu实验五网卡驱动的移植【实验目的】网卡是嵌入式产品最常用的设备,这里我们需要完成网卡驱动的移植。FS4412使用的是DM9000网卡,我们通过这个实验能够了解如何在内核中添加网卡驱动及网络功能的基本配置。$”表示是在主机上执行,“#”表示【实验环境】主机:ubuntu12.04目标机:FS4412平交叉编译工具:arm-none-linux-gnueabi-【实验步骤】设备树文件修改$ arch/arm/boot/dts/exynos4412- 添加如下内容{compatible="simple-bus";#address-cells=<1>;#size-cells=reg={compatible=reg=0x2interrupt-parent=interruptsinterrupts=<6mac-address=[000a2da655修改文件staticboolstaticboolstaticstaticboolclk_ignore_unused=配置内核[*]Networkingsupport Networkingoptions <*>Packet<*>[*]TCP/IP IP:kernellevelautoconfigurationDeviceDrivers [*]Networkdevice Ethernetdriversupport Filesystems [*]NetworkFileSystems NFSclientNFSclientsupportforNFSversionNFSclientsupportfortheNFSv3ACLprotocol Rootfilesystemon 编译内核和设备$$make$make拷贝内核和设备树文件到 $$ $ arch/arm/boot/dts/exynos4412- 启动开发板,修改内核启动参数,通过NFS方式挂载根文件系实验六LED【实验目的】驱动程序的编应用程序如何打开/操作设【实验环境】主机:ubuntu12.04目标机:FS4412平交叉编译工具:arm-none-linux-gnueabi-【实验步骤】添加驱动文将实验Led_test/fs4412_led_drv.c拷贝drivers/char tristate"FS4412 onARCH_EXYNOS4 tristate"FS4412 onARCH_EXYNOS4 在文件最后添加如下obj-$(CONFIG_FS4412_LED)+= 将s5pv210_led_app.c拷贝到Linux任 下并交叉编译测试程$$arm-none-linux-gnueabi- 编译LED驱动到内核中配置内核时按“空格”选择,配置完成后保存退$$DeviceDrivers Characterdevices <*> 保存退出,重新编译后把uImage拷贝到tftpboot$$ $ 重新启动开发板,加载内核并运行。在终端下执行下面操创建设备节## 运试程序并观察现##编译LED驱动为模块配置内核时按“空格”选择,配置完成后保存退$$DeviceDrivers Characterdevices <M> 保存退出,重新编译后把zImage拷贝到tftpboot下,把驱动模块拷贝到/source/rootfs$$ $ $ drivers/char/fs4412_led_drv 重新启动开发板 运行起来后在终端下操创建设备节# 加载LED驱动# fs4412_led_drv 运试程序并观察现# 实验 SD卡驱动移【实验目的】SD卡是嵌入式系统最常用的外部扩展设备,这里介绍SD驱动移植的过程【实验环境】主机:ubuntu12.04目标机:FS4412平交叉编译工具:arm-none-linux-gnueabi-【实验步骤】修改设备树文$ arch/arm/boot/dts/exynos4412- 修{bus-widthpinctrl-0=<&sd2_clk&sd2_cmd&sd2_bus4&sd2_cd>;pinctrl-names="default";status=为{bus-widthpinctrl-0=<&sd2_clk&sd2_cmd&sd2_bus4>;cd-gpios=<&gpx070>; /*vmmc-supply/*vmmc-supply=<&mmc_reg>;*/status="okay";$$Device <*>MMC/SD/SDIOcard SecureDigitalHostControllerInterface SDHCIsupportonSamsungS3CSoCFilesystems DOS/FAT/NT <*>MSDOSfs(437)DefaultcodepageforFAT(iso8859-1)DefaultiocharsetforFAT-*-Nativelanguage Codepage437(UnitedStates, SimplifiedChinesecharset(CP936, ASCII(United NLSISO8859- NLSUTF-编译内核和设备$$make$make拷贝内核和设备树文件到 $$ $ arch/arm/boot/dts/exynos4412- 启动开发板会有如下内容显示[[1.620000]mmc0:newhighspeedSDHCcardataddress[1.625000]mmcblk1:mmc0:cd6dSE08G7.28[ mmcblk1p1(mmcblk1为设备名p1为分区名挂载,注意不要挂在EMMC的分## -tvfat/dev/mmcblk1p1查看 即可看到sd卡中内实验 USB驱动的移【实验目的】 接口是现在计算机系统中最通用的一种接口,【实验环境】主机:ubuntu12.04目标机:FS4412平交叉编译工具:arm-none-linux-gnueabi-【实验步骤】修改设备树文$ arch/arm/boot/dts/exynos4412- 添加如下内容usbphy:usbphy:{#address-cells=<1>;#size-cells=<1>;reg=<0x125B00000x100>;clocks=<&clock2>,<&clockclock-names="xusbxti",usbphy-sysreg=0x8c{status=usbphy=usb3503@08reg=<0x080x4>;connect-gpios=<&gpm33intn-gpios=<&gpx23reset-gpios=<&gpm24initial-mode=Device [*]USB EHCIHCD(USB2.0)EHCIsupportforSamsungS5P/EXYNOSSoCUSBMassStorage USB3503HSICtoUSB20USBPhysicalLayer <*>SamsungUSB2.0PHYcontrollerDriverSCSIdevicesupport <*>SCSIdevice<*><*>SCSIdisk<*>SCSIgeneric编译内核和设备$$make$make拷贝内核和设备树文件到 $$ $ arch/arm/boot/dts/exynos4412- 72.695000]usb1-3.2:USB 72.695000]usb1-3.2:USBdisconnect,devicenumber 74.435000]usb1-3.2:newhigh-speedUSBdevicenumber4usingexynos-ehci 74.555000]usb-storage1-3.2:1.0:USBMassStoragedevicedetected 74.560000]scsi1:usb-storage1- 75.645000]scsi1:0:0:0:Direct-KingstonDataTraveler160PMAP0ANSI: 75.660000]sd1:0:0:0:Attachedscsigenericsg0type 76.695000]sd1:0:0:0:-bytelogicalblocks:(7.96GB/7.41 76.700000]sd1:0:0:0:[sda]WriteProtectis 76.705000]sd1:0:0:0:[sda]NoCachingmodepage 76.710000]sd1:0:0:0:[sda]Assumingdrivecache:writethrough 76.725000]sd1:0:0:0:[sda]NoCachingmodepagefound 76.730000]sd1:0:0:0:sdaAssumingdrivecachewritethrough sda:sda1(sda是设备名sda1是分区名) 76.770000]sd1:0:0:0:[sda]NoCachingmodepage 76.770000]sd1:0:0:0:[sda]Assumingdrivecache:writethrough 76.780000]sd1:0:0:0:[sda]AttachedSCSIremovabledisk# - #在终端上# - #可以查看到U盘内容,即完成实验实验九内存调试【实验目的】段错误和内存错误是C语言编程经常遇到的问题,使用emwach是由johanlindh编写,是一个开发源代码C语言内存错误检测工具。能检测双重释放,错误释放,没有释放内存,溢出等等情况。【实验环境】2FS44123arm-none-linux-gnueabi-【实验步骤】1、解压memwatch.-2.7.1.tar.gz,在解开 下添加代码#include<stdlib.h>#include<stdio.h>#include#include<stdlib.h>#include<stdio.h>#include"memwatch.h"intmain(intargc,char{char*ptr1;charptr1=malloc(512);ptr2=malloc(512);ptr1[512]='A';return0;}2MakefileMakefile文件为: ==========================MEMWATCH2.71Copyright(C)1992-StartedatThu 100:08:33Modes: mwROUNDALLOC==4sizeof(mwData)==32overflow:<3>memtest.c(12),512bytesalloc'dat<1>double-free:<4>memtest.c(13),0x1a1b4wasfreedfromStoppedatThu 100:08:33unfreed:<2>test.c(9),512bytesatFEFEFEFEFE {FEFEFEFEFEFEFEFEFEMemoryusagestatisticsN)umberofallocationsmade:L)argestmemory:T)otalofallalloc()calls:U)nfreedbytes:512bytesalloc'dat<1>//overflow:<3>memtest.c(12)缓冲区溢出,当程序执512bytesalloc'dat<1>double-free:<4>memtest.c(13),0x1a7f4wasfreedfromdouble-free:<4>memtest.c(13),0x1a7f4wasfreedfrom0x1a7f4wasfreedfrom StoppedatWedDecStoppedatWedDec3119:00:38unfreed:<2>test.c(9),512bytesat{FEFEFEFEFEFEFEMemoryusagestatisticsN)umberofallocationsmade:L)argestmemoryMemoryusagestatisticsN)umberofallocationsmade:L)argestmemory:U)nfreedbytes:U)nfreedbytes://表示未释放的内实验十内核调试【实验目的】【实验环境】2FS44123arm-none-linux-gnueabi-【实验步骤】 int =int =3、编译内核到开发板上,内核出现如类似下信息UnableUnabletohandlekernelNULLpointerdereferenceatvirtualpgd=[]Internalerror:Oops:805[#1]PREEMPTSMPARMModuleslinkedin:CPU:1PID:1Comm:swapper/0Nottainted3.14.0#11task:ee8a0000ti:ee8a4000task.ti:ee8a4000PCisatLRisatpc:lr:sp: ipfpr10:r9r8:r7r6:r5: r4r3:r2r1: r0:Flags:nZCv IRQson FIQsoff ModeSVC_32 ISAARM Control:10c5387d Processswapper/0(pid:1,stacklimit=0xee8a4240)Stack:(0xee8a5e48to0xee8a6000) ee975cf0 c0561afcee150438 ee97c810c0591e98ee97c810 c0591e98c0561afcc052a4fc c0247f7cc0247f64c05d931cc0591e98c ee97c810c0591e985ea0:ee97c844 c054332cc c0591e98c 5ec0:ee805478ee9771c0c0591e98eeb73a00c c0245e28c04c3128c0591e98 c0591e98 c054e2acc059f280c0246e1c c00087b4ee903b00 c0571c00 c0505bc8ef7fc918 5f40:c04ca680c c054e2c8c054e2cc5f60:c054e2acc059f280 c052a4fc 5f80:c052a4fcc003e0dc 5fc0:0000000000000000 >](driver_probe_device)from[<c >](driver_attach+0x8c/0x90) >](driver_attach)from[<c0244fbc>](bus_for_each_dev+0x58/0x88)[<c0244fbc>](bus_for_each_dev)from[<c0245e28>](bus_add_driver+0xd8/0x1cc)[<c0245e28>](bus_add_driver)from[<c0246e1c>](driver_register+0x78/0xf4)[<c0246e1c>][<c0246e1c>](driver_register)from[<c00087b4>][<c00087b4>](do_one_initcall)from[<c052ac4c>](kernel_init_freeable+0xfc/0x1c8)[<c052ac4c>](kernel_init_freeable)from[<c03b46f4>](kernel_init+0x8/0xe4)错误分析1UnabletohandlekernelNULLpointerdereferenceatvirtual说明是空指针造成的2、寄存器信息主要是PC的PCisat 和pc: 错误定位 文件vmlinux.dis非常大打开需要一定另外法是通过addr2line去定$arm-none-linux-gnueabi- - - 重要:该实验完成 实验十一文件系统的移植【实验目的】熟悉Linux文件系统 结构,创建自己的文件系统,通过NFS方式测试;用文件系统工具生成ramdisk文件系统映象文件。【实验环境】2FS44123arm-none-linux-gnueabi-【实验步骤】一、根文件系统制作1我们选择的版本是busybox-1.22.1.tar.bz2路径为net/downloads/$$ $$ busybox-4、配置源$$BusyboxSettings>BuildOptions>[*]BuildBusyBoxasastaticbinary(nosharedlibs)[]ForceNOMMUbuild[]BuildwithLargeFileSupport(foraccessingfiles>2GB)(arm-cortex_a8-linux-gnueabi-)CrossCompilerprefix5编$$6安busybox默认安装路径为源 下的$ 7、进入安 $$ $ 8、创建其他需$mkdir 9、添加库将工具链中的库拷贝到 $cp/home/linux/toolchain/gcc-4.6.4/arm-arm1176jzfssf-linux-gnueabi/lib/.- 删除静态库和共享库文件中的符号$$ $arm-none-linux-gnueabi- 删除不需要的库,确保所有库大小不超过$ - 10、添加系统启动文件在etc下添加文件inittab,文件内容如下#this#thisisrunfirstexceptwhenbootinginsingle-user#/bin/shinvocationsonselected#startan"askfirst" ontheconsole(whateverthatmay::askfirst:-#stufftodowhenrestartingtheinit#stufftodobefore mount- fsck00mount- fsck00000000持,而tmpfs是没有支持的,我们需要添加tmpfs的支持$Filesystems$Filesystems[*]Virtualmemoryfilesystemsupp
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年湖南省冷水江市高二生物下册期末考试检测卷附答案【黄金题型】
- 2025年山东省蓬莱市高二生物下册期末考试检测卷【夺冠】附答案
- 2026年海南省东方市高二生物下册期末考试检测卷【模拟题】附答案
- 2026年幼儿园食育课程酸奶水果捞
- 2026年山东省安丘市高二生物下册期末考试测试卷(基础题)附答案
- 2026年山东省胶州市高二生物下册期末考试检测卷【轻巧夺冠】附答案
- 2026年时钟滴滴答幼儿园教案和
- 2026年幼儿园新学期家长会完整版
- 2025年浙江省余姚市高二生物下册期末考试试卷含答案【满分必刷】
- 2025年云南省大理市高二生物下册期末考试检测卷附完整答案(网校专用)
- 医疗技术风险处置与损害处置预案
- 小学一年级英语下册 Unit 5 We Are Special!与众不同的我们 教学设计
- 《超高压隔膜氢气压缩机技术要求》
- 历年中考英语高频词汇汇编(真题800词版)
- 盘扣式落地式卸料平台专项施工方案(新版)
- DB41T3060-2025生活垃圾焚烧电厂智能化技术导则
- 2026年事业单位财务岗招聘考试题及答案
- DB31∕T 1682-2026 温室气体 产品碳足迹量化方法与要求 深加工玻璃
- 医院神经内科医疗安全质量考核细则
- 管道施工现场安全管理规范
- 企业管理 华为会议接待全流程手册SOP
评论
0/150
提交评论