20230427 ログイン方法 2 を使用せずにシリアル ポートで cv1826 のビルドルートを構成する

20230427 シリアルポートでログインせずにcv1826のbuildrootを設定する方法 2
2023/4/27 16:46


進行状況: パスワードは削除できますが、ユーザー名は削除できません!


1、
Z:\buildroot1\buildroot\configs\cvitek_cv182x_defconfig
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y                     
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y               
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y              
# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONG が設定されていない 
BR 2_TOOLCHAIN_EXTERNAL_CXX=y                       
BR2_TARGET_GENERIC_HOSTNAME="yd-dictpen"           
BR2_TARGET_GENERIC_ISSUE="YD Buildroot へようこそ" 
# BR2_INIT_NONE が設定されていない                         
BR2_TARGET_GENERIC_ROOT_PASSWD ="ルート"  
           
BR2_ROOTFS_OVERLAY="ボード/cvitek/cv1826/overlay-32"
BR2_INIT_BUSYBOX=y                                 
BR2_PACKAGE_BUSYBOX=y                              
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y         
BR2_PACKAGE_INITSCRIPTS=y                          
修正:
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y                     
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y               
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y              
# BR2_TOOLCHAIN_EXTERNAL _HAS_SSP_STRONG が設定されていません 
BR2_TOOLCHAIN_EXTERNAL_CXX=y                       
BR2_TARGET_GENERIC_HOSTNAME="yd-dictpen"           
BR2_TARGET_GENERIC_ISSUE="YD Buildroot へようこそ"  # BR2_INIT_NONE    
が設定されていません                         BR2_ROOTFS_OVERLAY="ボード/cvitek/cv1826/overlay-32"BR2_INIT_BUSYBOX=y                                 
             


BR2_PACKAGE_BUSYBOX=y                              
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y         
BR2_PACKAGE_INITSCRIPTS=y                          

                                                                               
LOG情報:
Number Start End Size File system Name Flags                     
 1 4194kB 12.6MB 8389kB BOOT msftdata                  
 2 12.6MB 13.1MB 524kB MISC msftdata                  
 3 13.1MB 13.6MB 524kB PIC msftdata                  
 4 13.6MB 13.8MB 131kB ENV msftdata 5 13. 8MB 559MB                  
 545MB ext4 ROOTFS msftdata                  
 6 559MB 601MB 41.9MB システム msftdata                  
 7 601MB 3673MB 3072MB ext4 データ msftdata                  
                                                                               
e2fsck 1.46.2 (2021 年 2 月 28 日)                                                    
CFG: クリーン、15/960 ファイル、2549/2551 ブロック                                     
resize2fs 1.46.2 (2021 年 2 月 28 日)                                                 
/dev/mmcblk0p7 のファイルシステムは /mnt にマウントされています。オンラインでのサイズ変更が必要     
old_desc_blocks = 1, new_desc_blocks = 2                                       
/dev/mmcblk0p7 のファイルシステムは現在、7488219 (4k) ブロックの長さです。              
                                                                               
udev を使用した /dev への入力: 完了                                               
ランダム シードの保存: OK                                                         
システム メッセージ バスの起動: 完了                                              
bluetoothd の起動: OK                                                        
ネットワークの開始: OK                                                           
wlan0 の開始: ifconfig: SIOCGIFFLAGS: そのようなデバイスはありません                         
wpa_supplicant が正常に初期化されました                                        
インターフェイス wlan0 フラグを読み取ることができませんでした: そのようなデバイスはありません                           
nl80211: ドライバーは認証/関連付けまたは接続コマンドをサポートしていません nl80211
: deinit ifname=wlan0 disabled_11b_rates=0                              
できませんでしたインターフェイス wlan0 フラグの読み取り: そのようなデバイスはありません                           
wlan0: ドライバー インターフェイスの初期化に失敗しました                                   
adbd の起動: udhcpc: SIOCGIFINDEX: そのようなデバイスはありません                            
0 ファイル                                                                      
2 in ep                                                                        
1 out ep                                                                       
1 ファイル                                                                      
3 in ep                                                                        
2 out ep                                                                       
2 ファイル                                                                      
OK                                                                             
install_listener('tcp:5037','*smartsocket*')                                   
Starting MCU: load mcu fw: /lib/firmware/mercury_mcu_fw.bin                    
size = 7066                                                                    
WARNING: Logging before InitGoogleLogging() is written to STDERR               
I0101 00:00:05.430665 339 server.cpp:442] MTP server starting...             
done                                                                           
                                                                               
