首页 > 其他分享 >busybox一键编译生成arm版本文件系统

busybox一键编译生成arm版本文件系统

时间:2024-07-22 15:27:10浏览次数:16  
标签:bin busybox cp 一键 dev rcS init echo arm

#!/bin/sh

 

#update images for x86_64

#git clone https://github.com/torvalds/linux.git --depth=1 --verbose

#cd linux   #-------

#make defconfig

#cp arch/x86/configs/x86_64_defconfig .config

#modify some config option

#make -j8 bzImage

#cd ..      #-------

 

#enable env

#source ~/Documents/tools/env_setup.sh

#source ~/Documents/tools/env_setup.sh

export PATH=$PATH:/home/dev/Documents/dev/buildroot/output/host/bin/

export ARCH=arm

export CROSS_COMPILE=arm-imx6ull-linux-gnueabihf-



 

#create filesystem from busybox src

rm -rf  initramfs  busybox

rm -f initramfs.cpio.gz

git clone https://git.busybox.net/busybox.git --verbose --depth=1

 

cd busybox   #-------

make defconfig

sleep 5

#rm -rf _install

#cp .config.old .config

 

#sed '43d' .config

#sed '864,865d' .config

sed -i '43i CONFIG_STATIC=y' .config

sed -i '864i # CONFIG_FEATURE_ETC_NETWORKS is not set' .config

sed -i '865i # CONFIG_FEATURE_ETC_SERVICES is not set' .config

 

make -j24

make  && make install

ls  _install -al

cd ..        #-------

 

#create rcS file

echo "#!/bin/sh" >> rcS

echo "echo -e "=============================="" >> rcS

echo "echo -e "      ===       Welcome to		==="" >> rcS

echo "echo -e "      ===       My mini			==="" >> rcS

echo "echo -e "      ===       Linux			==="" >> rcS

echo " uname -a" >> rcS

echo "echo -e "=============================="" >> rcS

echo " " >> rcS

echo " " >> rcS

echo " " >> rcS

echo "PATH=/sbin:/bin:/usr/sbin:/usr/bin" >> rcS

echo " " >> rcS

echo "LD_LIBRARY_PATH=\$LD_LIBRARY_PATH/lib:/usr/lib" >> rcS

echo " " >> rcS

echo "export PATH LD_LIBRARY_PATH runlevel" >> rcS

echo " " >> rcS

echo " " >> rcS

echo " " >> rcS

echo "mount -a" >> rcS

echo " " >> rcS

echo "mkdir /dev/pts" >> rcS

echo " " >> rcS

echo "mount -t devpts devpts /dev/pts" >> rcS

echo " " >> rcS

echo " " >> rcS

echo " " >> rcS

#echo "echo /sbin/mdev >/proc/sys/kernel/hotplug" >> rcS

echo " " >> rcS

echo "mdev -s" >> rcS

 

#end create rcS

chmod 777 rcS

 

 

 

#create inittab

echo "::sysinit:/etc/init.d/rcS" >> inittab

echo "::respawn:~/bin/sh" >> inittab

echo "::askfirst:~/bin/sh" >>inittab

echo "::ctrlaltdel:/bin/umount -a -r" >> inittab

 

chmod 755 inittab

 

#create fstab

echo "proc        /proc           proc         defaults        0        0" >> fstab

echo "tmpfs       /tmp            tmpfs      defaults        0        0"  >> fstab

echo "sysfs       /sys            sysfs        defaults        0        0"  >> fstab

 

chmod 755 fstab

 

 

 

 

echo 'current path: $pwd'

mkdir initramfs

cd initramfs

pwd

