日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Porting:telnet远程登录开发板、制作并烧写cramfs和ext4和ramdisk三种格式根文件系统镜像

發(fā)布時間:2024/3/13 windows 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Porting:telnet远程登录开发板、制作并烧写cramfs和ext4和ramdisk三种格式根文件系统镜像 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1、安裝卸載模塊不成功的問題
? ? #:'insmod led_drv.ko
? ? #:'lsmod
? ? #:'rmmod led_drv
? ? 出現(xiàn)的問題:
? ?// rmmod: can't change directory to '/lib/modules': No such file or directory
? ? $:'mkdir lib/modules/
? ? 再次嘗試安裝、卸載
? ? 出現(xiàn)的問題2:
? ?// rmmod: can't change directory to '3.4.39-tarena': No such file or directory
? ? $:'mkdir /lib/modules/3.4.39-tarena -p
? ? 【注意路徑位置】在開發(fā)板的根目錄下。再次嘗試安裝、卸載。---> 【成功】!!
? ? 或者:
? ? 一鍵創(chuàng)建:#:'mkdir /lib/modules/`uname -r` -p
? ? // 中間的符號是鍵盤1前面的那個點。

? ? 文件目錄用戶更改:
? ? $:'sudo chown tarena:tarena lib/modules/3.<tab>

2、通過telnet遠程登錄到開發(fā)板
? ? 1)能夠ping通開發(fā)板
? ? ? ?$:'ping 192.168.1.6
? ? 2)$:' vi etc/init.d/rcS
? ? ? ? ? #遠程登錄開發(fā)板代碼
? ? ? ? ? mkdir /dev/pts
? ? ? ? ? mount -t devpts devpts /dev/pts
? ? ? ? ? #telnet的服務器軟件
? ? ? ? ? telnetd &
? ? ? ? ? #設置內(nèi)核啟動完成的最后顯示的提示信息
? ? ? ? ? echo "Hello, superman... <你好>\nStarting success... <啟動成功>"

? ? ? ? ? // 保存退出,【重啟開發(fā)板】
? ? ? ?#:'ps
? ? ? ?// 看到telnetd進程/程序
? ? 3)關(guān)于用戶登錄的驗證
? ? ? ? $:'which telnet
? ? ? ? $:'telnet 192.168.1.6
?? ? ? // 此時登錄不上去
? ? ? ? $:'vi /etc/passwd
? ? ? ? ? ? tarena:x:1000:1000:tarena,,,:/home/tarena:/bin/bash
? ? ? ? ? ? 用戶名:密碼:用戶ID:組ID:用戶描述信息:
? ? ? ? $:'sudo vi /etc/shadow
? ? ? ? ? ? tarena:$1$EbbudTd9$iCLMN0ePLpw6mZcqN8zjx/:17015:0:99999:7:::
? ? ? ? $:'vi etc/passwd
? ? ? ? ? ?root::0:0:root:/:/bin/sh
? ? ? ? ? ?// [root用戶,無密碼,登錄進根目錄,啟動shell] ?新增此行。
? ? ? ? PC機的虛擬機VMware下ubuntu中就可以登錄開發(fā)板:
? ? ? ? ? ? $:' telnet 192.168.1.6
? ? ? ? ? ? // 前提是能夠ping通開發(fā)板IP:192.168.1.6
? ? ? ? PC機的windows的cmd窗口下也可以登錄開發(fā)板操作:
? ? ? ? ? ? Ctrl + r
? ? ? ? ? ? cmd
? ? ? ? ? ? >:'ping 192.168.1.6
? ? ? ? ? ? >:'telnet 192.168.1.6

3、根文件系統(tǒng)鏡像
? ? 文件 + 索引信息
? ? linux支持的文件系統(tǒng)類型:ext4 ?vfat ?nfs ?jffs ?yaffs...

