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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

uboot实践:uboot引导内核相关笔记

發布時間:2024/3/12 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 uboot实践:uboot引导内核相关笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

? ? ? ? 其實,就是一邊工作,一邊寫的筆記。

一 將需要的文件通過scp命令發送發板子

語法如下:????????

scp file_name user_name@192.168.0.250:/home/root/

????????含義:將scp文件傳送到192.168.0.25地址的/home/root/目錄。

二 普通根文件系統的啟動

從fat分區啟動的bootcmd和bootargs

setenv bootcmd 'mmc dev 1 1; fatload mmc 1:1 80800000 zimage;fatload mmc 1:1 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb;;bootz 80800000 - 83000000;'

bootargs的值需要強調的是,中間不需要分號“;”間隔。添加了分號可能會報錯。

setenv bootargs ' console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw;'

從ext4分區啟動的bootcmd和bootargs

setenv bootcmd 'mmc dev 1 2;ext4load mmc 1:2 80800000 /home/root/zImage;ext4load mmc 1:2 83000000 /home/root/imx6ull-14x14-emmc-7-1024x600-c.dtb;;bootz 80800000 - 83000000;'

bootargs的值不用改,

setenv bootargs ' console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw;'

遍歷/home/root/中的文件

ext4ls mmc 1:2 /home/root

=ext4ls mmc 1:2 /home/root <DIR> 4096 . <DIR> 4096 .. <DIR> 4096 test <DIR> 4096 bin28612 capture <DIR> 4096 driver110 .Xauthority <DIR> 4096 shell51 .profile3759 .bash_history <DIR> 4096 .ssh <DIR> 4096 bin_backup8192 boot_env.bin38351 imx6ull-14x14-emmc-7-1024x600-c.dtb379904 u-boot-imx6ull-14x14-ddr512-emmc.imx6497848 zImage =>

在根文件系統中掛載fat分區

詳細步驟如下所示:

1 創建一個掛載點/myfat

mkdir myfat

2 使用mount命令掛載,注意-t 選項的參數時vfat,不是ext2 和 ext4

mount -t vfat /dev/mmcblk1p1 /myfat/

3 遍歷掛載點

ls /myfat/

如果能夠成功看到里面的文件列表,說明掛載成功了。

然后就可以向其中寫入文件了。

將需要的文件復制到myfat文件夾中。

4 卸載掛載點

umount /myfat/

5 將掛載命令放到一個腳本mount.sh中:

mkdir /myfat -p mount -t vfat /dev/mmcblk1p1 /myfat

6 將卸載命令放到另一個腳本umount.sh中

umount /myfat

三 使用ramdisk根文件系統

從fat分區啟動zImage

設置bootcmd

setenv bootcmd 'mmc dev 1 1;fatload mmc 1:1 80800000 zImage;fatload mmc 1:1 82000000 imx6ull-14x14-emmc-7-1024x600-c.dtb;mmc dev 1 2;ext4load mmc 1:2 83000000 /home/root/ramdisk.img;bootz 80800000 ?83000000:04000000 82000000;'

設置bootargs

setenv bootargs 'console=ttymxc0,115200 root=/dev/ram0 rootfstype=ext2 rootwait rw'

從ext4分區啟動zImage

設置bootcmd

setenv bootcmd 'mmc dev 1 2;ext4load mmc 1:2 80800000 /home/root/zImage;ext4load mmc 1:2 82000000 /home/root/imx6ull-14x14-emmc-7-1024x600-c.dtb;ext4load mmc 1:2 83000000 /home/root/ramdisk.img;;bootz 80800000 83000000:04000000 82000000;'

設置bootargs

setenv bootargs 'console=ttymxc0,115200 root=/dev/ram0 rootfstype=ext2 rootwait rw'

打印bootcmd

=> printenv bootcmd bootcmd=mmc dev 1 2;ext4load mmc 1:2 80800000 /home/root/zImage;ext4load mmc 1:2 82000000 /home/root/imx6ull-14x14-emmc-7-1024x600-c.dtb;ext4load mmc 1:2 83000000 /home/root/ramdisk.img;;bootz 80800000 83000000:04000000 82000000; =>

打印bootargs

=> printenv bootargs bootargs=console=ttymxc0,115200 root=/dev/ram0 rootfstype=ext2 rootwait rw =>

四 nfs掛載根文件系統

進入uboot,設置ip地址

setenv ipaddr 192.168.5.25

設置服務器的ip地址。

setenv serverip 192.168.5.6

設置bootargs

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.5.6:/home/lkmao/nfsroot/buildrootfs,proto=tcp rw ip=192.168.5.25:192.168.5.6:192.168.5.1:255.255.255.0:::'