cp ../busybox/_install/* -rf ./

mkdir dev sys tmp mnt

mkdir -p home/miniuser

mkdir -p proc/sys/kernel/hotplug

mkdir -p etc/init.d/

ls -la

pwd

 

#echo "dev" | sudo -S -a /dev/{null,console,tty,tty1,tty2,tty3,tty4} dev/

#echo "dev" | sudo -S cp -a /dev/{null,console,tty,tty1,tty2,tty3,tty4} dev/

echo "dev" | sudo -S cp -a /dev/null dev/

echo "dev" | sudo -S cp -a /dev/console dev/

echo "dev" | sudo -S cp -a /dev/tty dev/

echo "dev" | sudo -S cp -a /dev/tty1 dev/

echo "dev" | sudo -S cp -a /dev/tty2 dev/

echo "dev" | sudo -S cp -a /dev/tty3 dev/

echo "dev" | sudo -S cp -a /dev/tty4 dev/

ls -al dev/

rm -f linuxrc

 

#create init file

echo "#!/bin/busybox sh" >> init

echo "echo \"{==DBG==} INIT SCRIPT\"" >> init

echo "mount -t proc none /proc" >> init

echo "mount -t sysfs none /sys" >> init

echo " " >> init

echo " " >> init

echo "echo -e \"{==DBG==} Boot took \$(cut -d' ' -f1 /proc/uptime) seconds\"" >> init

echo "exec /sbin/init" >> init

chmod a+x init

 

 

 

 

 

 

mv ../rcS ./etc/init.d/

mv ../inittab ./etc/

mv ../fstab ./etc/

echo "user" >>./etc/hostname

 

echo "127.0.0.1	localhost" >>./etc/hosts

echo "127.0.1.1	user" >>./etc/hosts

 

 

#cp ../init ./

ls -la

 

ls -la

find . -print0 |cpio --null -ov --format=newc |gzip -9 > ../initramfs.cpio.gz

ls -l

cd ..

 

#rm -rf initramfs/

标签:bin,busybox,cp,一键,dev,rcS,init,echo,arm
From: https://blog.csdn.net/nh5431313/article/details/140611140

相关文章

  • 从 PyCharm IDE 运行测试时未找到 Pytest 夹具
    我的项目中的pytest装置遇到问题。我有一个根conftest.py文件,其中包含一些通用固定装置和用于特定测试的隔离conftest.py文件。文件夹结构如下:product-testing/├──conftest.py#Rootconftest.py├──tests/│└──grpc_tests/│......
  • Python自动化:一键提取千万个Excel指定数据
    一、传统方法的局限性打开每个Excel文件,逐个查找需要的数据。筛选出老板需要的数据列。复制并粘贴到新的工作表中。保存并关闭每个文件。这个过程不仅耗时,而且容易出错。每一次的筛选都可能遗漏数据,每一次的复制粘贴都可能引入错误。二、Python自动化的解决方案i......
  • PyCharm远程部署带屏幕影响串口
    我有一个Flaskapp.py,我正在本地计算机上开发。Flask应用程序使用连接到远程计算机的串行接口(pyserial)。我设置PyCharm以在远程计算机上进行远程部署机器。当我远程(从本地机器)部署和运行应用程序时,我想在独立的screen中启动它,以便我可以在需......
  • 【大模型教程】用大模型做数据分析,可视化,仅需一键
    最近在外面冲浪看到@eviljer分享了DeepSeekCoder一步到位做数据分析的玩法。我复刻后试了一下,确实很爽只需要塞进去excel,告诉它分析哪些指标,自动生成代码,自动执行,输出可视化图表。原文使用DeepSeek官方API,我冲了1元钱,跑一次只需要花费1分钱如果一分钱都不......
  • mysql-connector不会导入到pycharm中的脚本中
    我已经使用pip成功安装了mysql-connector。Installingcollectedpackages:mysql-connectorRunningsetup.pyinstallformysql-connector...doneSuccessfullyinstalledmysql-connector-2.1.6但是,在PyCharm中,当我有一个使用以下行的脚本时:importmysql-conn......
  • React+TypeScript 组件库开发全攻略:集成Storybook可视化与Jest测试,一键发布至npm
    平时我除了业务需求,偶尔会投入到UI组件的开发中,大多数时候只会负责自己业务场景相关或者一小部分公共组件,极少有从创建项目、集成可视化、测试到发布的整个过程的操作,这篇文章就是记录组件开发全流程,UI组件在此仅作为调试用,重点在于集成项目环境。组件我们使用React+TypeScri......
  • Ubuntu(arm)部署k8s(kubernetes)集群
    前言:    k8s集群是目前高端运维需要掌握的必备技能之一,工作中你可以不用k8s,但是简历你不能没有k8s;面试造火箭,工作打螺丝;话不多说,直接上操作,这里就不过多阐述k8s的原理和作用了。部署前工作机器设备:MacBookProm1pro虚拟系统:Ubuntu22.04.3LTSDocker:v24.0.7-......
  • MDK-ARM开发软件的使用(上)
    前言在进行嵌入式开发学习中,大部分人都使用过MDK-ARM开发软件,由于陌生的英文界面,不知道有那些实用功能,使得开发过程走弯路。工程是基于HAL建立,下面是博主在使用此软件的一些经验,希望对大家有用。MDK软件的使用可以分为4个步骤新建工程------工程设置-------程序编译和下载--......
  • 阿里云 ROS 助力开发者高效上云 一键部署高端简约的个人主页
    目录介绍资源架构体验ROS一键部署演示图片ROS有什么优势?结语介绍在当今数字化飞速发展的时代,云计算的浪潮汹涌澎湃,企业和个人开发者纷纷将项目迁移至云平台,以追求更可靠和高效的服务。就在最近,我有幸参加了阿里云的“开源上云,寻找云上创造者”活动,深切感受到了这一变......
  • ARM体系结构和接口技术(十)按键中断实验①
    一、按键中断实验(一)分析按键电路图(二)芯片手册二、按键中断实验分析注:NVIC----Cortx-M核GIC----Cortx-A核(一)查看所有外设的总线以及寄存器基地址注:GIC的总线是A7核的内部总线,也就是说,它是由ARM公司完成的注:EXTI的时钟源无需手动使能,它一直是使能状态(二)RCC章节(......