3.1 基于flash的文件系統(tǒng)
? ? ROM:只讀存儲器
? ? PROM:program rom 只能寫入一次
? ? EPROM:erase 可以寫入多次,寫入前要先擦除,靠紫外線照射擦除
? ? EEPROM:erase 寫入多次,電可擦除,存儲容量小
? ? flash:可理解為eeprom的改進版本
? ? ? ? ? ? norflash,(啟動)程序,BIN文件
? ? ? ? ? ? nandflash,用戶數(shù)據(jù)
? ? emmc:在nandflash的基礎上封裝了IC控制電路
? ? 3.1.1 jffs2
? ? ? ? ? 針對norflash開發(fā)的文件系統(tǒng)
? ? 3.1.2 yaffs2/3
? ? ? ? ? 針對nandflash開發(fā)的文件系統(tǒng)
? ? 3.1.3 【制作cramfs格式根文件系統(tǒng)】"rootfs.cramfs"
? ? ? ? ? linus<linux之父>實現(xiàn)的,壓縮存儲的只讀文件系統(tǒng)
? ? ? ? ? 優(yōu)勢:本身非常小
? ? ? ? ? 劣勢:只能進行讀操作,不能進行寫入或者刪除操作

? ? ? ? ? ? 文件 ?索引 ?代碼
? ? 【操作步驟】
? ? ? 1)對內(nèi)核進行配置,使內(nèi)核能夠支持cramfs類型的系統(tǒng)
? ? ? ? $:'cd porting/kernel
? ? ? ? $:'make menuconfig
? ? ? ? ? ? File systems ?--->
? ? ? ? ? ? ? ? ?[*] Miscellaneous filesystems ?--->
? ? ? ? ? ? ? ? ? ? <*> ? Compressed ROM file system support (cramfs)

? ? ? ? ? ? ? ? ? ? // cramfs 項,選中。
? ? ? ? $:'make uImage -j4 ? ? ? ? ? ? ? ? ? ?
? ? ? 2)制作鏡像
? ? ? ? _install目錄下的所有文件 + 添加的索引,合并成一個鏡像文件。
? ? ? ? $:'cd ~/jy/porting/busybox-1.23.2/
? ? ? ? $:'mkfs.cramfs _install/ rootfs.cramfs
? ? ? ?// 使用mkfs.cramfs工具將_install下的所有文件制作成rootfs.cramfs鏡像
? ? ? ? 開發(fā)板上執(zhí)行 #:'rm .ash_history
? ? ? ? 回到ubuntu系統(tǒng):
? ? ? ? $:'mkfs.cramfs _install/ rootfs.cramfs
? ? ? 3)驗證鏡像的有效性
? ? ? ? $:'cp rootfs.cramfs /tftpboot/
? ? ? ? #:'tftp 48000000 rootfs.cramfs
? ? ? ? #:'mmc write 48000000 0x20800 <換算大小,此次0x2000>
? ? ? ? // 文件下載的十進制大小除以512,再轉(zhuǎn)換為16進制,取稍大的整數(shù)。
? ? ? ? // Bytes transferred = 3862528 (3af000 hex);3862528/512->1D78->2000

? ? ? ?【注意】:"一定要保證是用的是步驟1)編譯的新的內(nèi)核uImage"
? ? ? ? 方式一:將新內(nèi)核燒寫到0x800開始的扇區(qū)
? ? ? ? ? ? ? ?cp arch/arm/boot/uImage /tftpboot/
? ? ? ? ? ? ? ?tftp 48000000 uImage
? ? ? ? ? ? ? ?mmc write 48000000 0x800 3000<2932>

? ? ? ? 方式二:tftp ...; bootm
? ? ? ? #:' setenv bootargs root=/dev/mmcblk0p2 rootfstype=cramfs init=/linuxrc console=ttySAC0 maxcups=1 lcd=vs070cxn tp=gslx680-linux
? ? ? ? // 配置環(huán)境變量,更改 rootfstype=cramfs
? ? ? ? #:' saveenv


? ? 3.1.3 【制作ext4格式根文件系統(tǒng)】"rootfs.ext4" -手機中常見的文件系統(tǒng)
? ? 【操作步驟】
? ? ? ? 1)配置內(nèi)核,支持ext4
? ? ? ? ? ? $:'make menuconfig
? ? ? ? ? ? ? ? File systems ?--->
? ? ? ? ? ? ? ? ? ? <*> The Extended 4 (ext4) filesystem ? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? [*] ? Use ext4 for ext2/ext3 file systems?