ようこそYD Buildroot へ                                                        
yd-dictpen login: root                                                         
#                                                                              
#                                                                              
#                                                                              


入力パスワードが root でない場合、パスワードの入力を求められます:
Welcome to YD Buildroot
yd-dictpen login:      
Welcome to YD Buildroot
yd-dictpen login: 1    
Password:              
Login illegal        
yd-dictpen login: root 

#                      
#                      
#      

               



rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/buildroot1$ cd buildroot/ rootroot@rootroot- HP
-ZHAN-66-Pro -A-14-G3:~/buildroot1/buildroot$ 
rootroot@rootroot-HP-ZHAN-66-Pro-A-14-G3:~/buildroot1/buildroot$ make menuconfig


  xx ルート FS スケルトン (デフォルトのターゲット スケルトン) ---> xx  
  xx (yd-dictpen) システム ホスト名 xx  
  xx (YD Buildroot へようこそ) システム バナー xx  
  xx パスワード エンコーディング (sha-256) ---> xx  
  xx 初期化システム ( BusyBox) ---> xx  
  xx /dev 管理 (devtmpfs + eudev を使用した動的) ---> xx  
  xx (system/device_table.txt) パーミッション テーブルへのパス xx  
  xx [ ] デバイス テーブル xx の拡張属性をサポート  
  xx [ ] /bin、/sbin、および /lib には /usr へのシンボリック リンクを使用します。 xx  
  xx [*] パスワード xx  
  xx (root)  
  で root ログインを有効にします。 xx  

  xx [*] ブート後に getty (ログインプロンプト) を実行 ---> xx  
  xx [*] ブート中にルートファイルシステムを読み書き  
  可能に再マウント xx xx () DHCP xx  
  xx (/bin:/sbin: /usr/bin:/usr/sbin) システムのデフォルト PATH xx を設定します  
  xx [*] 不要なロケールを消去する xx  
  xx (C en_US) 保持するロケール xx  
  xx () ロケール データを生成する xx  
  xx [ ] ネイティブ言語サポート (NLS) を有効にする xx  
  xx -*- タイムゾーン情報をインストールする xx  
  xx (デフォルト) タイムゾーン リスト xx  
  xx (Etc/UTC) デフォルトの現地時間 xx  
  xx () ユーザーテーブルへのパス xx  
  xx (board/cvitek/cv1826/overlay-32) ルート ファイルシステム オーバーレイ ディレクトリ xx  
  xx () ファイル システム イメージを作成する前に実行するカスタム スクリプト xx  
  xx () fakeroot 環境内で実行する  
  カスタム スクリプトファイルシステム イメージ xx  


