TFTP error: 'File not found' - embedded-linux

I am using minicom on Kali Linux native ( Linux 4.6.0-kali1-amd64 x86_64 )
to install embedded linux on a stm32f746g-Disco.
After setting up the tftp protocol, the ethernet connection with the board
, after building the kernel and putting the image in the appropriate folder ( \tftpboot\stm32f7\uImage is the path & name of the image ), I'm starting minicom to comunicate with the board.
The comunication with the board works fine, but the problem is that the board somewhat cannot read the image of the kernel, even if the path is correct:
STM32F746-DISCO> reset
resetting ...
U-Boot 2010.03 (Dec 21 2015 - 04:18:19)
CPU : STM32F7 (Cortex-M7)
Freqs: SYSCLK=200MHz,HCLK=200MHz,PCLK1=50MHz,PCLK2=100MHz
Board: STM32F746 Discovery Rev 1.A, www.emcraft.com
DRAM: 8 MB
In: serial
Out: serial
Err: serial
Net: STM32_MAC
Hit any key to stop autoboot: 0
Auto-negotiation...completed.
STM32_MAC: link UP (100/Full)
Using STM32_MAC device
TFTP from server 172.17.4.1; our IP address is 172.17.4.206
Filename 'stm32f7/uImage'.
Load address: 0xc0007fc0
Loading: *
TFTP error: 'File not found' (1)
Not retrying...
Wrong Image Format for bootm command
ERROR: can't get kernel image! `
The image folder and file is chrooted:
root#DESKTOP-26MQUER:/tftpboot/stm32f7# ls -la
drwxrwxrwx 2 root root 4096 gen 12 16:06 .
drwxrwxrwx 3 root root 4096 gen 10 14:36 ..
-rw-r--r-- 1 root root 0 gen 12 16:06 pippo
-rwxrwxrwx 1 root root 1384352 gen 12 16:02 uImage
the tftp file is this
root#DESKTOP-26MQUER:/tftpboot/stm32f7# cat /etc/xinetd.d/tftp
service tftp
{
protocol = udp
port = 69
socket_type = dgram
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = /tftpboot
disable = no
}
Please notice that the xinetd service is active.
I can't understand the problem, guidance will be appreciated.

If have checked all possible point on tftp config, the issue is still there, you can try a standalone tftp server(standalone means not be managed by xinetd):
1, try to install tftpd-hpa
2, config tftpd-hpa
$ sudo vi /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -c -s"
3, start tftp server
$ sudo service tftpd-hpa restart

Even though this is an old thread.In my case it problem was that (CentOS) /usr/lib/systemd/system/tftp.service contained only -s [path to dir] and xinet wasn't using tftp config.So adding switches from xinet tftp config to tftp.service solve my problem.

Related

Yocto mounting initramfs / initrd image to Raspberry Pi

Using Yocto-based tools, I'm able to generate several files for deployment. These involve:
sdimg file for writing to the SD card
A cpio.gz archive (Initramfs)
Image-initramfs.bin (Initramfs)
I would like to activate plymouth in my Embedded board (Raspberry Pi) with a Yocto-based Linux distribution. However I am not sure how to mount the cpio.gz archive or Image-initramfs.bin. I've read online that vanilla Raspbian has an entry in /config.txt in boot partition i.e. initramfs <file.gz> <start_address> and also a kernel command line option in /cmdline.txt in boot partition i.e. initrd=<file.gz>.
What I've tried so far involves both of these approaches. I copy the cpio.gz file to the /boot in root filesystem partition and configure the aforementioned files, which did not work. To break it down, here is how it looks:
+ Boot Partition
+ ---- overlays/
+ ---- config.txt
+ ---- cmdline.txt
+ ---- kernel.img
+ 1.2GB Volume (rootfs)
+ ---- bin/
+ ---- boot/
+--- <file>.cpio.gz
+ ---- var/
+ ---- usr/
....
Now, in config.txt, I have something like (tried many variations):
initramfs <file>.cpio.gz 0x00a00000
ramfsfile="<file>.cpio.gz"
ramfsaddr=0x00a00000
In cmdline.txt, I have:
initrd=<file>.cpio.gz dwc_otg.lpm_enable=0 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait
However, nothing is enough for the kernel to even give an error. That means, system boots up as normal, and there is no sign of initramfs usage.
Kernel that I compile with yocto is the following:
#> uname -a
#> Linux raspberrypi0-wifi 4.9.77-rt61 #11 PREEMPT RT Tue May 22 01:14:26 +03 2018 armv6l armv6l armv6l GNU/Linux
Following kernel config parameters are enabled:
#> modprobe configs
#> cat /proc/config.gz | gunzip > kernelconf.txt
...
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y
I don't know what I'm missing here. Anything that catches your attention, please let me know. Any guidance is well appreciated.
I was able to boot into the initramfs by copying the resulting .cpio.gz archive to the boot partition of the sd card.
Then I've edited the config.txt option from
#initramfs initramf.gz 0x00800000
to
initramfs <name-of-the-copied-archive>.cpio.gz
After booting the raspberry it boots now into my initramfs image.

