AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-276165

Dave's questions

Martin Hope
Dave
Asked: 2020-02-25 06:39:31 +0800 CST

Como posso instalar módulos do kernel em um sistema de arquivos montado?

  • 1

Estou configurando um sistema embarcado que é construído usando o projeto Yocto. Isso gera um sistema de arquivos raiz, kernel, u-boot, etc. Tenho um script de instalação que executo a partir de um cartão SD que configura o eMMC na placa com partições, copia no rootfs, uboot, etc. sistema quando inicializo a partir do eMMC.

O problema que estou tendo é com o driver ethernet. Não está instalado no sistema por padrão. O script de instalação copia /lib/modules/4.14.98-imx8mq+gea48c83/kernel/drivers/net/ethernet/freescale/fec.koe eu posso fazer login via serial e carregá-lo manualmente com insmod, e isso funciona bem. Mas não tenho certeza de como fazê-lo carregar automaticamente.

O Systemd procura /etc/modules-load.d/listas de módulos para carregar, mas esse processo parece usar modprobe e não insmod. O sistema modprobe realmente não sabe sobre o driver ethernet porque eu não executei o depmod nele. Mas não consigo executar o depmod do instalador porque ele o instalaria na instalação do meu cartão SD, não no eMMC.

Qual é a minha melhor abordagem aqui? Preciso encontrar alguma maneira de executar o depmod durante a instalação? Talvez isso possa ser feito com chroot?

Ou existe uma boa maneira de fazer meu módulo carregar automaticamente sem usar o sistema depmod/modprobe?

Qualquer insight aqui seria muito apreciado.

systemd kernel-modules
  • 1 respostas
  • 959 Views
Martin Hope
Dave
Asked: 2019-10-30 06:06:33 +0800 CST

Como posso adicionar "importação de env" ausente ao u-boot?

  • 1

Estou tentando configurar um u-boot em uma placa imx8 para carregar variáveis ​​de ambiente de um arquivo uEnv.txt na primeira partição. Eu tenho que trabalhar para carregar o arquivo e agora estou tentando importar esses dados com env import. No entanto, a versão u-boot construída com o BSP do fornecedor não parece ter env importuma opção. Isto é o que recebo quando tento executá-lo:

u-boot=> env import -t ${loadaddr} $(filesize}
env - environment handling commands

Usage:
env default [-f] -a - [forcibly] reset default environment
env default [-f] var [...] - [forcibly] reset variable(s) to their default values
env delete [-f] var [...] - [forcibly] delete variable(s)
env edit name - edit environment variable
env exists name - tests for existence of variable
env print [-a | name ...] - print environment
env run var [...] - run commands in an environment variable
env save - save environment
env set [-f] name [arg ...]

Também notei alguns outros comandos ausentes que estou acostumado a gostar loadfat.

É env importalgo opcional que precisa ser configurado antes de compilar? Em caso afirmativo, alguém pode fornecer informações sobre como isso é feito?

Para referência, estou usando o Yocto Sumo para construir o u-boot, e o número da versão do u-boot mostra como: U-Boot SPL 2018.03-imx_v2018.03_4.14.78_1.0.0_ga_var01+g5c48b6c (29 de outubro de 2019 - 13:16 :16 +0000)

Edit: Na verdade, não consigo encontrar referência a env importser um comando oficial, mas já vi referência a ele em vários lugares. Se não for um comando, como posso pegar variáveis ​​de ambiente que carreguei de um arquivo na memória e aplicá-las?

embedded
  • 1 respostas
  • 2091 Views
Martin Hope
Dave
Asked: 2019-02-28 06:15:30 +0800 CST

Por que não consigo excluir este diretório?

  • 2

O que está acontecendo aqui?

dave@dave-desktop:/mnt/w/Source/Sign/dist$ ls -la
total 0
drwxrwxrwx 1 dave dave 512 Feb 27 08:55 .
drwxrwxrwx 1 dave dave 512 Feb 27 09:09 ..
drwxrwxrwx 1 dave dave 512 Feb 27 09:09 signage
dave@dave-desktop:/mnt/w/Source/Sign/dist$ rmdir signage
rmdir: failed to remove 'signage': Permission denied
dave@dave-desktop:/mnt/w/Source/Sign/dist$ rm -rf signage
rm: cannot remove 'signage': Permission denied
dave@dave-desktop:/mnt/w/Source/Sign/dist$ whoami
dave