修正:
  xx ルート FS スケルトン (デフォルト ターゲット スケルトン) ---> xx  
  xx (yd-dictpen) システム ホスト名 xx  
  xx (YD Buildroot へようこそ) システム バナー xx  
  xx パスワード エンコーディング (sha-256) ---> xx  
  xxシステムの初期化 (BusyBox) ---> xx  
  xx /dev 管理 (devtmpfs + eudev を使用した動的) ---> xx  
  xx (system/device_table.txt) 許可テーブルへのパス xx  
  xx [ ] デバイス テーブルの拡張属性をサポート xx  
  xx [ ] /bin、/sbin、および /lib には /usr へのシンボリック リンクを使用します xx  
  xx [*] パスワード xx  
  xx でルート ログインを有効にします () ルート パスワード xx  
  xx /bin/sh (busybox のデフォルト シェル) ---> xx  

  xx [*] ブート後に getty (ログイン プロンプト) を実行 ---> xx  
  xx [*] ブート中にルート ファイルシステムを読み書き  
  可能に再マウント xx xx () DHCP xx  
  xx (/bin:/sbin:/ usr/bin:/usr/sbin) システムのデフォルト PATH xx を設定します  
  xx [*] 不要なロケールを消去する xx  
  xx (C en_US) 保持するロケール xx  
  xx () ロケール データを生成する xx  
  xx [ ] ネイティブ言語サポート (NLS) を有効にする xx  
  xx -*- タイムゾーン情報をインストールする xx  
  xx (デフォルト) タイムゾーン リスト xx  
  xx (Etc/UTC) デフォルトの現地時間 xx  
  xx () ユーザーテーブルへのパス xx  
  xx (board/cvitek/cv1826/overlay-32) ルート ファイルシステム オーバーレイ ディレクトリ xx  
  xx () ファイル システム イメージを作成する前に実行するカスタム スクリプト xx  
  xx () fakeroot 環境内で実行する  
  カスタム スクリプトファイルシステム イメージ xx  
  xx xx  
  xx xx  


http://e.betheme.net/article/show-999739.aspx?action=onClick
参照ブログ:                                                                              
Buildroot ルート ファイル システム権限テーブル、ユーザー テーブル、デバイス管理                                             
リファレンス マニュアル: buildroot マニュアル                                                                 
、デフォルトのルート ユーザー、あなたはmake menuconfig を使用して構成できます; パスワードは下のメニューで設定されます;
システム構成 --->() root パスワード                                           


3、继续修正:
BR2_TOOLCHAIN_EXTERNAL_GCC_6=y                     
BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6=y               
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y              
# BR2_TOOLCHAIN_EXTERNAL_HAS_SSP_STRONGが設定されていない 
BR2_TOOLCHAIN_EXTERNAL_CXX=y                       
# BR2_TARGET_GENERIC_HOSTNAME="yd-dictpen"          
#BR2_TARGET_GENERIC_ISSUE="YD Buildroot へようこそ"
# BR2_INIT_NONE が設定されていません                         
BR2_TARGET_GENERIC_ROOT_PASSWD=""        
         
BR2_ROOTFS_OVERLAY= 「ボード/cvitek/cv1826/overlay-32」
BR2_INIT_BUSYBOX=y                                 
BR2_PACKAGE_BUSYBOX=y                              
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y         
BR2_PACKAGE_INITSCRIPTS=y                          


LOG はまだユーザー名が存在することを発見し、パスワードは削除されました!
Buildroot へようこそ 
buildroot ログイン: root

#                    
#                    


使用できるファイル:
Z:\buildroot1\buildroot\package\sysvinit\inittab
# /etc/inittab
#
# この inittab は sysvinit の基本的な inittab サンプルであり、
BusyBox の Buildroot のデフォルトの inittab #を模倣しています

si0::sysinit:/bin/mount -t proc proc /proc
si1::sysinit:/bin/mount -o remount,rw /
si2::sysinit:/bin/mkdir -p /dev/pts /dev/shm
si3 ::sysinit:/bin/mount -a
si4::sysinit:/sbin/swapon -a
si5::sysinit:/bin/ln -sf /proc/self/fd /dev/fd 2>/dev/null
si6: :sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin 2>/dev/null
si7::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout 2>/dev/null
si8::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr 2>/dev/null
si9::sysinit:/bin/hostname -F /etc/hostname
rcS:12345:wait:/etc/init.d/rcS

# S0:1:respawn:-/bin/sh # GENERIC_SERIAL

# 3 本指敬礼のためにやるべきこと
#ca::ctrlaltdel:/sbin/reboot

# 再起動前に行うこと
shd0:06:wait:/etc/init.d/rcK
shd1:06:wait:/sbin/swapoff -a
shd2:06:wait:/bin/umount -a -r

# 通常の停止または再起動アクション
hlt0:0:wait:/sbin/halt -dhp
reb0:6:wait:/sbin/reboot


