linux head-common.s分析(转)

本文深入解析Linux内核启动过程中的关键步骤,包括MMU的启用、C代码的准备工作及内存映射切换等,并详细介绍了寄存器状态和关键数据结构的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

供head.S调用,其中__mmap_switched的b start_kernel跳转到C执行,且永不返回。

跳转到start_kernel时寄存器值:

R0 = cp#15 control register

R1 = machine id

R2 = atags/dtb pointer

R9 = processor ID

 

stext->__enable_mmu->__turn_mmu_on->ldr pc, __mmap_switched
->__mmap_switched(head-common.S)
->b start_kernel(init/main.c)

http://blog.chinaunix.net/uid-20451980-id-1945242.html

Linux kernel分析(二)
注:本文为Stephen Du原创,转载请注明

  这里开始讲解head-common.S的内容。另,我的讲解顺序是按照源码的顺序来进行的而不是按照函数调用的顺序进行,所以读者要注意函数的入口以及返回地址。

 这里定义了atag数据的存放地址

 14 #define ATAG_CORE 0x54410001

 15 #define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2)

 这个部分head.S里面开启MMU后执行。此处开始准备执行C代码做准备:主要是text段,初始化数据段的定位!起始kernel本身的段结构跟普通进程大致相同,这也是为什么它被成文宏内核的原因!
 __data_loc是kernel的text段的开始
 __bss_start是__data_loc的结束也是bss段的开始

 

  从上图看得出,kernel必须将text段跟初始化数据段准备好,对于未初始化数据段跟stack段,heap段都是不需要进行准备的!只需要设置stack指针以及heap起始地址就好!因此到了22行后未出现stack跟heap段的定义!

 

 17         .type   __switch_data, %object

 18 __switch_data:

 19         .long   __mmap_switched

 20         .long   __data_loc                      @ r4

 21         .long   __data_start                    @ r5

 22         .long   __bss_start                     @ r6

 23         .long   _end                            @ r7
 该内存位置存储了处理器的id,也就是r4寄存器的内容,以防后面的代码丢弃r4的内容

 24         .long   processor_id                    @ r4
 该内存位置存储了machine type的信息也是放置r5的内容被丢弃

 25         .long   __machine_arch_type             @ r5
 该内存存储了atag的地址指针,同理防止r6被丢弃了

 26         .long   __atags_pointer                 @ r6

 27         .long   cr_alignment                    @ r7
 这个内存位置放置了kernel的stack & heap的内存位置信息以后,只要将pc pointer指向这里就能执行C代码了!

 28         .long   init_thread_union + THREAD_START_SP @ sp

 29 

 

 此前的代码可能在NOR flash中以XIP方式运行(其实Nand flash也可以XIP,只是有点技术障碍),但是kernel的代码不能总在flash内运行,该函数会进行kernel段的搬移以及处理!

 39         .type   __mmap_switched, %function

 40 __mmap_switched:
 

 41         adr     r3, __switch_data + 4   // r3 point to __mmap_switched本处的注释错误!r3指向__data_loc!

 将代码段,初始化数据段以及未初始化的数据段地址分别加载进入r4~r7

 43         ldmia   r3!, {r4, r5, r6, r7}   // load the function's addr into r4~r7;r3 point to processor_id
 此处比较难以理解,r4=__data_loc是物理上段的存储位置(可能在flash中而不是在RAM中);r5=_data_start是数据在内存的地址,如果二者相等说明已经在RAM中不必做copy,如果不在RAM中则执行copy使之在内存中运行!

 44         cmp     r4, r5                  // Copy data segment if needed __data_start is the destination and __data_loc is the src!

 copy相关操作

 45 1:      cmpne   r5, r6                  // if __data_start and __data_loc is not the same start the transfer session

 46         ldrne   fp, [r4], #4

 47         strne   fp, [r5], #4

 48         bne     1b

 
 清空未初始化数据段,为执行C代码扫清障碍

 50         mov     fp, #0                          @ Clear BSS (and zero fp)

 51 1:      cmp     r6, r7

 52         strcc   fp, [r6],#4

 53         bcc     1b


 执行保存操作。此处最重要的是sp指针的加载!该语句后sp已经指向了kernel的stack上,执行C代码的条件就绪了(代码段ok,初始化数据段ok,未初始化数据段ok,stack ok)

 55         ldmia   r3, {r4, r5, r6, r7, sp}

 56         str     r9, [r4]                        @ Save processor ID

 57         str     r1, [r5]                        @ Save machine type

 58         str     r2, [r6]                        @ Save atags pointer

 59         bic     r4, r0, #CR_A                   @ Clear 'A' bit

 60         stmia   r7, {r0, r4}                    @ Save control register values

 61                                                 @Now we will enter the world of C code and the MMU is on now!

 62         b       entry_for_C_call

 63         //b     start_kernel                    @For ARM start_kernel is defined in the init/main.c we will never return from start_kernel at all

144 