Isso está no "Ubuntu" rodando no Windows 10 WSL.

ubuntu windows-subsystem-for-linux
  • 3 respostas
  • 1432 Views
Martin Hope
Dave
Asked: 2018-04-17 09:49:51 +0800 CST

Restaurar arquivos do tar usando rsync

  • 2

Estou escrevendo a funcionalidade de atualização de software para um equipamento embarcado. Atualmente, o sistema de arquivos raiz é atualizado pegando um novo arquivo rootfs.tar.gz e descompactando-o no sistema de arquivos raiz (substituindo os arquivos existentes e adicionando novos). Mas isso não exclui os arquivos que não estão no novo pacote.

Portanto, agora vou ter que rm -rf todos os arquivos existentes e descompactar o novo arquivo rootfs tar. Isso parece muito trabalhoso e leva muito tempo, e talvez a única coisa que mudou foi um arquivo de configuração.

Em vez disso, gostaria de poder rsync o conteúdo de um arquivo .tar.gz para um diretório. Isso é possível sem passar por algum tipo de intermediário (ou seja, sem descompactar o tar em um diretório temporário e fazer o rsync)?

linux rsync
  • 1 respostas
  • 706 Views
Martin Hope
Dave
Asked: 2018-04-07 08:14:44 +0800 CST

Como depurar o problema do u-boot?

  • 1

Estou trabalhando para montar um sistema personalizado no Beaglebone Black. As coisas funcionam na maior parte do tempo, mas de vez em quando, o sistema falha ao inicializar quando ligado. Isso nunca acontece quando um cabo de depuração serial está conectado (para que eu possa assistir às mensagens do u-boot e do kernel).

No entanto, o que descobri é que, nas raras vezes em que falha, se eu conectar um cabo serial, descubro que estou sentado em um prompt u-boot. Se eu configurar manualmente o u-boot para carregar o kernel e tudo a partir daí, posso inicializar apenas encontrar (ele pode ler o eMMC e tal).

Meu primeiro pensamento foi que havia algum tipo de ruído na linha serial que estava causando a quebra do u-boot (o padrão é quebrar no espaço em 2 segundos, acredito). No entanto, recompilei o u-boot para usar um atraso de 0 segundos (não espera a barra de espaço), mas isso não resolveu o problema.

Como posso descobrir por que o u-boot está parando sem conectar um cabo serial durante a inicialização (porque isso faz com que o problema desapareça; Heisenbug)? Existe algum tipo de registro ativado que eu possa acessar?

boot boot-loader
  • 1 respostas
  • 808 Views
Martin Hope
Dave
Asked: 2018-03-23 08:02:32 +0800 CST

u-boot bootdelay=2 ao inicializar o ext4 e bootdelay=0 ao inicializar o fat

  • 0

Estou executando o u-boot em uma instalação personalizada do Beaglebone Black e modifiquei ./include/configs/am335x_evm.h para definir o bootdelay padrão como 0, que estava funcionando bem quando eu estava carregando meu kernel e a árvore de dispositivos de um fat partição. Mas troquei a partição 1 de fat para ext4 e mudei as declarações de fatload em meu uEnv.txt para ext4load. Tudo funciona como antes, exceto que agora voltei a ter um atraso de inicialização de 2 segundos. Não entendo por que a troca de tipos de partição causaria isso.

Alguém sabe como posso recompilar o u-boot para definir o bootdelay de volta para 0 no caso de eu usar a partição de inicialização ext4?


Como alternativa, suponho que poderia descobrir como fazer o saveenv funcionar. Atualmente dá:

=> saveenv
Saving Environment to FAT... MMC: no card present
** Bad device mmc 0 **
Failed (1)

Mas, honestamente, prefiro apenas alterar o padrão em tempo de compilação.

boot-loader embedded
  • 1 respostas
  • 1331 Views
Martin Hope
Dave
Asked: 2018-03-03 16:05:52 +0800 CST

Por que metade das minhas partições lógicas não estão disponíveis?

  • 1

Estou tentando particionar o eMMC em um Beaglebone Black. Aqui está como eu tenho /dev/mmcblk1 particionado:

