本教程所使用的开发板是GEC210开发板,核心板资源概述:CPU:S5PV210,SDRAM:512MB,Flash:8MB,NandFlash:256MB。
PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由支持通过网络启动操作系统,再启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8/linux等。
这里使用一个tftpd的小软件,免安装版,启动后,在其所在的文件夹可以作为一个tftp服务器。
本文详细介绍了 SSH、NFS、TFTP服务器,从用途、安装步骤、测试三个方面进行了讲解。
之前一直是将ARM的Linux环境搭建在虚拟机中,然后在主机Windows中开启虚拟机来进行使用。而如今早已习惯Linux的使用,也已经完全适应在Linux下的日常使用了,所以本次打算将虚拟机中的嵌入式环境转移到主机Linux中,主机Linux使用的是Ubuntu 18.04,ARM CPU采用的是S5PV210。嵌入式开发环境搭建相对还是比较繁杂,故在此做个记录。
我们在《Linux系统基础》一书中介绍过Linux的开机启动顺序,当时并未做太深入的介绍。现在,我们先来解释一下启动过程中内核和系统主程序的启动。
本篇文章主要讲解嵌入式板卡中Linux系统是如何正确测试、使用的,其中内容包含有U-Boot编译、U-Boot命令和环境变量说明、Linux内核编译、xtra驱动编译、系统信息查询、程序开机自启动说明、NFS使用说明、TFTP使用说明、TFTP + NFS的系统启动测试说明、inux设备驱动说明等,其中案例源码部分公开。
如何快速掌握MarkDown 好久没有更新内容了,也好久没有给大家打个招呼了,小白想死你们了。 Markdown显然已经成为每个IT人的标配了。如果不会点儿Markdown,真的不好意思跟别人打招呼了。早在几年前,我是非常讨厌Markdown的,因为我一直在用Emacs的Org-mode,一个比Markdown要高端多得多的玩意,看不起那些使用Markdown的程序员,觉得他们简直low爆了。 Emacs的Org-mode是强大的,但没有很好的客户端工具,用来在不同的设备上同步我们的笔记。不过我们也可以把E
在这篇文章中,将会通过树莓派4的Linux的启动过程,描述如何进行嵌入式Linux系统开发的思路。通过树莓派4B的启动流程,看到一个Linux启动过程,同时,通过一步一步搭建一个完整的树莓派嵌入式Linux开发环境,来指导分析各部分的开发过程。
严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。
经过若干天的反复测试,搜索。终于成功利用 Qemu 在 u-boot 下引导 ARM Linux 4.7.3 内核。如下详细解释整个构建过程。
在后渗透测试阶段我们主要的目标就是上传工具,权限提升,擦除攻击痕迹,安装持久化后门
sftp-server命令是一个sftp协议的服务器端程序,它使用加密的方式进行文件传输。
博客地址 : http://blog.csdn.net/shulianghan/article/details/42254237
为了面对安装大量的相同的操作系统,我们需要掌握如何快速,并且自动的将新的虚拟机安装上对应的操作系统。
PXE(预启动执行环境,在操作系统之前运行)是由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
一、想实现开发板和PC ping通: (1)windows和linux桥接 (2)用路由器将开发板和PC连接起来 (3)将windows和linux以及开发板的IP设置成同一网段,注意不要和你同一个局域网的IP重复 (4)关闭linux的防火墙以及SELinux (5)关闭windows的防火墙 二、关于开发板用tftp下载内核文件 1.windows和VM的虚拟机之间用桥接, 2.开发板和路由器之间用网线连接,PC和路由器之间用网线连接。如果你的事无线路由器,PC和路由器之间可以用WiFi连接 3.关闭linux的防火墙和selinux 4,关闭windows的防火墙 5.正确启动linux的tftp服务器,并在指定的tftp共享目录存放指定的文件6.开发板,windows,linux三者的IP要在同一网段 PS:tftp服务器的目录一定要在根目录
Cobbler 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。网络安装服务器套件 Cobbler(补鞋匠)从前,我们一直在做装机民工这份很有前途的职业。自打若干年前 Red Hat 推出了 Kickstart,此后我们顿觉身价倍增。不再需要刻了光盘一台一台地安装 Linux,只要搞定 PXE、DHCP、TFTP,还有那满屏眼花缭乱不知所云的 Kickstart 脚本,我们就可以像哈里波特一样,轻点魔棒,瞬间安装上百台服务器。这一堆花里胡哨的东西可不是一般人都能整明白的,没有大专以上学历,通不过英语四级,根本别想玩转。总而言之,这是一份多么有前途,多么有技术含量的工作啊。很不幸,Red Hat 最新(Cobbler项目最初在2008年左右发布)发布了网络安装服务器套件 Cobbler(补鞋匠),它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。对于我们这些在装机领域浸淫多年,经验丰富,老骥伏枥,志在千里的民工兄弟们来说,不啻为一个晴天霹雳。
1.2 组件应用 Kickstart服务端IP:172.24.8.12 DHCP:提供客户端IP,网关,镜像路径等; TFTP:共享pxelinux.0、initrd.img、vmlinux、isolinux.cfg、boot.msg、vesamenu.c32、splash.png文件 NFS:共享ks.cfg、及所有光盘文件
TFTP:共享pxelinux.0、initrd.img、vmlinux、isolinux.cfg、boot.msg、vesamenu.c32、splash.png文件
这篇文章介绍如何使用DHCP+TFTP+Vsftpd+PXE+Kickstart搭建出可批量部署客户机的无人值守安装环境。
一、网络(PXE)装机概述 1.传统装机的局限性 1.1需要用到固定的光驱、U盘等物理介质 1.2如果批量安装多台计算机,都用到物理介质,显然不太现实。 2.PXE装机的优点 2.1规模化:可以
随着公司的发展壮大,运维人员的工作量也变得越来越大,大量重复的工作让我们不胜其烦,迫切需要一种一次工作,多次自动重复的方法,kickstart的出现为我们提供了很好的解决方法,大大降低了我们的工作量。
上篇文章,我们介绍了如何使用NXP原厂的uboot进行编译和烧写,将uboot运行在自己的开发板上。NXP原厂的uboot,直接烧录到我的开发板中,LCD的驱动是不正常的,需要进行修改。本篇我们就来继续研究uboot,「使得uboot能匹配我们自己的开发板」。
PXE(Preboot eXcution Environment,预启动执行环境,在操作系统之前运行)由 Intel 公司开发的网络引导技术,工作在 Client/Server 模式, 允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或者整个操作系统。
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
第一台DHCP Server,主要功能是pxe server和dhcp server给裸机安装操作系统。
移植内核:2.6.30.4 内核根目录下的.config为当前配置内核的且已经配置好的内核配置。make zImage以此为依据 配置内核的过程: cd linux-2.6.30.4(进入Linux根目录) cp arch/arm/configs/s3c2410_defconfig /linux-2.6.30.4(作为配置参考,考到根目录下) mv s3c2410_defconfig .config(改名为.config) make menuconfig ARCH=arm(ARCH=arm不能少) 配置过程 退出时记得选yes保存为.config(确保该配置是你已经配置且保存的配置,就算不改动也要保存。否则不能生成.config) make zImage ARCH=arm CROSS_COMPILE=arm-linux-(ARCH=arm不可少) 或者 Makefile中定于ARCH=arm CROSS_COMPILE=arm-linux- 1,make s3c2410_defconfig(生成.config) 2,make zImage 即可生成压缩内核印象 uboot引导内核,入口点必须为0x30008000 zImage:go 0x30008000 uImage:bootm 0x30008000 busybox下载地址: http://busybox.net/ linux快速修改文件夹及文件下所有文件与文件夹权限 chmod 777 * -R uboot的tftp下载出现如下错误: TFTP error: 'Permission denied' (0) 改正方法就是给待下载的文件加上可执行(chmod 777 文件)权限 uboot的使用:tftp下载内核,直接用交叉网线连接PC(实际上为虚拟机)和开发板即可 uboot启动之后,输入:printenv 查看 serverip是不是你的虚拟机的ip(终端ifconfig即可查看) ipaddr要和serverip在同一个网段,即ip的前三段必须相同 ethaddr:开发板dm9000的MAC物理地址 netmast:子网掩码:255.255.255.0 serverip,ipaddr,ethaddr,netmast不符合要求的话,可以使用命令设置:(示例) setenv serverip 169.254.209.223 setenv ipaddr 169.254.209.113 setenv netmast 255.255.255.0 setenv ethaddr 00:01:02:03:04:05 saveenv //设置完毕记得保存环境变量 uboot启动内核:uboot版本(2009.08) 条件:uboot的机器码和内核的机器码要一样 uboot部分修改: 机器码: #gedit board/samsung/my2440/my2440.c gd->bd->bi_arch_number = MACH_TYPE_SMDK2440 内核部分:内核版本(2.6.30.4) #gedit arch/arm/mach-s3c2440/mach-smdk2440.c MACHINE_START(SMDK2440, "SMDK2440") #gedit arch/arm/kernel/head.S //在ENTRY(stext)下添加如下代码 ENTRY(stext) mov r0, #0 mov r1, #0x3f0 //上面的MACH_TYPE值1008换成十六进制就是0x3f0 ldr r2, =0x30008000 内核中的nand分区一定要和bootloader中的一致: #gedit arch/arm/plat-s3c24xx/common-smdk.c offsize size uboot : 0x00000000 0x00030000 //192kb param : 0x00030000 0x00040000 //这个环境变量的地址范围配置的CONFIG_ENV_OFFSET一致 kernel: 0x00080000 0x00500000 //5mb root : 0x00580000 0x0c800000 //200mb #gedit uboot/include/cofings/mini2440.h 查看:MTDPART_DEFAULT = " " //默认分区 编译得到内核zImage uImage的制作: 先将u-boot下的tools中的mkimage复制到主机的/usr/local/bin目录下,执行以下命令: mkimage -n 'linux-2.
进入 uboot 的命令行模式以后输入“help”或者“?”,然后按下回车即可查看当前 uboot 所支持的命令,如下图所示:
在大规模的Linux应用环境中,比如Web群集、分布式计算等,服务器往往并不配备光驱设备,在这种情况下,如何给成百上千台服务器裸机快速安装系统呢?传统的USB光驱、移动硬盘等安装方式很显然已经力不从心了,那么就需要——PXE网络装机及无人值守安装。
tftp命令用于传输文件。ftp让用户得以下载存放于远端主机的文件,也能将文件上传到远端主机放置。
随着公司业务不断增加,经常需要采购新服务器,并要求安装Linux系统,并且要求Linux版本要一致,方便以后的维护和管理,每次人工安装linux系统会浪费掉更多时间,如果我们有办法能节省一次一次的时间岂不更好呢?
开发板:jz2440 主机linux:ubuntu 9.10(资料光盘那个) 内核:linux2.6.22.6 交叉编译器:arm-linux-gcc 3.4.5(也可以用毕业班4.3.2那个编译器,不过我没找对lib,失败了,先不深究) busybox:busybox-1.21.0.tar.bz2 本来想用韦老师视频用的busybox-1.17.0,后来发现不支持ftp和tftp, 只好放弃了
PXE是作为Intel的有线管理体系的一部分,Intel 和 Systemsoft于1999年9月20日公布其规格(版本2.1)。通过使用像网际协议(IP)、用户数据报协议(UDP)、动态主机设定协定(DHCP)、小型文件传输协议(TFTP)等几种网络协议和全局唯一标识符(GUID)、通用网络驱动接口(UNDI)、通用唯一识别码(UUID)的概念并通过对客户机(通过PXE自检的电脑)固件扩展预设的API来实现目的。 PXE 客户机(client)这个术语是指机器在PXE启动过程中的角色。一个PXE 客户机(client)可以是一台服务器、桌面级电脑、笔记本电脑或者其他装有PXE启动代码的机器。
以JZ2440开发板为例,烧录程序到S3C2440。可以使用dnw软件进行烧录。在windows下,一般dnw的驱动都装不好,一般需要禁止数字签名才能装好。所以我们可以把dnw装到linux下,在linux下烧录程序。
前言 在实际生产环境中,有时候我们会碰到为几十上百甚至上千台服务器安装Linux操作系统的需求,如果我们还是常规的去使用移动介质逐台安装,显然是一件 低效又令人抓狂的事情,那要安装到何年何月啊?这对于我们追求高逼格形象的技术人员来讲当然是不可以接受的,为此,pxe模式批量部署系统应运而生。 原理 我 们知道,当我们使用其它引导介质(例如硬盘、软盘、U盘、CD或者DVD)安装操作系统时,是加载其首个扇区中MBR(主引导目录)中的引导程序并利用其 查找各自介质中的必需数据来完成的。而pxe则是通过自
Dynamic Host Configuration Protocol (DHCP): DHCP is a standardized networking protocol used on Internet Protocol (IP) networks for dynamically distributing network configuration parameters, such as IP addresses for interfaces and services. Using PXE, the BIOS uses DHCP to obtain an IP address for the network interface and to locate the server that stores the network bootstrap program (NBP).
PXE 预启动执行环境是由Intel开发的技术,可以让计算机通过网络来启动操作系统(前提是计算机上安装的网卡支持PXE技术),主要用于在无人值守安装系统中引导客户端主机安装Linux操作系统.
(1)busybox是Linux上的一个应用程序(application),即只有一个ELF文件头。
关于PXE部署的详细配置的文章已经有不少了,这篇文章主要讲一下PXE启动的原理以及PXE启动和普通Linux启动的对比。
本文以Exadata X8 HC 1/4 rack为例,介绍整个Exadata刷机的步骤。 我理解刷机最关键的就两大步骤:第一步是所有机器刷OS,第二步是使用OEDA一键刷机。至于其它所有工作都是在为这两步做准备。本着对以后刷机可以快速参考,梳理细节步骤如下:
PXE远程服务器(192.168.1.10)所需准备: 安装源(系统盘文件); TFTP服务; DHCP服务; Linux内核; 能够向客户机裸机发送PXE引导程序; 启动菜单及无人应答文件; 客户端要具备: 客户端的网卡支持PXE协议,且主板支持网络引导(现在大多数都支持); 设置BIOS允许从Network或LAN启动; 配置 yum 仓库源,并安装 ftp 服务:
PXE 严格来说并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。 协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器 和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。 此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
在嵌入式开发中,涉及交叉编译:在 PC 上编译,在开发板上运行。所以就涉及 PC 和开发板之间的文件 传输,方法有多种:网络传输、串口传输、USB 传输,当然,还有最笨的方法:U 盘拷贝。
NXP官方linux仓库地址为:https://github.com/Freescale/linux-fslc/tree/5.4-2.1.x-imx。
Raspberry Pi 4具有一个SPI连接的EEPROM(4MBits / 512KB),其中包含用于启动系统的代码,并替换了先前在SD卡的启动分区中找到的bootcode.bin。请注意,如果Pi 4的SD卡的启动分区中存在bootcode.bin,则将其忽略。
大规模装机时,使用无人值守装机便可大大简便人工操作,提高效率。 ---- PXE 网络安装 配置双网卡 这里ens33为nat网络,ens37为仅主机网络,配置ens37 [root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens37 [root@localhost network-scripts]# vim ifcfg-ens37 TYP
领取专属 10元无门槛券
手把手带您无忧上云