145 /*

146  * Read processor ID register (CP#15, CR0), and look up in the linker-built

147  * supported processor list.  Note that we can't use the absolute addresses

148  * for the __proc_info lists since we aren't running with the MMU on

149  * (and therefore, we are not in the correct address space).  We have to

150  * calculate the offset.

151  *

152  *      r9 = cpuid

153  * Returns:

154  *      r3, r4, r6 corrupted

155  *      r5 = proc_info pointer in physical address space

156  *      r9 = cpuid (preserved)

157  */

158         .type   __lookup_processor_type, %function

159 __lookup_processor_type:

160         adr     r3, 3f

161         ldmda   r3, {r5 - r7}

162         sub     r3, r3, r7                      @ get offset between virt&phys

163         add     r5, r5, r3                      @ convert virt addresses to

164         add     r6, r6, r3                      @ physical address space

165 1:      ldmia   r5, {r3, r4}                    @ value, mask

166         and     r4, r4, r9                      @ mask wanted bits

167         teq     r3, r4

168         beq     2f

169         add     r5, r5, #PROC_INFO_SZ           @ sizeof(proc_info_list)

170         cmp     r5, r6

171         blo     1b

172         mov     r5, #0                          @ unknown processor

173 2:      mov     pc, lr

174 

175 /*

176  * This provides a C-API version of the above function.

177  */

178 ENTRY(lookup_processor_type)

179         stmfd   sp!, {r4 - r7, r9, lr}

180         mov     r9, r0

181         bl      __lookup_processor_type

182         mov     r0, r5

183         ldmfd   sp!, {r4 - r7, r9, pc}

184 

185 /*

186  * Look in and arch/arm/kernel/arch.[ch] for

187  * more information about the __proc_info and __arch_info structures.

188  */

189         .long   __proc_info_begin

190         .long   __proc_info_end

191 3:      .long   .

192         .long   __arch_info_begin

193         .long   __arch_info_end

194 

195 /*

196  * Lookup machine architecture in the linker-build list of architectures.

197  * Note that we can't use the absolute addresses for the __arch_info

198  * lists since we aren't running with the MMU on (and therefore, we are

199  * not in the correct address space).  We have to calculate the offset.

200  *

201  *  r1 = machine architecture number

202  * Returns:

203  *  r3, r4, r6 corrupted

204  *  r5 = mach_info pointer in physical address space

205  */

206         .type   __lookup_machine_type, %function

207 __lookup_machine_type:

208         adr     r3, 3b

209         ldmia   r3, {r4, r5, r6}

210         sub     r3, r3, r4                      @ get offset between virt&phys

211         add     r5, r5, r3                      @ convert virt addresses to

212         add     r6, r6, r3                      @ physical address space