root@beaglebone:~# fdisk -l /dev/mmcblk1
Disk /dev/mmcblk1: 3.6 GiB, 3825205248 bytes, 7471104 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9ccd5613

Device          Boot   Start     End Sectors  Size Id Type
/dev/mmcblk1p1  *       2048  206847  204800  100M  c W95 FAT32 (LBA)
/dev/mmcblk1p2        206848 7112703 6905856  3.3G  5 Extended
/dev/mmcblk1p5        208896  823295  614400  300M 83 Linux
/dev/mmcblk1p6        825344 1849343 1024000  500M 83 Linux
/dev/mmcblk1p7       1851392 2875391 1024000  500M 83 Linux
/dev/mmcblk1p8       2877440 3901439 1024000  500M 83 Linux
/dev/mmcblk1p9       3903488 4927487 1024000  500M 83 Linux
/dev/mmcblk1p10      4929536 7026687 2097152    1G 83 Linux

É exatamente assim que deve parecer. A partição 1 é primária, a partição 2 é estendida e as demais são lógicas. No entanto, quando listo os dispositivos, vejo apenas as partições 1, 2, 5, 6 e 7.

root@beaglebone:~# ls -l /dev/mmcblk1p*
brw-rw---- 1 root disk 179,  9 Mar  2 23:53 /dev/mmcblk1p1
brw-rw---- 1 root disk 179, 10 Mar  2 23:53 /dev/mmcblk1p2
brw-rw---- 1 root disk 179, 13 Mar  2 23:53 /dev/mmcblk1p5
brw-rw---- 1 root disk 179, 14 Mar  2 23:53 /dev/mmcblk1p6
brw-rw---- 1 root disk 179, 15 Mar  2 23:53 /dev/mmcblk1p7

lsblk mostra o mesmo:

root@beaglebone:~# lsblk
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
mmcblk0      179:0    0  7.2G  0 disk
└─mmcblk0p1  179:1    0  3.3G  0 part /
mmcblk1      179:8    0  3.6G  0 disk
├─mmcblk1p1  179:9    0  100M  0 part
├─mmcblk1p2  179:10   0    1K  0 part
├─mmcblk1p5  179:13   0  300M  0 part
├─mmcblk1p6  179:14   0  500M  0 part
└─mmcblk1p7  179:15   0  500M  0 part
mmcblk1boot0 179:16   0    4M  1 disk
mmcblk1boot1 179:24   0    4M  1 disk

Isso é verdade mesmo após uma reinicialização. Estou tentando fazer isso inicializado a partir do cartão SD executando o debian 9 (Linux beaglebone 4.4.84-ti-r120).

Alguém sabe o que pode estar acontecendo aqui? Atingi algum tipo de limite?

linux debian
  • 3 respostas
  • 416 Views
Martin Hope
Dave
Asked: 2018-02-16 07:15:07 +0800 CST

Por que o uboot está ignorando mmcroot em uEnv.txt?

  • 1

Estou tentando obter uma compilação linux incorporada usando yocto para funcionar. Estou muito perto, mas estou tendo problemas com a chuteira. Eu tenho 2 sistemas de arquivos raiz. Um é o principal e o outro é para ser usado durante atualizações de firmware. No entanto, não consigo fazer o sistema inicializar nada além do primeiro arquivo rootfs.

Aqui está o layout da minha partição:

Disk /dev/mmcblk1: 3825 MB, 3825205248 bytes
4 heads, 16 sectors/track, 116736 cylinders
Units = cylinders of 64 * 512 = 32768 bytes

        Device Boot      Start         End      Blocks  Id System
/dev/mmcblk1p1   *          33        6432      204800   c Win95 FAT32 (LBA)
/dev/mmcblk1p2            6433       19232      409600  83 Linux
/dev/mmcblk1p3           19233       32032      409600  83 Linux
/dev/mmcblk1p4           32033       97568     2097152   5 Extended
/dev/mmcblk1p5           32065       43264      358400  83 Linux
/dev/mmcblk1p6           43297       97568     1736704  83 Linux

/dev/mmcblk1p2 e /dev/mmcblk1p3 são os sistemas de arquivos raiz.

