KAL1 LINUX 官方文档之kali开发---自定义 Beaglebone Black 镜像
以下文档描述了我们自己的创建自定义Kali Linux Beaglebone Black ARM映像的方法,并且针对开发人员。如果您想安装预制的Kali映像,请查看我们在Beaglebone Black上安装Kali的文章。
您需要具有root用户特权才能执行此过程,或者需要具有使用命令“ sudo su”升级特权的功能。
01.创建一个Kali rootfs
使用armhf架构,按照我们的Kali文档中的描述构建Kali rootfs。在此过程结束时,你应该在 ~/arm-stuff/rootfs/kali-armhf 中有一个填充的 rootfs 目录。
02.创建图像文件
接下来,我们创建物理映像文件,该文件将保存我们的Beaglebone Black rootfs和启动映像。
apt install -y kpartx xz-utils sharutils
cd ~/
mkdir -p arm-stuff/images/
cd arm-stuff/images/
dd if=/dev/zero of=kali-custom-bbb.img bs=4M count=7000
03.分区并挂载映像文件
parted --script kali-custom-bbb.img mklabel msdos
fdisk kali-custom-bbb.img << __EOF__
n
p
1
+64M
t
e
p
w
__EOF__
parted --script kali-custom-bbb.img set 1 boot on
fdisk kali-custom-bbb.img << __EOF__
n
p
2
w
__EOF__
loopdevice=`losetup -f --show kali-custom-bbb.img`
device=`kpartx -va $loopdevice| sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1`
device="/dev/mapper/${device}"
bootp=${device}p1
rootp=${device}p2
mkfs.vfat -F 16 $bootp -n boot
mkfs.ext4 $rootp -L kaliroot
mkdir -p boot
mkdir -p root
mount $bootp boot
mount $rootp root
04.复制和修改Kali rootfs
rsync -HPavz /root/arm-stuff/rootfs/kali-armhf/ root
echo nameserver 8.8.8.8 > root/etc/resolv.conf
05.编译Beaglebone Black内核和模块
如果您不使用ARM硬件作为开发环境,则需要设置一个ARM交叉编译环境来构建ARM内核和模块。完成后,请按照以下说明进行操作。
cd ~/arm-stuff/
wget https://launchpad.net/linaro-toolchain-binaries/trunk/2013.03/+download/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
tar -xjf gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux.tar.bz2
export CC=`pwd`/gcc-linaro-arm-linux-gnueabihf-4.7-2013.03-20130313_linux/bin/arm-linux-gnueabihf-
git clone git://git.denx.de/u-boot.git
cd u-boot/
git checkout v2013.04 -b beaglebone-black
wget https://raw.github.com/eewiki/u-boot-patches/master/v2013.04/0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
patch -p1 < 0001-am335x_evm-uEnv.txt-bootz-n-fixes.patch
make ARCH=arm CROSS_COMPILE=${CC} distclean
make ARCH=arm CROSS_COMPILE=${CC} am335x_evm_config
make ARCH=arm CROSS_COMPILE=${CC}
cd ../
mkdir -p kernel/
cd kernel/
git clone git://github.com/RobertCNelson/linux-dev.git
cd linux-dev/
git checkout origin/am33x-v3.8 -b tmp
./build_kernel.sh
mkdir -p ../patches/
wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch -O ../patches/mac80211.patch
cd KERNEL/
patch -p1 --no-backup-if-mismatch < ../../patches/mac80211.patch
cd ../
./tools/rebuild.sh
cd ../
cat <<EOF > boot/uEnv.txt
mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc
uenvcmd=run loaduimage; run loadfdt; run mmcargs; bootz 0x80200000 - 0x80F80000
EOF
cp -v kernel/linux-dev/deploy/3.8.13-bone20.zImage boot/zImage
mkdir -p boot/dtbs
tar -xovf kernel/linux-dev/deploy/3.8.13-bone20-dtbs.tar.gz -C boot/dtbs/
tar -xovf kernel/linux-dev/deploy/3.8.13-bone20-modules.tar.gz -C root/
tar -xovf kernel/linux-dev/deploy/3.8.13-bone20-firmware.tar.gz -C root/lib/firmware/
cat <<EOF > root/etc/fstab
/dev/mmcblk0p2 / auto errors=remount-ro 0 1
/dev/mmcblk0p1 /boot/uboot auto defaults 0 0
EOF
umount $rootp
kpartx -dv $loopdevice
losetup -d $loopdevice
使用dd命令将此文件镜像到SD卡。在我们的示例中,我们假设存储设备位于/dev/sdb。根据需要更改它。
dd if=kali-custom-bbb.img of=/dev/sdb bs=4M
dd操作完成后,卸载并弹出SD卡,然后将Beaglebone Black引导到Kali Linux中。引导时,您需要按住“ BOOT”按钮,它是离microSD卡最近的一个按钮。
更新日期:2020年2月22日
作者: steev
KAL1 LINUX 官方文档之kali开发---自定义 Beaglebone Black 镜像的更多相关文章
- 【pytest官方文档】解读- 开发可pip安装的第三方插件
在上一篇的 hooks 函数分享中,开发了一个本地插件示例,其实已经算是在编写插件了.今天继续跟着官方文档学习更多知识点. 一个插件包含一个或多个钩子函数,pytest 正是通过调用各种钩子组成的插件 ...
- 【pytest官方文档】解读- 如何自定义mark标记,并将测试用例的数据传递给fixture函数
在之前的分享中,我们知道可以使用yield或者return关键字把fixture函数里的值传递给test函数. 这种方法很实用,比如我在fixture函数里向数据库里插入必要的测试数据,那我就可以把相 ...
- 官方文档 | 【JVM调优体系】「GC底层调优实战」XPocket为终结性能问题而生—开发指南
XPocket 用户文档 XPocket 是PerfMa为终结性能问题而生的开源的插件容器,它是性能领域的乐高,将定位或者解决各种性能问题的常见的Linux命令,JDK工具,知名性能工具等适配成各种X ...
- iOS开发官方文档汇总
程序员的学习过程是无止境的,程序员学习的途径是多样的.可以从视频教程中领悟,也可以从他人的代码中 理解.但当我们专注于某一个平台在开发的时候,对于某个API使用或者功能实现有疑问,通常简单的测试可以让 ...
- citus 多租户应用开发(来自官方文档)
citus 官方文档很不错,资料很全,同时包含一个多租户应用的文档,所以运行下,方便学习 环境准备 使用docker-compose 运行,同时集成了graphql 引擎,很方便 docker-c ...
- 从LFS官方文档构建完整Linux系统
从LFS官方文档构建完整Linux系统 http://www.cnblogs.com/sonofdark/p/4962609.html 这不是新手教程!!! Parallels Desktop (为防 ...
- 《SpringCloudDubbo开发日记》(一)Nacos连官方文档都没写好
背景 现在的微服务框架一般分dubbo和springcloud两套服务治理体系,dubbo是基于zookeeper为注册中心,springcloud是基于eureka作为注册中心. 但是现在eurek ...
- Kotlin开发语言文档(官方文档)-- 目录
开始阅读Kotlin官方文档.先上文档目录.有些内容还未阅读,有些目录标目翻译还需琢磨琢磨.后续再将具体内容的链接逐步加上. 文档链接:https://kotlinlang.org/docs/kotl ...
- Protocol Buffers官方文档(开发指南)
本文是对官方文档的翻译,然后截取了一篇非常优秀的文章片段来帮助理解,本人英文水平有限,基本都是直译,如果有不理解的地方请参考英文官方文档,参考的文章链接在文章末尾 protocol buffers简介 ...
- 2DToolkit官方文档中文版打地鼠教程(二):设置摄像机
这是2DToolkit官方文档中 Whack a Mole 打地鼠教程的译文,为了减少文中过多重复操作的翻译,以及一些无必要的句子,这里我假设你有Unity的基础知识(例如了解如何新建Sprite等) ...
随机推荐
- 进阶篇:3.2.1)DFM钣金-冲压件设计
本章目的:设计符合钣金制造工艺的零件,不再犯简单错误,不必再为反复修改模具而烦恼. 1.基础阅读 进阶篇:2)DFMA的介绍 进阶篇:2.3)DFMA的运用方法(个人方法) 2.钣金冲压(Stampi ...
- CDN推荐 DogeCloud
https://www.dogecloud.com/ 新用户的话有免费的存储空间和流量,对于一个小项目来说,完全够用 顺便推荐下文章 https://mp.weixin.qq.com/s?__biz= ...
- UGUI优化方案之 SetActive 和 CanvasGroup
UGUI的开关方案一种是使用SetActive进行的 但是这种方案其实有一个弊端,我们来测试下 每帧进行1000次的SetActive 的true和false 这是我们的UI,上面挂了一些 按钮 图片 ...
- 亚马逊Q Developer:用自然语言构建机器学习模型
数据科学AI助手:SageMaker Canvas中的Amazon Q Developer 开发基于AI的预测模型通常需要数据科学专业知识.机器学习算法经验以及对业务场景的理解.完整的数据科学应用开发 ...
- Django模型关系:从一对多到多对多全解析
一.一对多关系: ForeignKey 一对多是最常见的模型关系,例如 "作者 - 书籍" 场景:假设一个作者可以写多本书,但每本书只能属于一个作者. 定义关系 核心参数说明: o ...
- restframework-jwt执行流程(签发流程、认证)、双token认证、过期时间
restframework-jwt执行流程 from rest_framwork_jwt.views import obtain_jwt_token, refresh_jwt_token, verit ...
- GitHub 访问速度慢的一种优化方法
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持Git 作为唯一的版本库格式进行托管,故名GitHub. 由于GitHub是一个国外网站,在国内访问速度如何呢? 我们通过浏览器访问下ht ...
- Azkaban 任务调度(三)
单一 job 任务调度 创建 job 描述文件 [root@node-01 jobs]# vim first.job #first.job type=command command=echo 'thi ...
- virtio 学习随笔 —— 一、virtio基础
一.virtio基础 参考文章: Virtio: An I/O virtualization framework for Linux virtio: Towards a De-Facto Standa ...
- 精选 4 款基于 C# 开源、实用的工具类库,开发效率提升利器!
前言 在我们日常工作开发中工具类库是软件开发中不可或缺的一部分,它们通过提供通用功能.实现代码复用.封装复杂逻辑.提升代码质量与可维护性,帮助开发者更高效.更稳定地构建软件应用程序. 今天大姚给大家分 ...