关于树莓派安装、配置、使用等的技巧、工具
About the skills and toolkits of installing, configuring raspbian and handbook for raspberry
现在树莓派提供全新的一键式安装方法:imager 大大简化了开发人员的操作,提高了安装效率,降低了安装难度。more…
getconf LONG_BIT # 查看系统位数
uname -a # kernel 版本
/opt/vc/bin/vcgencmd version # firmware版本
strings /boot/start.elf | grep VC_BUILD_ID # firmware版本
cat /proc/version # kernel
cat /etc/os-release # OS版本资讯
cat /etc/issue # Linux distro 版本
cat /etc/debian_version # Debian版本编号
rpi-update 是树莓派官方系统上的命令,用于将 Raspberry Pi OS 的内核和 VideoCore 固件更新到最新的预发布版本。
注意:软件的预发布版本不保证能够工作。除非树莓派工程师建议,否则不要在任何系统上使用 rpi-update 命令。它可能会使你的系统不可靠,甚至完全崩溃。它不应作为任何常规更新过程的命令。
使用 rpi-update 将下载 linux 内核的最新预发布版本、其匹配模块、设备树文件以及最新版本的 VideoCore 固件。然后,它会将这些文件安装到 SD 卡上的相关位置,覆盖任何以前的版本。
rpi-update 使用的所有源数据都来自 rpi-firmware repository。该仓库仅包含来自官方固件存储库的数据子集,因为并不需要来自该存储库的所有数据。
sudo rpi-update
sudo reboot
如果您已经执行完过 rpi-update 命令,但事情并不像你所希望的那样工作,如果你的树莓派仍然可以上电后正确进入引导程序,那么你可以使用以下命令返回到稳定版本:
sudo apt-get update
sudo apt install --reinstall libraspberrypi0 libraspberrypi-{bin,dev,doc} raspberrypi-bootloader raspberrypi-kernel
sudo reboot
sudo apt-get install rpi-eeprom
sudo rpi-eeprom-update -a
mkdir raspeberrypi_src
cd raspberrypi_src
git clone git://github.com/raspberrypi/firmware.git
git clone git://github.com/raspberrypi/linux.git
git clone git://github.com/raspberrypi/tools.git
$ls /proc/
$cp /proc/config /home/pi
$zcat config.gz > .config
$vi Makefile +195
$make menuconfig
cd tools/mkimage
./imagetool-uncompressed.py ../../linux/arch/arm/boot/zImage
cd raspberrypi_src
mkdir modules
cd linux
make modules_install INSTALL_MOD_PATH=../modules
- 升级 RPi 的 kernel、Firmware、lib
- 升级内核,将新编好的内核拷入 SD 卡,改名为:kernel_new.img。打开 boot 目录下,找到config.txt文件,加入:kernel=kernel_new.img这一行。
- 升级 boot,将firmware/boot/目录下文件拷入 SD 卡 boot 目录:fbootcode.bin fixup.dat fixup_cd.dat start.elf
- 更新 vc 库及内核 modules,将编译出来的modules/lib/modules拷入树莓派文件系统/lib下
在树莓派3从u盘启动之前,需要从设置了使能usb boot mode的sd启动。该设置树莓派芯片上的OTP(一次性可编程内存),这将使得树莓派能够从usb设备启动。一旦设置了该选项,sd卡就不需要了。注意,OTP一旦做出任何改动,都不能复原。
你可以使用运行raspbian或者raspbian lite的sd卡来设置OTP,如果你还没有这样的sd卡,可按常规方式将系统烧入sd卡。 输入以下代码使能usb boot mode
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
这行代码将’program_usb_boot_mode=1’插入到/boot/cinfig.txt文件的末尾。使用sudo reboot命令重启树莓派后,用以下命令检查OTP设置:
$ vcgencmd otp_dump | grep 17:
17:3020000a
确保输出是’17:3020000a‘,如果输出不是这个,那就说明OTP没有设置成功。
之后,你可以在sd卡的config.txt末尾去掉program_usb_boot_mode=1这行代码,这样把这张sd用在其他树莓派上就不会设置OTP,注意,config.txt文件结尾不能有空行,你可以使用sudo nano /boot/config.txt命令使用nano 编辑器编辑config.txt文件。
树莓派官方的操作系统是Raspberry Pi OS:
树莓派系统下载地址(Raspberry OS download URL)Download Page
顾名思义,就是说带了图形化桌面系统和常用的推荐软件的版本,小白新手建议安装这个,免去后期单独安装软件的烦恼
和第一个版本相比,带了图形化桌面系统,但没有常用的推荐软件,如果你的SD卡比较小,或者进阶者希望自己定义安装哪些软件则可以选择这个版本,后面自行定制安装所需要的软件
这个版本不带图形化桌面系统,则只有命令行界面(这才是真正的Linux OS的真面目:-),如果你不需要图形化界面,或者你的设备是Raspberry Pi zero(w,h)等硬件配置比较低(CPU慢,内存小,SD卡特别小)的推荐安装这个版本。
树莓派官方提供了 Raspbian 操作系统,一款基于 Debian 优化修改而来的 Linux 发行版,也是最常用的一个版本,专为树莓派而生,通用性强。
此外,你也能在官网下载到 Ubuntu 类或其他诸如专为播放高清电影而生的 OSMC、LibreELEC 等各种版本的系统,如下:
你几乎完全可以将树莓派 4 当做一台完整的台式电脑来使用,而得益于性能的大幅提升,本次升级后,树莓派的应用范围将会又得到了扩展。
raspberrypi/linux Kernel source tree for Raspberry Pi-provided kernel builds. Issues unrelated to the linux kernel should be posted on the community forum at https://forums.raspberrypi.com/
除了 Linux 之外,微软也已经跟树莓派基金会达成合作以确保 Windows 10 可以适配树莓派新款产品,如今完美适配树莓派 2 / 3 代的 Windows 10 IoT core 物联网核心版系统已经「免费」提供给用户下载。截稿为止,4 代似乎还未适配。
sudo apt-get install xrdp
sambasudo apt-get install samba samba-common-bin
sudo vi /etc/samba/smb.conf
sudo /etc/init.d/samba restart
sambasudo smbpasswd -a pi
sudo mkdir /mnt/udisk
sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/udisk
sudo umount /mnt/1GB_USB_flash
sudo apt-get install exfat-fuse
/dev/sda1 /mnt/udisk vfat rw,defaults 0 0
每次开机就会自动挂载。sudo vi /etc/udev/rules.d/10-usbstorage.rules
(此文件默认没有,需要新建).赋值以下内容即可,会自动在 /mnt/udisk 目录下挂载 U 盘。KERNEL!="sd*", GOTO="media_by_label_auto_mount_end"
SUBSYSTEM!="block",GOTO="media_by_label_auto_mount_end"
IMPORT{program}="/sbin/blkid -o udev -p %N"
ENV{ID_FS_TYPE}=="", GOTO="media_by_label_auto_mount_end"
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="Untitled-%k"
ACTION=="add", ENV{mount_options}="relatime,sync"
ACTION=="add", ENV{ID_FS_TYPE}=="vfat", ENV{mount_options}="iocharset=utf8,umaskk=000"
ACTION=="add", ENV{ID_FS_TYPE}=="ntfs", ENV{mount_options}="iocharset=utf8,umaskk=000"
ACTION=="add", RUN+="/bin/mkdir -p /mnt/udisk/", RUN+="/bin/mount -o $env{mount__options} /dev/%k /mnt/udisk/"
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /mnt/udisk/", RUN+="/bin/rmdir /mnt/udisk/"
LABEL="media_by_label_auto_mount_end"
sudo apt-get install nginx
sudo /etc/init.d/nginx start
nginx 的 www 根目录默认在/usr/share/nginx/www中sudo vi /etc/nginx/sites-available/default
location ~ .php$ {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
sudo apt-get install php5-fpm php5-sqlite
sudo /etc/init.d/nginx reload
树莓派内核中已经编译自带了 gpio 的驱动,我们常通过一些第三方写好的库函数来完成具体的操作,比较常见的操作库函数有:
树莓派官方近期发布了 Raspberry Pi Connect 测试版:这是一种安全、易用的方法,只需使用网络浏览器,就能从地球上的任何地方远程访问你的树莓派。
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim
cd /etc/apt/
sudo vim /etc/apt/sources.list
ping ustc.edu.cn
sudo passwd
reboot
sudo reboot
su root
sudo passwd pi
sudo apt-get install python-pip
sudo apt-get install fuse-utils ntfs-3g
modprobe fuse
sudo modprobe fuse
sudo vim /etc/fstab
sudo apt-get install exfat-fuse
sudo pip install bpython
sudo apt-get install python-dev
sudo pip install ipython
sudo apt-get install nmap
sudo pip install ipython
sudo pip install bpython
sudo pip install virtualenv
df
df -lh
fdisk -l
sudo fdisk -l
df -h
sudo fdisk /dev/mmcblk0
sudo reboot
sudo resize2fs /dev/mmcblk0p2
sudo apt-get install -y dnsmasq
sudo vim /etc/dnsmasq.conf
sudo service dnsmasq restart
dig
sudo apt-get install dnsutils
ls
dig www.baidu.com
sudo vim /etc/dnsmasq.conf
sudo service dnsmasq restart
dig www.baidu.com
sudo vim /etc/resolv.conf
sudo service dnsmasq restart
dig www.baidu.com
chkconfig dnsmapq on
find resolv.dnsmapq.conf
sudo vim /etc/dnsmasq.conf
netstat -lpnt
ps -ef
ifconfig
sudo service --status-all
service dnsmasq status
sudo apt-get install git
sudo easy_install -U distribute
sudo pip install rpi.gpio
alias ll='ls -lh'
source /etc/profile
sudo raspi-config
#安装软件
apt-get install softname1 softname2 softname3……
#卸载软件
apt-get remove softname1 softname2 softname3……
#卸载并清除配置
apt-get remove –purge softname1
#更新软件信息数据库
apt-get update
#进行系统升级
apt-get upgrade
#搜索软件包
apt-cache search softname1 softname2 softname3……
#安装deb软件包
dpkg -i xxx.deb
#删除软件包
dpkg -r xxx.deb
#连同配置文件一起删除
dpkg -r –purge xxx.deb
#查看软件包信息
dpkg -info xxx.deb
#查看文件拷贝详情
dpkg -L xxx.deb
#查看系统中已安装软件包信息
dpkg -l
#重新配置软件包
dpkg-reconfigure xxx
#清除所有已删除包的残馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
#如果报如下错误,证明你的系统中没有残留配置文件了,无须担心。
dpkg: –purge needs at least one package name argument
#dpkg安裝的可以用apt卸載,反之亦可
#aptitude 与 apt-get 一样,是 Debian 及其衍生系统中功能极其强大的包管理工具。与 apt-get 不同的是,aptitude 在处理依赖问题上更佳一些。举例来说,aptitude 在删除一个包时,会同时删除本身所依赖的包。这样,系统中不会残留无用的包,整个系统更为干净。以下是笔者总结的一些常用 aptitude 命令,仅供参考。
aptitude update 更新可用的包列表
aptitude upgrade 升级可用的包
aptitude dist-upgrade 将系统升级到新的发行版
aptitude install pkgname 安装包
aptitude remove pkgname 删除包
aptitude purge pkgname 删除包及其配置文件
aptitude search string 搜索包
aptitude show pkgname 显示包的详细信息
aptitude clean 删除下载的包文件
aptitude autoclean 仅删除过期的包文件
apt-cache search # ------(package 搜索包)
apt-cache show #------(package 获取包的相关信息,如说明、大小、版本等)
sudo apt-get install # ------(package 安装包)
sudo apt-get install # -----(package - - reinstall 重新安装包)
sudo apt-get -f install # -----(强制安装?#"-f = --fix-missing"当是修复安装吧...)
sudo apt-get remove #-----(package 删除包)
sudo apt-get remove - - purge # ------(package 删除包,包括删除配置文件等)
sudo apt-get autoremove --purge # ----(package 删除包及其依赖的软件包+配置文件等(只对6.10有效,强烈推荐))
sudo apt-get update #------更新源
sudo apt-get upgrade #------更新已安装的包
sudo apt-get dist-upgrade # ---------升级系统
sudo apt-get dselect-upgrade #------使用 dselect 升级
apt-cache depends #-------(package 了解使用依赖)
apt-cache rdepends # ------(package 了解某个具体的依赖?#当是查看该包被哪些包依赖吧...)
sudo apt-get build-dep # ------(package 安装相关的编译环境)
apt-get source #------(package 下载该包的源代码)
sudo apt-get clean && sudo apt-get autoclean # --------清理下载文件的存档 && 只清理过时的包
sudo apt-get check #-------检查是否有损坏的依赖
个人收藏的raspberry pi/树莓派文章及教程
clusterhat-image Converts Raspbian/Raspberry Pi OS images to support Cluster HAT
pip install RPi.GPIO
[树莓派实验室 | Raspberry Pi中文资讯站,提供丰富的树莓派使用教程和DIY资讯](http://shumeipai.nxez.com) |
据树莓派官方声称。Raspberry Pi 5 的处理能力是 Raspberry Pi 4 的两到三倍,后者已经是一款功能强大的单板计算机。Raspberry Pi 5 提供 4GB 和 8GB RAM 容量(稍后还会推出 1GB 和 2GB 型号),其基本尺寸和形状与 Model 4 B 相同,但增加了许多人们长期要求的功能,例如内置实时时钟、一个 PCIe 2.0 连接器和一个电源按钮。
也许更重要的是,Raspberry Pi 配备了新的四核 2.4 GHz Cortex-A76 Arm CPU(旧型号最初是运行在 1.5 GHz 的 Cortex-A72,但固件更新使其达到 1.8 GHz)、新的南桥承诺提高 USB 3 吞吐量和运行频率为 800 Mhz 的新 VideoCore VII GPU(相对于 Pi 4 上的 500 MHz VideoCore VI)。整个主板有很多小改进,包括带安装孔的内置风扇接头、更快的双摄像头连接器以及可与高速卡配合使用的 microSD 读卡器。
主要功能包括:
新平台,新芯片组:三个新芯片,每个芯片都是专门为树莓派5 设计的,它们结合在一起,在性能上实现了飞跃。
全球最流行的 Linux 小型迷你电脑,性能大幅飙升!(支持4K / USB3.0)
被誉为 “世界上最流行最便宜的小型电脑” 的「树莓派」Raspberry Pi 是一款性价比超高的迷你电脑主机 (仅有信用卡大小),深受全球开发者、极客、技术爱好者们的追捧和喜爱。
树莓派可以安装多种 Linux 系统发行版 (官方为 Debian 的衍生版),可当服务器搭建各种网站、应用服务来使用,也能用来学习编程、控制硬件或日常办公。由于树莓派的体积很小很轻,并且功能极其丰富强大,这也使得它的应用范围和潜力几乎是无限的……
如今 Raspberry Pi 4 「树莓派 4 代」终于正式发布了!!官方定价依然是 $35 美元起不变,但整体性能相比 3 代要提升了三倍之多!多媒体性能为四倍,即使同时外接两台 4K 显示器双屏工作也毫无鸭梨。这么小的体积加上如此强劲的性能,这将是一款再次改变行业规则的产品。
而且除了 Linux 外,树莓派还能运行「免费的 Win 10 物联网版系统」!无论是学习、办公、编程、搭建智能家居、工控设备、还是用于特定的工作场景,树莓派都是最理想的小型电脑。也是每一个喜欢折腾电脑、折腾数码、折腾程序的朋友的必备玩物。
树莓派四代 (Raspberry Pi 4 Model B) 在硬件方面迎来了巨大的升级!首次搭载了 4GB 的内存 (1G / 2G / 4G 可选),并且引入 USB 3.0 接口,同时支持双屏 4K 输出和 H.265 硬件解码;处理器搭载了博通 1.5GHz 的四核 ARM Cortex-A72 处理器,性能提升可谓是质的飞跃。
接口方面,树莓派 4 支持双频无线 Wi-Fi (802.11ac)、搭载蓝牙 5.0,提供两个 Micro HDMI 2.0 视频输出接口,支持 4K 60FPS;内置千兆以太网口 (支持 PoE 供电)、MIPI DSI接口、MIPI CSI 相机接口、立体声耳机接口、2 个 USB 3.0 和 2 个 USB 2.0,扩展接口则依然是 40 针的 GPIO。供电方面也改成了 5V/3A 的 USB-C 接口供电,升级可以说是全方位的。
新的树莓派几乎可兼容所有以往创建的树莓派项目、配件和应用。同时,其40针扩展 GPIO 接口使其能够添加更多传感器、连接器及扩展板或智能设备,前26针引脚与A型板和B型板保持一致,可 100% 向后兼容,无需担心软硬件和配件的生态问题。
如果你的工作大多可以在 Linux 下完成的话,比如开发,或者用 WPS for Linux 写文档、上网、收发邮件等,那么直接将树莓派随身携带,上下班通勤或出差时,也许会比带一个笨重的笔记本要轻松方便得多。
起初,树莓派是为鼓励孩子们学习编程和计算机知识而推出的奇趣硬件。但如今,除了教育领域,树莓派在硬件编程、智能家居、极客和计算机技术爱好者中的受欢迎程度完全超出想象。
随着新版本硬件性能的提升,以及全球极其大量玩家们的青睐,树莓派的玩法和实用性已经丰富到无法统计的地步了。直接当办公电脑使用、丢在家里当 NAS、离线下载、做代理服务器、VP那个N、搭建个人网站、私有网盘、搭建智能家居中枢、小型影音播放机,使用各种开源 Linux 程序给局域网提供服务等都是非常常见的用途。
总之,树莓派不仅会为学习编程带来更好的体验;给专业人士带来更强大高效稳定的硬件平台;对于爱好者们,新的树莓派也提供了更大的发挥空间——因为它完全就能一台性能充足的台式电脑那样,可以做到几乎任何事情! 当然,这也是一个需要脑洞大开的硬件,你可以把它玩成神器,也能让它积灰几尺厚,这需要有想象力或自身有确切的需求。