? ? ? ? ? ? $:' make uImage
? ? ? ? 2)制作文件系統(tǒng)鏡像
? ? ? ? ? ? $:'cd ~/jy/porting/busybox-1.23.2
? ? ? ? ? ? a)【創(chuàng)建】文件:rootfs.ext4,該文件大小為8M,并且8M空間存儲為全0
? ? ? ? ? ? ? ? $:'dd if=/dev/zero of=rootfs.ext4 bs=1k count=8192
? ? ? ? ? ? ? ? $:'hexdump -C rootfs.ext4
? ? ? ? ? ? ? ? // dd 創(chuàng)建,hexdump 查看分區(qū)里面內(nèi)容都是0
? ? ? ? ? ? b)將創(chuàng)建的文件視作一個分區(qū),進行【格式化
? ? ? ? ? ? ? ? $:'mkfs.ext4 rootfs.ext4
? ? ? ? ? ? c)【掛載】該分區(qū)
? ? ? ? ? ? ? ? $:'sudo mkdir /mnt/test
? ? ? ? ? ? ? ? // 創(chuàng)建掛載點
? ? ? ? ? ? ? ? $:'sudo mount -t ext4 rootfs.ext4 /mnt/test/
? ? ? ? ? ? d)將_install目錄下的內(nèi)容【拷貝】到 /mnt/test/
? ? ? ? ? ? ? ? $:'sudo cp _install/* /mnt/test/ -a
? ? ? ? ? ? ? ? // -a 效果等同于 -d 和 -r 加一起。
? ? ? ? ? ? e)【卸載】分區(qū)
? ? ? ? ? ? ? ? $:'sudo umount /mnt/test/
? ? ? ? 3)驗證鏡像的有效性
? ? ? ? ? ? 燒寫鏡像到emmc對應的分區(qū)(0x20800)
? ? ? ? ? ? $:'cp rootfs.ext4 /tftpboot/
? ? ? ? ? ? #:'tftp 48000000 rootfs.ext4
? ? ? ? ? ? #:'mmc write 48000000 20800 0x4000
? ? ? ? ? ? // 8388608/512 --->16進制 --->4000 <8M>
? ? ? ? ? ? #:'setenv bootargs root=/dev/mmcblk0p2 rootfstype=ext4 init=/linuxrc console=ttySAC0 maxcups=1 lcd=vs070cxn tp=gslx680-linux
? ? ? ? ?? // 配置環(huán)境變量,更改 rootfstype=ext4
? ? ? ? ? ? #:'saveenv


** 查看開發(fā)板linux分區(qū)情況 **
#:'cat /proc/partitions
#:' ls /dev/mmcblk*
**||

** U盤掛載 **
? ?// 關(guān)于U盤掛載,測試u盤內(nèi)容掛載到開發(fā)板
? ? #:'ls /dev/sda*
? ? #:' mount /dev/sda4 mnt/
?? // 復位,mount掛載,卸載是 #:' umount /mnt 每次復位需要重新掛載U盤
? ? mount:
? ? ? ? -t 指定文件系統(tǒng)類型
? ? ? ? mount -t vfat /dev/sda1 /mnt
? ? ? ? ? ? // 再去在mnt目錄下進行文件操作,操作就是U盤的內(nèi)容
? ? ? ? umount /mnt
? ? ? ? ? ? // 讓U盤和/mnt目錄脫離關(guān)系,再去操作mnt目錄跟U盤沒有任何關(guān)系。
**||

3.2 基于ram的文件系統(tǒng) - 【制作ramdisk格式根文件系統(tǒng)】"rootfs.ramdisk"
? ? randisk,將內(nèi)存的一部分當做磁盤來使用
? ? 運行時將磁盤中的文件系統(tǒng)數(shù)據(jù)搬入內(nèi)存
? ? 用戶訪問時,使用內(nèi)存中的文件系統(tǒng)。
? ? 【優(yōu)勢】訪問文件系統(tǒng)的速度快,刪除文件只需復位即可。
? ? 【劣勢】小號更多的內(nèi)存空間,操作結(jié)果掉電丟失。