213 1:      ldr     r3, [r5, #MACHINFO_TYPE]        @ get machine type

214         teq     r3, r1                          @ matches loader number?

215         beq     2f                              @ found

216         add     r5, r5, #SIZEOF_MACHINE_DESC    @ next machine_desc

217         cmp     r5, r6

218         blo     1b

219         mov     r5, #0                          @ unknown machine

220 2:      mov     pc, lr

221 

222 /*

223  * This provides a C-API version of the above function.

224  */

225 ENTRY(lookup_machine_type)

226         stmfd   sp!, {r4 - r6, lr}

227         mov     r1, r0

228         bl      __lookup_machine_type

229         mov     r0, r5

230         ldmfd   sp!, {r4 - r6, pc}

231 

232 /* Determine validity of the r2 atags pointer.  The heuristic requires

233  * that the pointer be aligned, in the first 16k of physical RAM and

234  * that the ATAG_CORE marker is first and present.  Future revisions

235  * of this function may be more lenient with the physical address and

236  * may also be able to move the ATAGS block if necessary.

237  *

238  * r8  = machinfo

239  *

240  * Returns:

241  *  r2 either valid atags pointer, or zero

242  *  r5, r6 corrupted

243  */

244 

245         .type   __vet_atags, %function

246 __vet_atags:

247         tst     r2, #0x3                        @ aligned?

248         bne     1f

249 

250         ldr     r5, [r2, #0]                    @ is first tag ATAG_CORE?

251         subs    r5, r5, #ATAG_CORE_SIZE

252         bne     1f

253         ldr     r5, [r2, #4]

254         ldr     r6, =ATAG_CORE

255         cmp     r5, r6

256         bne     1f

257 

258         mov     pc, lr                          @ atag pointer is ok

259 

260 1:      mov     r2, #0

261         mov     pc, lr

 

转载于:https://www.cnblogs.com/embedded-linux/p/5861053.html

[root@node3 ~]# docker build -t centos-openjdk:1.0 . Sending build context to Docker daemon 218.7MB Step 1/10 : FROM centos:7 —> eeb6ee3f44bd Step 2/10 : MAINTAINER ljy<17354425003@163.com —> Using cache —> 85ad4a293894 Step 3/10 : ENV MYPATH /usr/local —> Using cache —> c23361382ec7 Step 4/10 : WORKDIR $MYPATH —> Using cache —> 2abf3bdd31a9 Step 5/10 : RUN rm -rf /etc/yum.repos.d/* && curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo && sed -i -e ‘/mirrors.cloud.aliyuncs.com/d’ -e ‘/mirrors.aliyuncs.com/d’ /etc/yum.repos.d/CentOS-Base.repo && yum clean all && yum makecache —> Running in 503aba41d245 % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2523 100 2523 0 0 3313 0 --:–:-- --:–:-- --:–:-- 3311 Loaded plugins: fastestmirror, ovl Cleaning repos: base extras updates Loaded plugins: fastestmirror, ovl Determining fastest mirrors Metadata Cache Created Removing intermediate container 503aba41d245 —> b47e5c1b9529 Step 6/10 : RUN yum -y install vim net-tools glibc.i686 java-1.8.0-openjdk-devel —> Running in 41acb49268ea Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile Resolving Dependencies –> Running transaction check —> Package glibc.i686 0:2.17-326.el7_9.3 will be installed –> Processing Dependency: glibc-common = 2.17-326.el7_9.3 for package: glibc-2.17-326.el7_9.3.i686 –> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.17-326.el7_9.3.i686 –> Processing Dependency: libfreebl3.so for package: glibc-2.17-326.el7_9.3.i686 —> Package java-1.8.0-openjdk-devel.x86_64 1:1.8.0.412.b08-1.el7_9 will be installed –> Processing Dependency: java-1.8.0-openjdk(x86-64) = 1:1.8.0.412.b08-1.el7_9 for package: 1:java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libjvm.so()(64bit) for package: 1:java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libjava.so()(64bit) for package: 1:java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libX11.so.6()(64bit) for package: 1:java-1.8.0-openjdk-devel-1.8.0.412.b08-1.el7_9.x86_64 —> Package net-tools.x86_64 0:2.0-0.25.20131004git.el7 will be installed —> Package vim-enhanced.x86_64 2:7.4.629-8.el7_9 will be installed –> Processing Dependency: vim-common = 2:7.4.629-8.el7_9 for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64 –> Processing Dependency: which for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64 –> Processing Dependency: perl(:MODULE_COMPAT_5.16.3) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64 –> Processing Dependency: libperl.so()(64bit) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64 –> Processing Dependency: libgpm.so.2()(64bit) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64 –> Running transaction check —> Package glibc-common.x86_64 0:2.17-317.el7 will be updated –> Processing Dependency: glibc-common = 2.17-317.el7 for package: glibc-2.17-317.el7.x86_64 —> Package glibc-common.x86_64 0:2.17-326.el7_9.3 will be an update —> Package gpm-libs.x86_64 0:1.20.7-6.el7 will be installed —> Package java-1.8.0-openjdk.x86_64 1:1.8.0.412.b08-1.el7_9 will be installed –> Processing Dependency: xorg-x11-fonts-Type1 for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libpng15.so.15(PNG15_0)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libjpeg.so.62(LIBJPEG_6.2)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libasound.so.2(ALSA_0.9.0rc4)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libasound.so.2(ALSA_0.9)(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libXcomposite(x86-64) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: gtk2(x86-64) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: fontconfig(x86-64) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libpng15.so.15()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libjpeg.so.62()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libgif.so.4()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libasound.so.2()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libXtst.so.6()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libXrender.so.1()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libXi.so.6()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libXext.so.6()(64bit) for package: 1:java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64 —> Package java-1.8.0-openjdk-headless.x86_64 1:1.8.0.412.b08-1.el7_9 will be installed –> Processing Dependency: tzdata-java >= 2023d for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: copy-jdk-configs >= 3.3 for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: pcsc-lite-libs(x86-64) for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: lksctp-tools(x86-64) for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: jpackage-utils for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: cups-libs(x86-64) for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 –> Processing Dependency: libfreetype.so.6()(64bit) for package: 1:java-1.8.0-openjdk-headless-1.8.0.412.b08-1.el7_9.x86_64 —> Package libX11.x86_64 0:1.6.7-5.el7_9 will be installed –> Processing Dependency: libX11-common >= 1.6.7-5.el7_9 for package: libX11-1.6.7-5.el7_9.x86_64 –> Processing Dependency: libxcb.so.1()(64bit) for package: libX11-1.6.7-5.el7_9.x86_64 —> Package nss-softokn-freebl.x86_64 0:3.53.1-6.el7_9 will be updated —> Package nss-softokn-freebl.i686 0:3.90.0-6.el7_9 will be installed –> Processing Dependency: nss-util >= 3.90.0-1 for package: nss-softokn-freebl-3.90.0-6.el7_9.i686 –> Processing Dependency: nspr >= 4.35.0 for package: nss-softokn-freebl-3.90.0-6.el7_9.i686 —> Package nss-softokn-freebl.x86_64 0:3.90.0-6.el7_9 will be an update —> Package perl.x86_64 4:5.16.3-299.el7_9 will be installed –> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl-macros for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(threads) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(constant) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Getopt::Long) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(File::Temp) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(File::Spec::Unix) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(File::Spec::Functions) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(File::Spec) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(File::Path) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Exporter) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Cwd) for package: 4:perl-5.16.3-299.el7_9.x86_64 –> Processing Dependency: perl(Carp) for package: 4:perl-5.16.3-299.el7_9.x86_64 —> Package perl-libs.x86_64 4:5.16.3-299.el7_9 will be installed —> Package vim-common.x86_64 2:7.4.629-8.el7_9 will be installed –> Processing Dependency: vim-filesystem for package: 2:vim-common-7.4.629-8.el7_9.x86_64 —> Package which.x86_64 0:2.20-7.el7 will be installed –> Running transaction check —> Package alsa-lib.x86_64 0:1.1.8-1.el7 will be installed —> Package copy-jdk-configs.noarch 0:3.3-11.el7_9 will be installed —> Package cups-libs.x86_64 1:1.6.3-52.el7_9 will be installed –> Processing Dependency: libavahi-common.so.3()(64bit) for package: 1:cups-libs-1.6.3-52.el7_9.x86_64 –> Processing Dependency: libavahi-client.so.3()(64bit) for package: 1:cups-libs-1.6.3-52.el7_9.x86_64 —> Package fontconfig.x86_64 0:2.13.0-4.3.el7 will be installed –> Processing Dependency: fontpackages-filesystem for package: fontconfig-2.13.0-4.3.el7.x86_64 –> Processing Dependency: dejavu-sans-fonts for package: fontconfig-2.13.0-4.3.el7.x86_64 —> Package freetype.x86_64 0:2.8-14.el7_9.1 will be installed —> Package giflib.x86_64 0:4.1.6-9.el7 will be installed –> Processing Dependency: libSM.so.6()(64bit) for package: giflib-4.1.6-9.el7.x86_64 –> Processing Dependency: libICE.so.6()(64bit) for package: giflib-4.1.6-9.el7.x86_64 —> Package glibc.x86_64 0:2.17-317.el7 will be updated —> Package glibc.x86_64 0:2.17-326.el7_9.3 will be an update —> Package gtk2.x86_64 0:2.24.31-1.el7 will be installed –> Processing Dependency: pango >= 1.20.0-1 for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libtiff >= 3.6.1 for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libXrandr >= 1.2.99.4-2 for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: atk >= 1.29.4-2 for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: hicolor-icon-theme for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: gtk-update-icon-cache for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libpangoft2-1.0.so.0()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libpangocairo-1.0.so.0()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libpango-1.0.so.0()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libgdk_pixbuf-2.0.so.0()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libcairo.so.2()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libatk-1.0.so.0()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libXrandr.so.2()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libXinerama.so.1()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libXfixes.so.3()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libXdamage.so.1()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 –> Processing Dependency: libXcursor.so.1()(64bit) for package: gtk2-2.24.31-1.el7.x86_64 —> Package javapackages-tools.noarch 0:3.4.1-11.el7 will be installed –> Processing Dependency: python-javapackages = 3.4.1-11.el7 for package: javapackages-tools-3.4.1-11.el7.noarch –> Processing Dependency: libxslt for package: javapackages-tools-3.4.1-11.el7.noarch —> Package libX11-common.noarch 0:1.6.7-5.el7_9 will be installed —> Package libXcomposite.x86_64 0:0.4.4-4.1.el7 will be installed —> Package libXext.x86_64 0:1.3.3-3.el7 will be installed —> Package libXi.x86_64 0:1.7.9-1.el7 will be installed —> Package libXrender.x86_64 0:0.9.10-1.el7 will be installed —> Package libXtst.x86_64 0:1.2.3-1.el7 will be installed —> Package libjpeg-turbo.x86_64 0:1.2.90-8.el7 will be installed —> Package libpng.x86_64 2:1.5.13-8.el7 will be installed —> Package libxcb.x86_64 0:1.13-1.el7 will be installed –> Processing Dependency: libXau.so.6()(64bit) for package: libxcb-1.13-1.el7.x86_64 —> Package lksctp-tools.x86_64 0:1.0.17-2.el7 will be installed —> Package nspr.x86_64 0:4.25.0-2.el7_9 will be updated —> Package nspr.x86_64 0:4.35.0-1.el7_9 will be an update —> Package nss-util.x86_64 0:3.53.1-1.el7_9 will be updated —> Package nss-util.x86_64 0:3.90.0-1.el7_9 will be an update —> Package pcsc-lite-libs.x86_64 0:1.8.8-8.el7 will be installed —> Package perl-Carp.noarch 0:1.26-244.el7 will be installed —> Package perl-Exporter.noarch 0:5.68-3.el7 will be installed —> Package perl-File-Path.noarch 0:2.09-2.el7 will be installed —> Package perl-File-Temp.noarch 0:0.23.01-3.el7 will be installed —> Package perl-Filter.x86_64 0:1.49-3.el7 will be installed —> Package perl-Getopt-Long.noarch 0:2.40-3.el7 will be installed –> Processing Dependency: perl(Pod::Usage) >= 1.14 for package: perl-Getopt-Long-2.40-3.el7.noarch –> Processing Dependency: perl(Text::ParseWords) for package: perl-Getopt-Long-2.40-3.el7.noarch —> Package perl-PathTools.x86_64 0:3.40-5.el7 will be installed —> Package perl-Pod-Simple.noarch 1:3.28-4.el7 will be installed –> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.28-4.el7.noarch –> Processing Dependency: perl(Encode) for package: 1:perl-Pod-Simple-3.28-4.el7.noarch —> Package perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 will be installed —> Package perl-Socket.x86_64 0:2.010-5.el7 will be installed —> Package perl-Storable.x86_64 0:2.45-3.el7 will be installed —> Package perl-Time-HiRes.x86_64 4:1.9725-3.el7 will be installed —> Package perl-Time-Local.noarch 0:1.2300-2.el7 will be installed —> Package perl-constant.noarch 0:1.27-2.el7 will be installed —> Package perl-macros.x86_64 4:5.16.3-299.el7_9 will be installed —> Package perl-threads.x86_64 0:1.87-4.el7 will be installed —> Package perl-threads-shared.x86_64 0:1.43-6.el7 will be installed —> Package tzdata-java.noarch 0:2024a-1.el7 will be installed —> Package vim-filesystem.x86_64 2:7.4.629-8.el7_9 will be installed —> Package xorg-x11-fonts-Type1.noarch 0:7.5-9.el7 will be installed –> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch –> Processing Dependency: ttmkfdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch –> Processing Dependency: mkfontdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch –> Processing Dependency: mkfontdir for package: xorg-x11-fonts-Type1-7.5-9.el7.noarch –> Running transaction check —> Package atk.x86_64 0:2.28.1-2.el7 will be installed —> Package avahi-libs.x86_64 0:0.6.31-20.el7 will be installed —> Package cairo.x86_64 0:1.15.12-4.el7 will be installed –> Processing Dependency: libpixman-1.so.0()(64bit) for package: cairo-1.15.12-4.el7.x86_64 –> Processing Dependency: libGL.so.1()(64bit) for package: cairo-1.15.12-4.el7.x86_64 –> Processing Dependency: libEGL.so.1()(64bit) for package: cairo-1.15.12-4.el7.x86_64 —> Package dejavu-sans-fonts.noarch 0:2.33-6.el7 will be installed –> Processing Dependency: dejavu-fonts-common = 2.33-6.el7 for package: dejavu-sans-fonts-2.33-6.el7.noarch —> Package fontpackages-filesystem.noarch 0:1.44-8.el7 will be installed —> Package gdk-pixbuf2.x86_64 0:2.36.12-3.el7 will be installed –> Processing Dependency: libjasper.so.1()(64bit) for package: gdk-pixbuf2-2.36.12-3.el7.x86_64 —> Package gtk-update-icon-cache.x86_64 0:3.22.30-8.el7_9 will be installed —> Package hicolor-icon-theme.noarch 0:0.12-7.el7 will be installed —> Package libICE.x86_64 0:1.0.9-9.el7 will be installed —> Package libSM.x86_64 0:1.2.2-2.el7 will be installed —> Package libXau.x86_64 0:1.0.8-2.1.el7 will be installed —> Package libXcursor.x86_64 0:1.1.15-1.el7 will be installed —> Package libXdamage.x86_64 0:1.1.4-4.1.el7 will be installed —> Package libXfixes.x86_64 0:5.0.3-1.el7 will be installed —> Package libXinerama.x86_64 0:1.1.3-2.1.el7 will be installed —> Package libXrandr.x86_64 0:1.5.1-2.el7 will be installed —> Package libtiff.x86_64 0:4.0.3-35.el7 will be installed –> Processing Dependency: libjbig.so.2.0()(64bit) for package: libtiff-4.0.3-35.el7.x86_64 —> Package libxslt.x86_64 0:1.1.28-6.el7 will be installed —> Package pango.x86_64 0:1.42.4-4.el7_7 will be installed –> Processing Dependency: libthai(x86-64) >= 0.1.9 for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: libXft(x86-64) >= 2.0.0 for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: harfbuzz(x86-64) >= 1.4.2 for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: fribidi(x86-64) >= 1.0 for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: libthai.so.0(LIBTHAI_0.1)(64bit) for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: libthai.so.0()(64bit) for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: libharfbuzz.so.0()(64bit) for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: libfribidi.so.0()(64bit) for package: pango-1.42.4-4.el7_7.x86_64 –> Processing Dependency: libXft.so.2()(64bit) for package: pango-1.42.4-4.el7_7.x86_64 —> Package perl-Encode.x86_64 0:2.51-7.el7 will be installed —> Package perl-Pod-Escapes.noarch 1:1.04-299.el7_9 will be installed —> Package perl-Pod-Usage.noarch 0:1.63-3.el7 will be installed –> Processing Dependency: perl(Pod::Text) >= 3.15 for package: perl-Pod-Usage-1.63-3.el7.noarch –> Processing Dependency: perl-Pod-Perldoc for package: perl-Pod-Usage-1.63-3.el7.noarch —> Package perl-Text-ParseWords.noarch 0:3.29-4.el7 will be installed —> Package python-javapackages.noarch 0:3.4.1-11.el7 will be installed –> Processing Dependency: python-lxml for package: python-javapackages-3.4.1-11.el7.noarch —> Package ttmkfdir.x86_64 0:3.0.9-42.el7 will be installed —> Package xorg-x11-font-utils.x86_64 1:7.5-21.el7 will be installed –> Processing Dependency: libfontenc.so.1()(64bit) for package: 1:xorg-x11-font-utils-7.5-21.el7.x86_64 –> Running transaction check —> Package dejavu-fonts-common.noarch 0:2.33-6.el7 will be installed —> Package fribidi.x86_64 0:1.0.2-1.el7_7.1 will be installed —> Package harfbuzz.x86_64 0:1.7.5-2.el7 will be installed –> Processing Dependency: libgraphite2.so.3()(64bit) for package: harfbuzz-1.7.5-2.el7.x86_64 —> Package jasper-libs.x86_64 0:1.900.1-33.el7 will be installed —> Package jbigkit-libs.x86_64 0:2.0-11.el7 will be installed —> Package libXft.x86_64 0:2.3.2-2.el7 will be installed —> Package libfontenc.x86_64 0:1.1.3-3.el7 will be installed —> Package libglvnd-egl.x86_64 1:1.0.1-0.8.git5baa1e5.el7 will be installed –> Processing Dependency: libglvnd(x86-64) = 1:1.0.1-0.8.git5baa1e5.el7 for package: 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64 –> Processing Dependency: mesa-libEGL(x86-64) >= 13.0.4-1 for package: 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64 –> Processing Dependency: libGLdispatch.so.0()(64bit) for package: 1:libglvnd-egl-1.0.1-0.8.git5baa1e5.el7.x86_64 —> Package libglvnd-glx.x86_64 1:1.0.1-0.8.git5baa1e5.el7 will be installed –> Processing Dependency: mesa-libGL(x86-64) >= 13.0.4-1 for package: 1:libglvnd-glx-1.0.1-0.8.git5baa1e5.el7.x86_64 —> Package libthai.x86_64 0:0.1.14-9.el7 will be installed —> Package perl-Pod-Perldoc.noarch 0:3.20-4.el7 will be installed –> Processing Dependency: perl(parent) for package: perl-Pod-Perldoc-3.20-4.el7.noarch –> Processing Dependency: perl(HTTP::Tiny) for package: perl-Pod-Perldoc-3.20-4.el7.noarch –> Processing Dependency: groff-base for package: perl-Pod-Perldoc-3.20-4.el7.noarch —> Package perl-podlators.noarch 0:2.5.1-3.el7 will be installed —> Package pixman.x86_64 0:0.34.0-1.el7 will be installed —> Package python-lxml.x86_64 0:3.2.1-4.el7 will be installed –> Running transaction check —> Package graphite2.x86_64 0:1.3.10-1.el7_3 will be installed —> Package groff-base.x86_64 0:1.22.2-8.el7 will be installed —> Package libglvnd.x86_64 1:1.0.1-0.8.git5baa1e5.el7 will be installed —> Package mesa-libEGL.x86_64 0:18.3.4-12.el7_9 will be installed –> Processing Dependency: mesa-libgbm = 18.3.4-12.el7_9 for package: mesa-libEGL-18.3.4-12.el7_9.x86_64 –> Processing Dependency: libxshmfence.so.1()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64 –> Processing Dependency: libwayland-server.so.0()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64 –> Processing Dependency: libwayland-client.so.0()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64 –> Processing Dependency: libglapi.so.0()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64 –> Processing Dependency: libgbm.so.1()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64 –> Processing Dependency: libdrm.so.2()(64bit) for package: mesa-libEGL-18.3.4-12.el7_9.x86_64 —> Package mesa-libGL.x86_64 0:18.3.4-12.el7_9 will be installed –> Processing Dependency: libXxf86vm.so.1()(64bit) for package: mesa-libGL-18.3.4-12.el7_9.x86_64 —> Package perl-HTTP-Tiny.noarch 0:0.033-3.el7 will be installed —> Package perl-parent.noarch 1:0.225-244.el7 will be installed –> Running transaction check —> Package libXxf86vm.x86_64 0:1.1.4-1.el7 will be installed —> Package libdrm.x86_64 0:2.4.97-2.el7 will be installed –> Processing Dependency: libpciaccess.so.0()(64bit) for package: libdrm-2.4.97-2.el7.x86_64 —> Package libwayland-client.x86_64 0:1.15.0-1.el7 will be installed —> Package libwayland-server.x86_64 0:1.15.0-1.el7 will be installed —> Package libxshmfence.x86_64 0:1.2-1.el7 will be installed —> Package mesa-libgbm.x86_64 0:18.3.4-12.el7_9 will be installed —> Package mesa-libglapi.x86_64 0:18.3.4-12.el7_9 will be installed –> Running transaction check —> Package libpciaccess.x86_64 0:0.14-1.el7 will be installed –> Processing Dependency: hwdata for package: libpciaccess-0.14-1.el7.x86_64 –> Running transaction check —> Package hwdata.x86_64 0:0.252-9.7.el7 will be installed –> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size Installing: glibc i686 2.17-326.el7_9.3 updates 4.3 M java-1.8.0-openjdk-devel x86_64 1:1.8.0.412.b08-1.el7_9 updates 9.9 M net-tools x86_64 2.0-0.25.20131004git.el7 base 306 k vim-enhanced x86_64 2:7.4.629-8.el7_9 updates 1.1 M Installing for dependencies: alsa-lib x86_64 1.1.8-1.el7 base 425 k atk x86_64 2.28.1-2.el7 base 263 k avahi-libs x86_64 0.6.31-20.el7 base 62 k cairo x86_64 1.15.12-4.el7 base 741 k copy-jdk-configs noarch 3.3-11.el7_9 updates 22 k cups-libs x86_64 1:1.6.3-52.el7_9 updates 359 k dejavu-fonts-common noarch 2.33-6.el7 base 64 k dejavu-sans-fonts noarch 2.33-6.el7 base 1.4 M fontconfig x86_64 2.13.0-4.3.el7 base 254 k fontpackages-filesystem noarch 1.44-8.el7 base 9.9 k freetype x86_64 2.8-14.el7_9.1 updates 380 k fribidi x86_64 1.0.2-1.el7_7.1 base 79 k gdk-pixbuf2 x86_64 2.36.12-3.el7 base 570 k giflib x86_64 4.1.6-9.el7 base 40 k gpm-libs x86_64 1.20.7-6.el7 base 32 k graphite2 x86_64 1.3.10-1.el7_3 base 115 k groff-base x86_64 1.22.2-8.el7 base 942 k gtk-update-icon-cache x86_64 3.22.30-8.el7_9 updates 27 k gtk2 x86_64 2.24.31-1.el7 base 3.4 M harfbuzz x86_64 1.7.5-2.el7 base 267 k hicolor-icon-theme noarch 0.12-7.el7 base 42 k hwdata x86_64 0.252-9.7.el7 base 2.5 M jasper-libs x86_64 1.900.1-33.el7 base 150 k java-1.8.0-openjdk x86_64 1:1.8.0.412.b08-1.el7_9 updates 325 k java-1.8.0-openjdk-headless x86_64 1:1.8.0.412.b08-1.el7_9 updates 33 M javapackages-tools noarch 3.4.1-11.el7 base 73 k jbigkit-libs x86_64 2.0-11.el7 base 46 k libICE x86_64 1.0.9-9.el7 base 66 k libSM x86_64 1.2.2-2.el7 base 39 k libX11 x86_64 1.6.7-5.el7_9 updates 607 k libX11-common noarch 1.6.7-5.el7_9 updates 165 k libXau x86_64 1.0.8-2.1.el7 base 29 k libXcomposite x86_64 0.4.4-4.1.el7 base 22 k libXcursor x86_64 1.1.15-1.el7 base 30 k libXdamage x86_64 1.1.4-4.1.el7 base 20 k libXext x86_64 1.3.3-3.el7 base 39 k libXfixes x86_64 5.0.3-1.el7 base 18 k libXft x86_64 2.3.2-2.el7 base 58 k libXi x86_64 1.7.9-1.el7 base 40 k libXinerama x86_64 1.1.3-2.1.el7 base 14 k libXrandr x86_64 1.5.1-2.el7 base 27 k libXrender x86_64 0.9.10-1.el7 base 26 k libXtst x86_64 1.2.3-1.el7 base 20 k libXxf86vm x86_64 1.1.4-1.el7 base 18 k libdrm x86_64 2.4.97-2.el7 base 151 k libfontenc x86_64 1.1.3-3.el7 base 31 k libglvnd x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 89 k libglvnd-egl x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 44 k libglvnd-glx x86_64 1:1.0.1-0.8.git5baa1e5.el7 base 125 k libjpeg-turbo x86_64 1.2.90-8.el7 base 135 k libpciaccess x86_64 0.14-1.el7 base 26 k libpng x86_64 2:1.5.13-8.el7 base 213 k libthai x86_64 0.1.14-9.el7 base 187 k libtiff x86_64 4.0.3-35.el7 base 172 k libwayland-client x86_64 1.15.0-1.el7 base 33 k libwayland-server x86_64 1.15.0-1.el7 base 39 k libxcb x86_64 1.13-1.el7 base 214 k libxshmfence x86_64 1.2-1.el7 base 7.2 k libxslt x86_64 1.1.28-6.el7 base 242 k lksctp-tools x86_64 1.0.17-2.el7 base 88 k mesa-libEGL x86_64 18.3.4-12.el7_9 updates 110 k mesa-libGL x86_64 18.3.4-12.el7_9 updates 166 k mesa-libgbm x86_64 18.3.4-12.el7_9 updates 39 k mesa-libglapi x86_64 18.3.4-12.el7_9 updates 46 k nss-softokn-freebl i686 3.90.0-6.el7_9 updates 327 k pango x86_64 1.42.4-4.el7_7 base 280 k pcsc-lite-libs x86_64 1.8.8-8.el7 base 34 k perl x86_64 4:5.16.3-299.el7_9 updates 8.0 M perl-Carp noarch 1.26-244.el7 base 19 k perl-Encode x86_64 2.51-7.el7 base 1.5 M perl-Exporter noarch 5.68-3.el7 base 28 k perl-File-Path noarch 2.09-2.el7 base 26 k perl-File-Temp noarch 0.23.01-3.el7 base 56 k perl-Filter x86_64 1.49-3.el7 base 76 k perl-Getopt-Long noarch 2.40-3.el7 base 56 k perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k perl-PathTools x86_64 3.40-5.el7 base 82 k perl-Pod-Escapes noarch 1:1.04-299.el7_9 updates 52 k perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k perl-Pod-Usage noarch 1.63-3.el7 base 27 k perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k perl-Socket x86_64 2.010-5.el7 base 49 k perl-Storable x86_64 2.45-3.el7 base 77 k perl-Text-ParseWords noarch 3.29-4.el7 base 14 k perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k perl-Time-Local noarch 1.2300-2.el7 base 24 k perl-constant noarch 1.27-2.el7 base 19 k perl-libs x86_64 4:5.16.3-299.el7_9 updates 690 k perl-macros x86_64 4:5.16.3-299.el7_9 updates 44 k perl-parent noarch 1:0.225-244.el7 base 12 k perl-podlators noarch 2.5.1-3.el7 base 112 k perl-threads x86_64 1.87-4.el7 base 49 k perl-threads-shared x86_64 1.43-6.el7 base 39 k pixman x86_64 0.34.0-1.el7 base 248 k python-javapackages noarch 3.4.1-11.el7 base 31 k python-lxml x86_64 3.2.1-4.el7 base 758 k ttmkfdir x86_64 3.0.9-42.el7 base 48 k tzdata-java noarch 2024a-1.el7 updates 187 k vim-common x86_64 2:7.4.629-8.el7_9 updates 5.9 M vim-filesystem x86_64 2:7.4.629-8.el7_9 updates 11 k which x86_64 2.20-7.el7 base 41 k xorg-x11-font-utils x86_64 1:7.5-21.el7 base 104 k xorg-x11-fonts-Type1 noarch 7.5-9.el7 base 521 k Updating for dependencies: glibc x86_64 2.17-326.el7_9.3 updates 3.6 M glibc-common x86_64 2.17-326.el7_9.3 updates 12 M nspr x86_64 4.35.0-1.el7_9 updates 128 k nss-softokn-freebl x86_64 3.90.0-6.el7_9 updates 321 k nss-util x86_64 3.90.0-1.el7_9 updates 80 k Transaction Summary Install 4 Packages (+104 Dependent packages) Upgrade ( 5 Dependent packages) Total download size: 100 M Downloading packages: Delta RPMs disabled because /usr/bin/applydeltarpm not installed. warning: /var/cache/yum/x86_64/7/base/packages/alsa-lib-1.1.8-1.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Public key for alsa-lib-1.1.8-1.el7.x86_64.rpm is not installed Public key for cups-libs-1.6.3-52.el7_9.x86_64.rpm is not installed http://mirrors.aliyun.com/centos/7/updates/x86_64/Packages/copy-jdk-configs-3.3-11.el7_9.noarch.rpm: [Errno 14] curl#6 - “Could not resolve host: mirrors.aliyun.com; Unknown error” Trying other mirror. http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/gtk2-2.24.31-1.el7.x86_64.rpm: [Errno 14] curl#6 - “Could not resolve host: mirrors.aliyun.com; Unknown error” Trying other mirror. http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/javapackages-tools-3.4.1-11.el7.noarch.rpm: [Errno 14] curl#6 - “Could not resolve host: mirrors.aliyun.com; Unknown error” Trying other mirror. Error downloading packages: gtk2-2.24.31-1.el7.x86_64: [Errno 256] No more mirrors to try. javapackages-tools-3.4.1-11.el7.noarch: [Errno 256] No more mirrors to try. copy-jdk-configs-3.3-11.el7_9.noarch: [Errno 256] No more mirrors to try. The command ‘/bin/sh -c yum -y install vim net-tools glibc.i686 java-1.8.0-openjdk-devel’ returned a non-zero code: 1还是没解决
最新发布
08-09
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值