AT91SAM9263ek booting Linux with Device Tree failed

I have problem booting Linux 3.16.1. I have compiled sources from http://www.kernel.org with at91sam9263_defconfig.
I have added Flattened Device Tree support in Boot options.
Followin tips suggested in this (https://www.slideshare.net/softpapa/device-tree-support-on-arm-linux-8930303) presentation to turn on Support device tree in /proc but i don't have that option in menuconfig.
I have U-Boot bootloader version 2014.10rc2 which supports device tree.
I have generated dtb from script shipped with kernel:
make at91sam9263ek.dtb
And now i'm getting this error:
Welcome to minicom 2.5
OPTIONS: I18n
Compiled on Feb 9 2011, 14:45:00.
Port /dev/ttyS0
Press CTRL-A Z for help on special keys
RomBOOT
>
U-Boot 2014.10-rc2-00200-g9170818-dirty (Sep 23 2014 - 15:16:39)
CPU: AT91SAM9263
Crystal frequency: 16.368 MHz
CPU clock : 199.919 MHz
Master clock : 99.960 MHz
DRAM: 64 MiB
WARNING: Caches not enabled
NAND: 256 MiB
MMC: mci: 0
In: serial
Out: serial
Err: serial
Net: macb0
Warning: Your board does not use generic board. Please read
doc/README.generic-board and take action. Boards not
upgraded by the late 2014 may break or be removed.
Hit any key to stop autoboot: 0
U-Boot> tftp uImage
macb0: Starting autonegotiation...
macb0: Autonegotiation complete
macb0: link up, 100Mbps full-duplex (lpa: 0xcde1)
Using macb0 device
TFTP from server 192.168.1.247; our IP address is 192.168.1.240
Filename 'uImage'.
Load address: 0x22000000
Loading: #################################################################
#################################################################
#################################################################
##############
1.2 MiB/s
done
Bytes transferred = 3068016 (2ed070 hex)
U-Boot> tftp 20000000 dt
macb0: link up, 100Mbps full-duplex (lpa: 0xcde1)
Using macb0 device
TFTP from server 192.168.1.247; our IP address is 192.168.1.240
Filename 'dt'.
Load address: 0x20000000
Loading: #
340.8 KiB/s
done
Bytes transferred = 13279 (33df hex)
U-Boot> bootm 22000000 - 20000000
## Booting kernel from Legacy Image at 22000000 ...
Image Name: Linux-3.16.1
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3067952 Bytes = 2.9 MiB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 20000000
Booting using the fdt blob at 0x20000000
Loading Kernel Image ... OK
Loading Device Tree to 23ea3000, end 23ea93de ... OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Error: unrecognized/unsupported device tree compatible list:
[ 'atmel,at91sam9263ek' 'atmel,at91sam9263' 'atmel,at91sam9' ]
Available machine support:
ID (hex) NAME
000004b2 Atmel AT91SAM9263-EK
Please check your kernel config and/or bootloader.
Solution:
Add this line to .config:
CONFIG_MACH_AT91SAM9_DT=y
The correct configuration for this board when using device tree is at91_dt_defconfig.
However, I am quite surprised to see someone trying to use such an old kernel. This board is fully supported upstream. Why don't you use v5.3? If this doesn't work, please report any bug, we will be happy to help correct them.

Mavericks bootloop after updating node through brew and chown usr/local

It had been a while since I rebooted my MacBook Air, and I was editing my bash profile, updating node through homebrew (in the process sudo chown -R $USER /usr/local/ - first bad idea), and had added ntfs support (through ntfs-3g - yeah, terrible/dumb idea). It shut down normally, but gets stuck at the Apple log and the spinning gear indefinitely. I can boot into single user mode and even log in through launchctl (still in single user mode command prompt), and have verified the disk and permissions through recovery mode. When I boot in verbose mode, it loads until the Thunderbolt HPD packet information.
The last few lines of my verbose startup are
AppleHSSPIController::HandleMessage Device Wake by Host
hfs: mounted Macintosh HD on device root_device
XCPM: registered
Apple Internal Keyboard / Trackpad::start Start Succeeded
[AppleMultitouchDevice::start] entered
com.apple.launchd 1 com.apple.launchd 1 *** launchd[1] has started up. ***
com.apple.launchd 1 com.apple.launchd 1 *** Verbose boot, will log to /dev/console. ***
com.apple.launchd 1 com.apple.launchd 1 *** Shutdown loggin is enabled. ***
** /dev/rdisk0s2 (NO WRITE)
** Root file system
Executing fsck_hfs (version hfs-226.1.1).
USBMSC Identifier (non-unique): 000000000820 0x5ac 0x8406 0x820, 3
Thunderbolt Self-Reset Count = 0xedefbe00
IOThunderboltSwitch<0xffffff8023f9bc00>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 11 unplug = 0
IOThunderboltSwitch<0xffffff8023f9bc00>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 11 unplug = 0
IOThunderboltSwitch<0xffffff8023f9bc00>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 12 unplug = 0
Anyone have any thoughts? I'd really rather not to a reinstall but will if I have to. I removed /etc/fstab since I thought that might be part of the problem, but it still isn't doing anything different.

Apache on Win2003 cannot find the path specified

A fresh installation of Apache 2.2 on Win2003.
Configuration validates with the apache tool yet when I attempt to access the site the browser displays an internal error.
Apache log shows:
[Mon Jul 16 13:36:38 2012] [error] [client 10.162.9.158] (OS 3)The
system cannot find the path specified. : couldn't spawn child
process: D:/Heatmap/Webapp/public/dispatch.cg
The file system shows:
D:\Heatmap\Webapp\public>dir dispatch* Volume in drive D is DATA
Volume Serial Number is C482-3950
Directory of D:\Heatmap\Webapp\public
05/02/2012 10:56 AM 445 dispatch.cgi 05/02/2012 10:56
AM 520 dispatch.fcgi
2 File(s) 965 bytes
0 Dir(s) 5,625,618,432 bytes free
Since I noramlly run Apache on Linux servers I'm stymied as to what the root cause is here. The system cannot find a path that is present.
Cluestick please.
The bit of the message couldn't spawn child process caught my attention.
Research showed the shebang line is actually used by Apache - unless Perl at the WinOS level which associates the file extension with the interpreter - and I needed to correct it in my .cgi.
Specifying the full path to Perl in the cgi's shebang line corrected the problem.

How do I get sendmail to work reliably on a Mac OS 10.5?

I need to use sendmail from Macs in an office. At the moment, I can get it to work on the two development Macs (which I think is due to MAMP being installed and working), but getting it to go on the others seems to be a problem...
I assume it's down to some config issue, and hope there's someway to fix it (without resorting to installing MAMP on each machine !).
I think it may be down to the 'local' nature of the from, but not sure. Here's a dump of /var/log/mail.log if that's any help:
Nov 14 14:37:06 claire-g5 postfix/master[5339]: daemon started -- version 2.4.3, configuration /etc/postfix
Nov 14 14:37:06 claire-g5 postfix/qmgr[5341]: 2B625250BDB: from=<claire#claire-g5.local>, size=1131, nrcpt=1 (queue active)
Nov 14 14:37:06 claire-g5 postfix/qmgr[5341]: D5D19250D5A: from=<claire#claire-g5.local>, size=1191, nrcpt=1 (queue active)
Nov 14 14:37:06 claire-g5 postfix/smtp[5344]: 2B625250BDB: host mx01.xxx.uk[212.x.x.134] said: 451 cannot relay now to <xx#xx.com>, please try again later (in reply to RCPT TO command)
Nov 14 14:37:06 claire-g5 postfix/smtp[5346]: D5D19250D5A: host mx01.xxx.uk[212.x.x.186] said: 451 cannot relay now to <xx#xx.com>, please try again later (in reply to RCPT TO command)
Nov 14 14:37:07 claire-g5 postfix/smtp[5346]: D5D19250D5A: to=<xx#xx.com>, relay=mx01.xxx.uk[212.x.x.134]:25, delay=2350, delays=2349/0.08/0.7/0.12, dsn=4.0.0, status=deferred (host mx01.xxx.uk[212.x.x.134] said: 451 cannot
Nov 14 14:37:07 claire-g5 postfix/pickup[5340]: 1A2EC2511D1: uid=501 from=<claire
Note that it's postfix that you have running on your mac, not sendmail.
The problem is that the machine mx01.xxx.uk[212.x.x.134] is configured to block mail relaying (accepting an email over SMTP and sending it on to the final mail server). The postfix configuration files are normally stored in /etc/postfix so you could start by looking there. In particular, look at the mynetworks setting in main.cf.
Ah ha! Thanks Denis - this looks like the beasty...
### MAMP Postfix Configuration - Start ###
myorigin = example.com
myhostname = mailer.$myorigin
smtpd_sender_restrictions = permit_inet_interfaces
# smart host
relayhost = auth.example.co.uk
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_MAMP_passwd
smtp_sasl_security_options = noanonymous
### MAMP Postfix Configuration - End ###
# DONT REMOVE: MAMP PRO main.cf template compatibility version: 1
I'll give it a go, and get back to you.

Resources