? ? 常識:/tmp/ ?該目錄下的文件存儲在RAM中,掉電丟失
? ? ? ? ? 臨時性,頻繁操作的文件可以考慮在 /tmp/ 下創(chuàng)建。
? ??
? ? 【操作步驟】:
? ? ? ? 1)【配置內(nèi)核,支持ramdisk格式的文件格式
? ? ? ? ? ? $:'make menuconfig
? ? ? ? ? ? ? ? Device Drivers ?--->
? ? ? ? ? ? ? ? ? ? [*] Block devices ?--->
? ? ? ? ? ? ? ? ? ? ? ? <*> ? RAM block device support
? ? ? ? ? ? ? ? ? ? ? ? ? ? (8192) ?Default RAM disk size (kbytes)

? ? ? ? ? ? ? ? ? ? ? ? ? ? // 修改為8M大小,默認的4M可能不夠用。
? ? ? ? ? ? $:'make uImage -j4
? ? ? ? ? ? // 內(nèi)核重新編譯生成。

? ? ? ? 2)ramdisk文件系統(tǒng)【鏡像制作
? ? ? ? ? ? $:'cd ~/jy/porting/busybox-1.23.2
? ? ? ? ? ? $:'dd if=/dev/zero of=rootfs.ramdisk bs=1k count=8192
? ? ? ? ? ? ? ? // 創(chuàng)建ramdisk格式文件,大小8M,全部清0
? ? ? ? ? ? $:'mkfs.ext2 rootfs.ramdisk
? ? ? ? ? ? ? ? // 使用ext2格式化ramdisk文件
? ? ? ? ? ? $:'sudo mount -t ext2 rootfs.ramdisk /mnt/test
? ? ? ? ? ? ? ? // 掛載該文件到/mnt/test文件夾下
? ? ? ? ? ? $:'sudo cp _install/* /mnt/test/ -av
? ? ? ? ? ? ? ? // 拷貝_install所有文件到/mnt/test/下
? ? ? ? ? ? $:'sudo umount /mnt/test
? ? ? ? ? ? ? ?// 卸載掛載的目錄
? ? ? ? 3)驗證鏡像的有效性
? ? ? ? ? ? 將rootfs.ramdisk寫入mmc對應的分區(qū):
? ? ? ? ? ? ? ? $:'cp rootfs.ramdisk /tftpboot/ ? ? ? ? ??
? ? ? ? ? ? ? ? #:'tftp 48000000 rootfs.ramdisk
? ? ? ? ? ? ? ? #:'mmc write 48000000 20800 4000
? ? ? ? ? ? ? ? ? ?// 燒寫ramdisk根文件系統(tǒng)鏡像文件到mmc的0x20800,大小4000
? ? ? ? ? ? 將內(nèi)核燒寫mmc對應的分區(qū):
? ? ? ? ? ? ? ? $:'cp arch/arm/boot/uImage /tftpboot/
? ? ? ? ? ? ? ? #:'tftp 48000000 uImage
? ? ? ? ? ? ? ? #:'mmc write 48000000 800 3000
? ? ? ? ? ? ? ? ? ?// 燒寫uImage系統(tǒng)內(nèi)核鏡像文件到mmc的0x800,大小3000
? ? ? ? ? ? 修改環(huán)境變量:
? ? ? ? ? ? ? ? #:'setenv bootcmd mmc read 48000000 800 3000 \;mmc read 0x49000000 20800 4000 \;bootm 48000000
? ? ? ? ? ? ? ? ? ?// bootcmd配置:往內(nèi)存中搬根文件系統(tǒng)
? ? ? ? ? ? ? ? #:'setenv bootargs root=/dev/ram rw init=linuxrc initrd=0x49000000,8M console=ttySAC0,115200 ?maxcpus=1 lcd=vs070cxn tp=gslx680-linux
? ? ? ? ? ? ? ? ? ?// bootargs配置:更改root位置等啟動參數(shù)
? ? ? ? ? ? ? ? #:'saveenv
? ? ? ? ? ? ? ? ? ?// 【保存配置】環(huán)境變量,切記!!!

總結(jié)

以上是生活随笔為你收集整理的Porting:telnet远程登录开发板、制作并烧写cramfs和ext4和ramdisk三种格式根文件系统镜像的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。