????????tymxc0改成自己的串口名字,這里的192.168.5.25是板子的ip地址,192.168.5.6是ubuntu主機的ip地址,/home/lkmao/nfsroot/buildrootfs是根文件系統在ubuntu主機中的目錄。照著改過來就行了,其他不用變。

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.5.6:/home/lkmao/nfsroot/buildrootfs,proto=tcp rw ip=192.168.5.25:192.168.5.6:192.168.5.1:255.255.255.0:::'

另一種IP的配置,

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.11:/home/lkmao/nfsroot/buildrootfs,proto=tcp rw ip=192.168.0.3:192.168.0.11:192.168.0.1:255.255.255.0:::'

設置bootcmd

setenv bootcmd 'mmc dev 1 1; fatload mmc 1:1 80800000 zimage;fatload mmc 1:1 83000000 imx6ull-14x14-emmc-7-1024x600-c.dtb;;bootz 80800000 - 83000000;'

記得保存

saveenv

從Tftp加載內核、設備樹、ramdisk.img

64M版本

setenv bootcmd 'tftp 80800000 zImage;tftp 82000000 emmc.dtb;tftp 83000000 ramdisk.img;bootz 80800000 83000000:04000000 82000000;'

32M版本

setenv bootcmd 'tftp 80800000 zImage;tftp 82000000 emmc.dtb;tftp 83000000 ramdisk.img;bootz 80800000 83000000:02000000 82000000;' setenv bootargs 'console=ttymxc0,115200 root=/dev/ram0 rootfstype=ext2 rootwait rw'

不使用ramdisk

setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 emmc.dtb; bootz 80800000 - 83000000;' setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.0.11:/home/lkmao/nfsroot/buildrootfs,proto=tcp rw ip=192.168.0.3:192.168.0.11:192.168.0.1:255.255.255.0:::'

從根文件系統加載全部

因為特別需要,所以需要這么干。

setenv bootcmd 'mmc dev 1 2;ext4load mmc 1:2 80800000 /zImage;ext4load mmc 1:2 82000000 /emmc.dtb;ext4load mmc 1:2 83000000 /ramdisk.img;;bootz 80800000 83000000:04000000 82000000;' setenv bootargs 'console=ttymxc0,115200 root=/dev/ram0 rootfstype=ext2 rootwait rw'

五 刪除密碼

????????直接在/etc/passwd文件和shadow文件刪密碼可以嗎?可以,但是刪除以后,ssh就登錄不上了。所以還是要老老實實的使用passwd命令來將密碼重置為空。

????????就是提示輸入密碼的時候,直接按回車鍵,這樣密碼就為空了。

# passwd root Changing password for root New password: Bad password: too short Retype password: passwd: password for root changed by root #

刪除用戶

deluser lkmao

刪除組

delgroup lkmao

其他雜項

兩個重要的環境變量

LD_LIBRARY_PATH 和PATH

PS1的配置方式

在/etc/profile文件中:

export PATH="/bin:/sbin:/usr/bin:/usr/sbin"if [ "$PS1" ]; thenif [ "`id -u`" -eq 0 ]; then # export PS1='# 'export PS1='\u@\h:\w# 'else # export PS1='$ 'export PS1='\u@\h:\w$ 'fi fiexport PAGER='/bin/more' export EDITOR='/bin/vi'# Source configuration files from /etc/profile.d for i in /etc/profile.d/*.sh ; doif [ -r "$i" ]; then. $ifi done unset i

如果當前的用戶的id是0,就執行export PS1='\u@\h:\w# ',root用戶的id是0,普通用戶的id大于1000,普通用戶執行export PS1='\u@\h:\w# '。

umask.sh文件

其中的內容默認是

umask 022

新建一個文件a:

root@host:/etc/profile.d# touch a root@host:/etc/profile.d# ls -ls total 40 -rw-r--r-- 1 root root 0 Sep 7 2022 a

新建文件的屬性是644,也就是說umask的計算方式如下

新建文件屬性+umsak = 666

就是644 + 022 = 666;

如果想新建文件屬性是664,那就將umask設置為002,實驗一下:

修改文件/etc/profile.d/umask.sh將其中的內容改為umask 002,

root@host:/etc/profile.d# touch b root@host:/etc/profile.d# ls -ls total 40 -rw-rw-r-- 1 root root 0 Sep 7 2022 b

果然新建的文件屬性變為660了。

在開發板通過nfs掛載ubuntu的目錄

# mount -t nfs -o nolock 192.168.0.11:/home/lkmao/nfsroot/server /server

總結

? ? ? ?一些總結。

總結

以上是生活随笔為你收集整理的uboot实践:uboot引导内核相关笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。