Atual quando eu inicializo a máquina ela inicializa /dev/mmcblk1p2, apesar de ter mmcroot configurado como /dev/mmcblk1p3 em uEnv.txt. Aqui está o meu uEnv:

bootdir=
bootfile=zImage
fdtfile=am335x-boneblack.dtb
loadaddr=0x80007fc0
fdtaddr=0x80F80000
console=ttyO0,115200
mmcroot=/dev/mmcblk1p3
mmcrootfstype=ext4
loadfdt=fatload mmc 1:1 ${fdtaddr} ${fdtfile}
loaduimage=fatload mmc 1:1 ${loadaddr} ${bootfile}
mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype}
uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}

Além disso, aqui estão os resultados de uma inicialização:

U-Boot SPL 2017.09 (Feb 15 2018 - 07:11:54)
Trying to boot from MMC2
reading u-boot.img
reading u-boot.img


U-Boot 2017.09 (Feb 15 2018 - 07:11:54 -0500)

CPU  : AM335X-GP rev 2.1
I2C:   ready
DRAM:  512 MiB
No match for driver 'omap_hsmmc'
No match for driver 'omap_hsmmc'
Some drivers were not found
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
Net:   cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
Card did not respond to voltage select!
mmc_init: -95, time 12
Card did not respond to voltage select!
mmc_init: -95, time 12
Card did not respond to voltage select!
mmc_init: -95, time 13
Card did not respond to voltage select!
mmc_init: -95, time 13
Card did not respond to voltage select!
mmc_init: -95, time 12
switch to partitions #0, OK
mmc1(part 0) is current device
Scanning mmc 1:1...
reading /am335x-boneblack.dtb
36168 bytes read in 9 ms (3.8 MiB/s)
switch to partitions #0, OK
mmc1(part 0) is current device
SD/MMC found on device 1
5768968 bytes read in 380 ms (14.5 MiB/s)
36168 bytes read in 22 ms (1.6 MiB/s)
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8fff4000, end 8ffffd47 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.12.12-yocto-standard (oe-user@oe-host) (gcc version 7.3.0 (GCC) ) #1 PREEMPT Thu Feb 15 07:09:00 EST 2018
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: TI AM335x BeagleBone Black
Memory policy: Data cache writeback
cma: Reserved 16 MiB at 0x9e800000
CPU: All CPU(s) started in SVC mode.
AM335X ES2.1 (sgx neon)
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129666
Kernel command line: console=ttyO0,115200n8 root=PARTUUID=b804e92a-02 rw rootfstype=ext4 rootwait
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 486888K/523264K available (8192K kernel code, 778K rwdata, 2600K rodata, 1024K init, 595K bss, 19992K reserved, 16384K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xe0000000 - 0xff800000   ( 504 MB)
    lowmem  : 0xc0000000 - 0xdff00000   ( 511 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0900000   (9184 kB)
      .init : 0xc0d00000 - 0xc0e00000   (1024 kB)
      .data : 0xc0e00000 - 0xc0ec29ec   ( 779 kB)
       .bss : 0xc0ecc6c4 - 0xc0f6134c   ( 596 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
ftrace: allocating 30390 entries in 90 pages
Preemptible hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
OMAP clockevent source: timer2 at 24000000 Hz
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
OMAP clocksource: timer1 at 24000000 Hz
clocksource_probe: no matching clocksources found
Console: colour dummy device 80x30
Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
Setting up static identity map for 0x80100000 - 0x80100060
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 256 (order: -1, 3072 bytes)
xor: measuring software checksum speed
   arm4regs  :  1201.600 MB/sec
   8regs     :   893.200 MB/sec
   32regs    :  1156.400 MB/sec
xor: using function: arm4regs (1201.600 MB/sec)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
omap_hwmod: debugss: _wait_target_disable failed
cpuidle: using governor ladder
cpuidle: using governor menu
OMAP GPIO hardware version 0.1
hw-breakpoint: debug architecture 0x4 unsupported.
raid6: int32x1  gen()   209 MB/s
raid6: int32x1  xor()   143 MB/s
raid6: int32x2  gen()   226 MB/s
raid6: int32x2  xor()   162 MB/s
raid6: int32x4  gen()   190 MB/s
raid6: int32x4  xor()   133 MB/s
raid6: int32x8  gen()   175 MB/s
raid6: int32x8  xor()   118 MB/s
raid6: using algorithm int32x2 gen() 226 MB/s
raid6: .... xor() 162 MB/s, rmw enabled
raid6: using intx1 recovery algorithm
edma 49000000.edma: TI EDMA DMA engine driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c0_pins, deferring probe
omap_i2c 4802a000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c1_pins, deferring probe
omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/l4_wkup@44c00000/scm@210000/pinmux@800/pinmux_i2c2_pins, deferring probe
clocksource: Switched to clocksource timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: no interrupt-affinity property for /pmu, guessing.
hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
workingset: timestamp_bits=14 max_order=17 bucket_order=3
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
io scheduler mq-deadline registered
io scheduler kyber registered
pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
omap_uart 44e09000.serial: no wakeirq for uart0
44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
console [ttyO0] enabled
omap_uart 48022000.serial: no wakeirq for uart1
48022000.serial: ttyO1 at MMIO 0x48022000 (irq = 159, base_baud = 3000000) is a OMAP UART1
omap_uart 48024000.serial: no wakeirq for uart2
48024000.serial: ttyO2 at MMIO 0x48024000 (irq = 160, base_baud = 3000000) is a OMAP UART2
brd: module loaded
mtdoops: mtd device (mtddev=name/number) must be supplied
libphy: Fixed MDIO Bus: probed
davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
davinci_mdio 4a101000.mdio: detected phy mask fffffffe
random: fast init done
libphy: 4a101000.mdio: probed
davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
cpsw 4a100000.ethernet: Detected MACID = 68:9e:19:8f:7c:44
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-omap: OMAP-EHCI Host Controller driver
usbcore: registered new interface driver usb-storage
am335x-phy-driver 47401300.usb-phy: 47401300.usb-phy supply vcc not found, using dummy regulator
irq: no irq domain found for /ocp/i2c@44e0b000/tps@24 !
am335x-phy-driver 47401b00.usb-phy: 47401b00.usb-phy supply vcc not found, using dummy regulator
musb-hdrc musb-hdrc.1: Failed to request rx1.
omap_rtc 44e3e000.rtc: already running
omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
i2c /dev entries driver
omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
omap_hsmmc 48060000.mmc: Got CD GPIO
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: using arm/armv7
u32 classifier
    Actions configured
NET: Registered protocol family 10
Segment Routing with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
Key type dns_resolver registered
omap_voltage_late_init: Voltage driver support not added
ThumbEE CPU extension supported.
Btrfs loaded, crc32c=crc32c-generic
Key type encrypted registered
mmc1: new high speed MMC card at address 0001
mmcblk1: mmc1:0001 S10004 3.56 GiB
mmcblk1boot0: mmc1:0001 S10004 partition 1 4.00 MiB
mmcblk1boot1: mmc1:0001 S10004 partition 2 4.00 MiB
 mmcblk1: p1 p2 p3 p4 < p5 p6 >
tps65217 0-0024: TPS65217 ID 0xe version 1.2
omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
omap_i2c 4802a000.i2c: bus 1 rev0.11 at 50 kHz
omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
musb-hdrc musb-hdrc.1: MUSB HDRC host driver
musb-hdrc musb-hdrc.1: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
console [netcon0] enabled
netconsole: network logging started
omap_rtc 44e3e000.rtc: setting system clock to 2018-02-15 12:46:24 UTC (1518698784)
EXT4-fs (mmcblk1p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K
INIT: version 2.88 booting
Starting udev
udevd[111]: starting version 3.2.2
udevd[112]: starting eudev-3.2.2
EXT4-fs (mmcblk1p2): re-mounted. Opts: data=ordered
INIT: Entering runlevel: 5
Configuring network interfaces... net eth0: initializing cpsw version 1.12 (0)
cpsw 4a100000.ethernet: initialized cpsw ale version 1.4
cpsw 4a100000.ethernet: ALE Table size 1024
SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc (v1.24.1) started
Sending discover...
cpsw 4a100000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Sending discover...
Sending select for 10.1.1.73...
Lease of 10.1.1.73 obtained, lease time 7200
/etc/udhcpc.d/50default: Adding DNS 10.1.0.1
done.
Starting OpenBSD Secure Shell server: sshd
done.
Starting syslogd/klogd: done
Starting web server: apache2.

Poky (Yocto Project Reference Distro) 2.4.2 beaglebone /dev/ttyO0

beaglebone login:

Você pode ver que está montando /dev/mmcblk1p2 como root.

Acho que algo está errado muito além de algo com uEnv.txt. Posso excluir uEnv.txt da minha partição de inicialização (/dev/mmcblk1p1) e o sistema ainda inicializa bem. Esse não deveria ser o caso. Na verdade, posso reduzir minha partição de inicialização para apenas MLO e u-boot.img, e o sistema ainda inicializa. Parece estar puxando a árvore de dispositivos nivelada e uEnv do diretório /dev/mmcblk1p2 /boot (o sistema não inicializará se eu excluir os arquivos lá).

Portanto, é como se /dev/mmcblk1p2 ou a partição 2 fosse codificada de alguma forma, embora eu não consiga encontrar nenhuma prova disso. Alguém sabe o que pode estar acontecendo e como posso habilitar meu sistema para inicializar a partir de qualquer um dos meus sistemas de arquivos raiz?

Aqui estão minhas configurações padrão do u-boot:

arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUUID=${uuid} rw rootfstype=${mmcrootfstype}
baudrate=115200
board=am335x
board_name=A335BNLT
board_rev=00C0
board_serial=0816BBBK018E
boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr}
boot_efi_binary=if fdt addr ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr ${fdtcontroladdr};fi;load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootarm.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_fdt=try
boot_fit=0
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_script_dhcp=boot.scr.uimg
boot_scripts=boot.scr.uimg boot.scr
boot_targets=mmc0 legacy_mmc0 mmc1 legacy_mmc1 nand0 pxe dhcp
bootcmd=if test ${boot_fit} -eq 1; then run update_to_fit; fi; run findfdt; run init_console; run envboot; run distro_bootcmd
bootcmd_dhcp=run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00010:UNDI:003000;setenv bootp_arch 0xa;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_legacy_mmc0=setenv mmcdev 0; setenv bootpart 0:2 ; run mmcboot
bootcmd_legacy_mmc1=setenv mmcdev 1; setenv bootpart 1:2 ; run mmcboot
bootcmd_mmc0=setenv devnum 0; run mmc_boot
bootcmd_mmc1=setenv devnum 1; run mmc_boot
bootcmd_nand=run nandboot
bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi
bootcount=1
bootdelay=2
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=0:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO0,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936;boot part 1 1;rootfs part 1 2;MLO fat 1 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 1 1;spl-os-image fat 1 1;u-boot.img fat 1 1;uEnv.txt fat 1 1
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x100;u-boot.img.raw raw 0x300 0x1000;u-env.raw raw 0x1300 0x200;spl-os-args.raw raw 0x1500 0x200;spl-os-image.raw raw 0x1700 0x6900;spl-os-args fat 0 1;spl-os-image fat 0 1;u-boot.img fat 0 1;uEnv.txt fat 0 1
dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.backup3 part 0 4;u-boot part 0 5;u-boot-spl-os part 0 6;kernel part 0 8;rootfs part 0 9
dfu_alt_info_ram=kernel ram 0x80200000 0x4000000;fdt ram 0x80f80000 0x80000;ramdisk ram 0x81000000 0x4000000
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadbootscript; then run bootscript;else if run loadbootenv; then echo Loaded env from ${bootenvfile};run importbootenv;fi;if test -n $uenvcmd; then echo Running uenvcmd ...;run uenvcmd;fi;fi;fi;
eth1addr=68:9e:19:8f:7c:46
ethaddr=68:9e:19:8f:7c:44
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtcontroladdr=9df219f8
fdtfile=undefined
findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi; if test $board_name = A335BNLT; then setenv fdtfile am335x-boneblack.dtb; fi; if test $board_name = BBBW; then setenv fdtfile am335x-boneblack-wireless.dtb; fi; if test $board_name = BBG1; then setenv fdtfile am335x-bonegreen.dtb; fi; if test $board_name = BBGW; then setenv fdtfile am335x-bonegreen-wireless.dtb; fi; if test $board_name = BBBL; then setenv fdtfile am335x-boneblue.dtb; fi; if test $board_name = A33515BB; then setenv fdtfile am335x-evm.dtb; fi; if test $board_name = A335X_SK; then setenv fdtfile am335x-evmsk.dtb; fi; if test $board_name = A335_ICE; then setenv fdtfile am335x-icev2.dtb; fi; if test $fdtfile = undefined; then echo WARNING: Could not determine device tree to use; fi;
finduuid=part uuid mmc ${bootpart} uuid
fit_bootfile=fitImage
fit_loadaddr=0x87000000
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t ${loadaddr} ${filesize}
init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;else setenv console ttyO0,115200n8;fi;
kernel_addr_r=0x82000000
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load ${devtype} ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadfit=run args_mmc; bootm ${loadaddr}#${fdtfile};
loadimage=load ${devtype} ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
mmcboot=mmc dev ${mmcdev}; setenv devnum ${mmcdev}; setenv devtype mmc; if mmc rescan; then echo SD/MMC found on device ${mmcdev};if run loadimage; then if test ${boot_fit} -eq 1; then run loadfit; else run mmcloados;fi;fi;fi;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; then if run loadfdt; then bootz ${loadaddr} - ${fdtaddr}; else if test ${boot_fdt} = try; then bootz; else echo WARN: Cannot load the DT; fi; fi; else bootz; fi;
mmcrootfstype=ext4 rootwait
mtdids=nand0=nand.0
mtdparts=mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.backup2),128k(NAND.SPL.backup3),256k(NAND.u-boot-spl-os),1m(NAND.u-boot),128k(NAND.u-boot-env),128k(NAND.u-boot-env.backup1),8m(NAND.kernel),-(NAND.file-system)
nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfstype=${nandrootfstype}
nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} NAND.u-boot-spl-os; nand read ${loadaddr} NAND.kernel; bootz ${loadaddr} - ${fdtaddr}
nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
nandrootfstype=ubifs rootwait=1
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${serverip}:${rootpath},${nfsopts} rw ip=dhcp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadimage; run netloadfdt; run netargs; bootz ${loadaddr} - ${fdtaddr}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=2MiB,size=-,uuid=${uuid_gpt_rootfs}
pxefile_addr_r=0x80100000
ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstype=${ramrootfstype}
ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr} ${fdtaddr}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
rdaddr=0x88080000
rootpath=/export/rootfs
scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi;
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; if test -z "${fdtfile}" -a -n "${soc}"; then setenv efi_fdtfile ${soc}-${board}${boardver}.dtb; fi; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootarm.efi; then echo Found EFI removable media binary efi/boot/bootarm.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scriptaddr=0x80000000
soc=am33xx
spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstype=${spirootfstype}
spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read ${loadaddr} ${spisrcaddr} ${spiimgsize}; bootz ${loadaddr}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial@44e09000
stdin=serial@44e09000
stdout=serial@44e09000
update_to_fit=setenv loadaddr ${fit_loadaddr}; setenv bootfile ${fit_bootfile}
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi
vendor=ti
ver=U-Boot 2018.01 (Feb 15 2018 - 13:50:14 -0500)

Environment size: 9701/131068 bytes

Also, here are a list of commands that when entered manually in u-boot, cause the system to boot perfectly:

setenv bootfile zImage
setenv fdtfile am335x-boneblack.dtb
setenv loadaddr 0x80007fc0
setenv fdtaddr 0x80F80000
setenv console ttyO0,115200
setenv mmcroot /dev/mmcblk1p3
setenv mmcrootfstype ext4
setenv loadfdt fatload mmc 1:1 ${fdtaddr} ${fdtfile}
setenv loaduimage fatload mmc 1:1 ${loadaddr} ${bootfile}
setenv bootargs console=${console} ${optargs} root=${mmcroot} rootfstype=${mmcrootfstype}
mmc rescan
run loaduimage
run loadfdt
bootz ${loadaddr} - ${fdtaddr}
linux u-boot
  • 1 respostas
  • 2831 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Possível firmware ausente /lib/firmware/i915/* para o módulo i915

    • 3 respostas
  • Marko Smith

    Falha ao buscar o repositório de backports jessie

    • 4 respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    user12345 Falha ao buscar o repositório de backports jessie 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl Por que a maioria dos exemplos do systemd contém WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve