Should work with ...cpio.gz
Should. Does not. Even does not with ext2.gz. Even like this it will report wrong format. In order to do it correctly, i MUST to add a U-Boot header, and I am doing this with this command:
mkimage -n 'Ramdisk Image' -A arm -O linux -T ramdisk -C gzip -d initramfs.ext2.gz initramfs.uImage
And the image I actually supply is: initramfs.uImage
Then, the following happens:
=> run netloadfdt link up on port 0, speed 100, full duplex Using cpsw device TFTP from server 192.168.15.2; our IP address is 192.168.15.20 Filename 'am335x-boneblack.dtb'. Load address: 0x88000000 Loading: ### 697.3 KiB/s done Bytes transferred = 35016 (88c8 hex) => run netloadimage link up on port 0, speed 100, full duplex Using cpsw device TFTP from server 192.168.15.2; our IP address is 192.168.15.20 Filename 'zImage'. Load address: 0x82000000 Loading: ################################################################# ################################################################# ################################################################# ################################################################# ######################## 772.5 KiB/s done Bytes transferred = 4161160 (3f7e88 hex) => tftp 0x88080000 initramfs.uImage link up on port 0, speed 100, full duplex Using cpsw device TFTP from server 192.168.15.2; our IP address is 192.168.15.20 Filename 'initramfs.uImage'. Load address: 0x88080000 Loading: ################################################################# #################################################################
[snap]
####################################################### 767.6 KiB/s done Bytes transferred = 46599246 (2c70c4e hex) => dhcp link up on port 0, speed 100, full duplex BOOTP broadcast 1 DHCP client bound to address 192.168.15.159 (21 ms) => run ramboot Booting from ramdisk ... ## Loading init Ramdisk from Legacy Image at 88080000 ... Image Name: Ramdisk Image Created: 2018-02-21 9:46:15 UTC Image Type: ARM Linux RAMDisk Image (gzip compressed) Data Size: 46599182 Bytes = 44.4 MiB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Ramdisk to 8d38f000, end 8ffffc0e ... OK Loading Device Tree to 8d383000, end 8d38e8c7 ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.13.8-jumpnow (oe-user@oe-host) (gcc version 7.2.0 (GCC)) #1 Tue Jan 9 15:37:12 CET 2018 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black [ 0.000000] Memory policy: Data cache writeback [ 0.000000] cma: Reserved 16 MiB at 0x9f000000 [ 0.000000] CPU: All CPU(s) started in SVC mode. [ 0.000000] AM335X ES2.1 (sgx neon) [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/ram0 rw rootfstype=ext2 <<======================== Kernel Command Line
[SNAP]
[ 1.770469] omap_voltage_late_init: Voltage driver support not added [ 1.777510] ThumbEE CPU extension supported. [ 1.791397] mmcblk0: mmc0:59b4 USD 1.87 GiB [ 1.801349] mmcblk0: p1 p2 [ 1.868955] mmc1: new high speed MMC card at address 0001 [ 1.876511] mmcblk1: mmc1:0001 MMC04G 3.60 GiB [ 1.882230] mmcblk1boot0: mmc1:0001 MMC04G partition 1 2.00 MiB [ 1.890172] mmcblk1boot1: mmc1:0001 MMC04G partition 2 2.00 MiB [ 1.896948] mmcblk1rpmb: mmc1:0001 MMC04G partition 3 128 KiB [ 1.906237] mmcblk1: p1 p2 [ 1.925804] tps65217 0-0024: TPS65217 ID 0xe version 1.2 [ 1.932470] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz [ 1.948789] omap_rtc 44e3e000.rtc: setting system clock to 2017-12-04 18:09:58 UTC (1512410998) [ 1.963613] List of all partitions: [ 1.967311] 0100 16384 ram0 [ 1.967322] (driver?) [ 1.973831] 0101 16384 ram1 [ 1.973840] (driver?) [ 1.980294] 0102 16384 ram2 [ 1.980303] (driver?) [ 1.986703] 0103 16384 ram3 [ 1.986711] (driver?) [ 1.993144] 0104 16384 ram4 [ 1.993153] (driver?) [ 1.999582] 0105 16384 ram5 [ 1.999590] (driver?) [ 2.005991] 0106 16384 ram6 [ 2.005999] (driver?) [ 2.012428] 0107 16384 ram7 [ 2.012437] (driver?) [ 2.018903] 0108 16384 ram8 [ 2.018911] (driver?) [ 2.025313] 0109 16384 ram9 [ 2.025321] (driver?) [ 2.031776] 010a 16384 ram10 [ 2.031785] (driver?) [ 2.038304] 010b 16384 ram11 [ 2.038312] (driver?) [ 2.044804] 010c 16384 ram12 [ 2.044812] (driver?) [ 2.051344] 010d 16384 ram13 [ 2.051352] (driver?) [ 2.057871] 010e 16384 ram14 [ 2.057879] (driver?) [ 2.064371] 010f 16384 ram15 [ 2.064379] (driver?) [ 2.070912] b300 1960960 mmcblk0 [ 2.070922] driver: mmcblk [ 2.078079] b301 131072 mmcblk0p1 46a788a5-01 [ 2.078088] [ 2.085214] b302 1828863 mmcblk0p2 46a788a5-02 [ 2.085222] [ 2.092652] b308 3776512 mmcblk1 [ 2.092663] driver: mmcblk [ 2.099840] b309 98304 mmcblk1p1 00000000-01 [ 2.099849] [ 2.106975] b30a 3677184 mmcblk1p2 00000000-02 [ 2.106984] [ 2.114160] b320 128 mmcblk1rpmb [ 2.114169] (driver?) [ 2.121235] b318 2048 mmcblk1boot1 [ 2.121244] (driver?) [ 2.128401] b310 2048 mmcblk1boot0 [ 2.128410] (driver?) [ 2.135533] No filesystem could mount root, tried: [ 2.135541] ext2 [ 2.140682] [ 2.144262] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0) [ 2.153034] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
It's not a U-Boot thing, it's that the test shell overlay needs to be added to the ramdisk, so the ramdisk needs to be unpacked and repacked. You can also use apply-overlay: false and then transfer-overlay support but that requires that the ramdisk raises a working network interface automatically and has tools like wget and tar.
This I did not understand... I am just trying to boot plain U-Boot, not Lava setup (for the starters).
For now, just repack the ramdisk to use gz compression...
Done. Does not work.
...then move on to doing NFS - depending on your kernel config, you might not need to add modules to the ramdisk.
Why I should do the NFS? I am just having MLO and U-Boot on the SDCard, then I would like to have ramdisk as mount point?!
(I know most of the think does not apply to Lava, but maybe you have a clue)
Thank you, Zoran
On Tue, Feb 20, 2018 at 5:26 PM, Neil Williams neil.williams@linaro.org wrote:
On 20 February 2018 at 15:10, Zoran S zoran.stojsavljevic.de@gmail.com wrote:
Hello Neil,
Do you have any handy examples for BBB how to boot from ram disk, written in jinja2?
The gold standard test jobs are in the documentation, including one for a BBB ramdisk. You don't need jinja2 changes for that.
It does not want to boot initramfs.cpio.xz
Should work with ...cpio.gz
It's not a U-Boot thing, it's that the test shell overlay needs to be added to the ramdisk, so the ramdisk needs to be unpacked and repacked.
You can also use apply-overlay: false and then transfer-overlay support but that requires that the ramdisk raises a working network interface automatically and has tools like wget and tar.
For now, just repack the ramdisk to use gz compression, then move on to doing NFS - depending on your kernel config, you might not need to add modules to the ramdisk.
(or similar format??? I am using u-boot 11.2017)?!
Thank you, Zoran
On Tue, Feb 20, 2018 at 2:33 PM, Neil Williams neil.williams@linaro.org wrote:
On 20 February 2018 at 12:51, Zoran S zoran.stojsavljevic.de@gmail.com wrote:
OK.
It seems to me that I need somehow to activate the following .conf file:
/usr/lib/python2.7/dist-packages/lava_dispatcher/default-config/lava-dispatcher/device-types/beaglebone-black.conf
No. That is for V1 only - it is completely irrelevant to LAVA V2. All the device configuration is done on the master using the Jinja2 templates.
On Tue, Feb 20, 2018 at 12:28 PM, Neil Williams neil.williams@linaro.org wrote:
On 20 February 2018 at 11:20, Zoran S zoran.stojsavljevic.de@gmail.com wrote:
Hello,
I am bringing now the target Beaglebone Black, as DUT in Lava.
Here is my BBB01.jinja2 device definition:
{% extends 'beaglebone-black.jinja2' %} {% set connection_command = '/vagrant/scripts/connectBBB.sh localhost 8020 root ""' %} {% set power_on_command = '/usr/bin/egctl egenie on left left left' %} {% set power_off_command = '/usr/bin/egctl egenie off left left left' %} {% set hard_reset_command = '/usr/bin/egctl egenie on left left left' %}
Where the line: "vagrant/scripts/connectBBB.sh localhost 8020 root ""'
represents as $@ the following: 127.0.0.1 8020 root and "" ("" represents empty password, actually <cr>).
What password? To connect to the serial port of the device? That looks wrong.
If a password is required to login to the booted system, that must be supplied in the test job definition using auto login action support.
It seems that this part works correctly:
end: 2.4.1 reset-device (duration 00:00:00) start: 2.4.2 u-boot-interrupt (timeout 00:03:00) Changing prompt to 'Press SPACE to abort autoboot' u-boot-interrupt: Wait for prompt Press SPACE to abort autoboot (timeout 00:03:00) spawn telnet localhost 8020 Trying ::1... Connected to localhost. Escape character is '^]'. ser2net port 8020 device /dev/ttyUSB0 [115200 N81] (Debian GNU/Linux)
end: 2.4.2 u-boot-interrupt (duration 00:00:02) start: 2.4.3 bootloader-commands (timeout 00:02:58) Changing prompt to start interaction: U-Boot bootloader-commands: Wait for prompt U-Boot (timeout 00:03:00)
Your U-Boot configuration did not issue a prompt, it immediately went into booting the board with whatever was last installed.
switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 ** Unable to read file boot.scr ** ** Unable to read file uEnv.txt ** switch to partitions #0, OK mmc0 is current device Scanning mmc 0:1... switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 switch to partitions #0, OK mmc0 is current device SD/MMC found on device 0 ** Unable to read file boot.scr ** ** Unable to read file uEnv.txt ** 4161168 bytes read in 293 ms (13.5 MiB/s) 35016 bytes read in 23 ms (1.5 MiB/s) ## Flattened Device Tree blob at 88000000 Booting using the fdt blob at 0x88000000 Loading Device Tree to 8fff4000, end 8ffff8c7 ... OK Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.13.8-jumpnow (oe-user@oe-host) (gcc version 7.2.0 (GCC)) #1 Fri Jan 12 13:27:03 CET 2018 [ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] OF: fdt: Machine model: TI AM335x BeagleBone Black [ 0.000000] Memory policy: Data cache writeback [ 0.000000] cma: Reserved 16 MiB at 0x9f000000 [ 0.000000] CPU: All CPU(s) started in SVC mode.
But when it comes to login to kernel login, it fails!
It cannot login because it's trying to login to the wrong system - whatever was last installed, not the one specified in the test job. There are no TFTP operations here - that's a problem.
Starting OpenBSD Secure Shell server: sshd key_load_public: invalid format Could not load host key: /etc/ssh/ssh_host_rsa_key key_load_public: invalid format Could not load host key: /etc/ssh/ssh_host_dsa_key key_load_public: invalid format Could not load host key: /etc/ssh/ssh_host_ecdsa_key key_load_public: invalid format Could not load host key: /etc/ssh/ssh_host_ed25519_key sshd: no hostkeys available -- exiting. Starting rpcbind daemon...done. starting statd: done exportfs: can't open /etc/exports for reading modprobe: can't change directory to '/lib/modules': No such file or directory NFS daemon support not enabled in kernel Starting syslogd/klogd: done Poky (Yocto Project Reference Distro) 2.3.2 beaglebone /dev/ttyO0 beaglebone login: [ 170.488770] random: crng init done bootloader-commands timed out after 178 seconds end: 2.4.3 bootloader-commands (duration 00:02:58) uboot-retry failed: 1 of 1 attempts. 'bootloader-commands timed out after 178 seconds' bootloader-commands timed out after 178 seconds end: 2.4 uboot-retry (duration 00:03:00) uboot-action failed: 1 of 1 attempts. 'bootloader-commands timed out after 178 seconds' bootloader-commands timed out after 178 seconds end: 2 uboot-action (duration 00:03:00) Cleaning after the job Cleaning up download directory: /var/lib/lava/dispatcher/tmp/84/tftp-deploy-a0ZzPD/ramdisk Cleaning up download directory: /var/lib/lava/dispatcher/tmp/84/tftp-deploy-a0ZzPD/kernel Cleaning up download directory: /var/lib/lava/dispatcher/tmp/84/tftp-deploy-a0ZzPD/dtb Cleaning up download directory: /var/lib/lava/dispatcher/tmp/84/tftp-deploy-a0ZzPD/modules start: 4.1 power-off (timeout 00:00:05) nice /usr/bin/egctl egenie off left left left command output socket 1 - off socket 2 - off socket 3 - off socket 4 - off
It seems that empty character as "" in jinja2 is noit well represented (or maybe I need to have somehow <CR>)?!
Any advise too this problem?
Thank you, Zoran zo _______________________________________________ Lava-users mailing list Lava-users@lists.linaro.org https://lists.linaro.org/mailman/listinfo/lava-users
--
Neil Williams
neil.williams@linaro.org http://www.linux.codehelp.co.uk/
--
Neil Williams
neil.williams@linaro.org http://www.linux.codehelp.co.uk/
--
Neil Williams
neil.williams@linaro.org http://www.linux.codehelp.co.uk/