Z:\buildroot1\buildroot\package\busybox\inittab 
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <[email protected]>
#
# 注: BusyBox init はランレベルをサポートしていません。runlevels フィールドは
# BusyBox init によって完全に無視されます。ランレベルが必要な場合は、
# sysvinit を使用します。
#
# 各エントリのフォーマット: <id>:<runlevels>:<action>:<process>
#
# id == 実行する tty、または /dev/console の場合は空
# runlevels == 無視
# action == の 1 つsysinit, respawn, askfirst, wait, and once
# process == 実行するプログラム

# システム起動
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw / ::
sysinit:/bin/mkdir -p /dev/pts /dev/shm
::sysinit:/bin/mount -a
::sysinit:/sbin/swapon -a
null::sysinit:/bin/ln -sf /proc/self/fd /dev/fd
null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
null::sysinit:/bin/ln -sf /proc /self/fd/2 /dev/stderr
::sysinit:/bin/hostname -F /etc/hostname
# rc スクリプトを実行
::sysinit:/etc/init.d/rcS

# シリアルポートに getty を配置
#ttyS0::respawn:-/bin/sh # GENERIC_SERIAL

# 3本指敬礼でやること
#::ctrlaltdel:/sbin/reboot

# 再起動前にやること
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r


Z:\buildroot1\buildroot\package\sysvinit\sysvinit.mk
###################################### ############################################
#
# sysvinit
#
## #################################################### ############################

SYSVINIT_VERSION = 2.99
SYSVINIT_SOURCE = sysvinit-$(SYSVINIT_VERSION).tar.xz
SYSVINIT_SITE = http://download.savannah.nongnu.org/releases/sysvinit
SYSVINIT_LICENSE = GPL-2.0+
SYSVINIT_LICENSE_FILES = コピー
SYSVINIT_CPE_ID_VENDOR = sysvinit_プロジェクト

SYSVINIT_MAKE_OPTS = SYSROOT=$(STAGING_DIR)

ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
SYSVINIT_DEPENDENCIES += libselinux
SYSVINIT_MAKE_OPTS += WITH_SELINUX="yes"
endif

define SYSVINIT_BUILD_CMDS
    $(TARGET_CONFIGURE_OPTS) $(MAKE) $(SYSVINIT_MAKE_OPTS) -C $(@D)/src
endef


    halt init shutdown killall5 で x にSYSVINIT_INSTALL_TARGET_CMDS を定義します。do \
        $(INSTALL) -D -m 0755 $(@D)/src/$$x $(TARGET_DIR)/sbin/$$x || 出口1; \
    done
    $(INSTALL) -D -m 0644 package/sysvinit/inittab $(TARGET_DIR)/etc/inittab
    ln -sf /sbin/halt $(TARGET_DIR)/sbin/reboot
    ln -sf /sbin/halt $(TARGET_DIR) /sbin/poweroff
    ln -sf killall5 $(TARGET_DIR)/sbin/pidof
endef

ifeq ($(BR2_TARGET_GENERIC_GETTY),y)
define SYSVINIT_SET_GETTY
    $(SED) '/# GENERIC_SERIAL$$/s~^.*#~$(shell echo $(SYSTEM_GETTY_PORT) | tail -c+4)::respawn:-/ bin/sh #~' \
        $(TARGET_DIR)/etc/inittab
endef
else
define SYSVINIT_SET_GETTY
    $(SED) '/# GENERIC_SERIAL$$/s~^.*#~# S0:1:respawn:-/bin/sh # ~' \
        $(TARGET_DIR)/etc/inittab
endef
endif # BR2_TARGET_GENERIC_GETTY
SYSVINIT_TARGET_FINALIZE_HOOKS += SYSVINIT_SET_GETTY

SYSVINIT_TARGET_FINALIZE_HOOKS += SYSTEM_REMOUNT_ROOT_INITTAB

$(eval $(汎用パッケージ))

おすすめ

転載: blog.csdn.net/wb4916/article/details/130410748