Comment 15 for bug 1684239

Revision history for this message
zappacor (zappacor-l) wrote :

Hi guys,

unfortunatelly, I hit an issue with this patched version: there seems to be some issues, at least for LEAF (Linux Embedded Appliance Framework - https://sourceforge.net/projects/leaf).

Previous steps to reproduce (LEAF image creation):
 # This download is ~110M:
 wget https://downloads.sourceforge.net/project/leaf/Bering-uClibc/6.0.3/Bering-uClibc_6.0.3_x86_64_syslinux_serial115200.tar.gz
 qemu-img create -f qcow2 bering-own.qcow2 256M
 modprobe nbd
 qemu-nbd -c /dev/nbd0 bering-own.qcow2
 # Use fdisk to create a type c (FAT32 LBA) bootable partition like this:
 # Device Boot Start End Sectors Size Id Type
 # /dev/nbd0p1 * 2048 524287 522240 255M c W95 FAT32 (LBA)
 fdisk /dev/nbd0
 mkfs.vfat -n BERING -F 32 /dev/nbd0p1
 syslinux -i /dev/nbd0p1
 dd conv=notrunc bs=440 count=1 if=/usr/lib/SYSLINUX/mbr.bin of=/dev/nbd0
 mount /dev/nbd0p1 /mnt/
 tar -C /mnt -zxvf ./Bering-uClibc_6.0.3_x86_64_syslinux_serial115200.tar.gz

Not using the VVFAT it works OK:
 ./patched-qemu-christian-OK/qemu-system-x86_64\
  -nodefaults -nographic -localtime -enable-kvm -smp 1 -m 512 -serial stdio\
  -drive if=ide,file=bering-own.qcow2\
  -kernel /mnt/syslinux/linux -initrd /mnt/initrd.lrp\
  -append 'rw root=/dev/ram0 console=ttyS0,115200n8 VERBOSE=1 PKGPATH=/dev/sda1:vfat LRP=root,license,local'
 # Type all this to shutdown LEAF:
 # root + [ENTER] + [ENTER] + q + poweroff

However, when using the VVFAT emulation:
 ./patched-qemu-christian-OK/qemu-system-x86_64\
  -nodefaults -nographic -localtime -enable-kvm -smp 1 -m 512 -serial stdio\
  -drive if=ide,file=fat:rw:/mnt\
  -kernel /mnt/syslinux/linux -initrd /mnt/initrd.lrp\
  -append 'rw root=/dev/ram0 console=ttyS0,115200n8 VERBOSE=1 PKGPATH=/dev/sda1:vfat LRP=root,license,local'
LEAF displays these errors:
 LINUXRC: Mounted /dev/sda1 as vfat
 LINUXRC: Installing - root: dev: /dev/sda1 mnt: /mnt1 t: vfat f: /mnt1/root.lrp /dev/sda1gunzip: invalid magic
 (cpt!) license: dev: /dev/sda1 mnt: /mnt1 t: vfat f: /mnt1/license.lrp /dev/sda1gunzip: invalid magic
 (cpt!) local: dev: /dev/sda1 mnt: /mnt1 t: vfat f: /mnt1/local.lrp /dev/sda1gunzip: unexpected end of file
 (cpt!) configdb: dev: /dev/sda1 mnt: /mnt1 t: vfat f: /mnt1/configdb.lrp /dev/sda1gunzip: invalid magic
 (cpt!) - Finished.
 LINUXRC: Mounting squashfs with modules...
 mount: mounting /dev/loop0 on /lib/modules/4.4.61-x86_64 failed: Invalid argument
 LINUXRC: Squashfs mount failed!
 LINUXRC: loading modules from /etc/modules
 sed: /etc/modules: No such file or directory

To somehow debug it, I added the VVFAT as a second IDE HDD while using the qcow disk image as the primary boot drive:
 ./patched-qemu-christian-OK/qemu-system-x86_64\
  -nodefaults -nographic -localtime -enable-kvm -smp 1 -m 512 -serial stdio\
  -drive if=ide,file=bering-own.qcow2,index=0\
  -drive if=ide,file=fat:rw:/mnt\
  -kernel /mnt/syslinux/linux -initrd /mnt/initrd.lrp\
  -append 'rw root=/dev/ram0 console=ttyS0,115200n8 VERBOSE=1 PKGPATH=/dev/sda1:vfat LRP=root,license,local'
 # => root + {ENTER] + [ENTER] + q
Then, get errors when mounting the VVFAT disk partition (but it gets mounted...) as well as when trying to display a sub-dir of it:
 firewall# mount /dev/sdb1 /mnt/
 [ 29.728503] ata1.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 [ 29.730150] ata1.01: BMDMA stat 0x4
 [ 29.730955] ata1.01: failed command: WRITE DMA
 [ 29.731878] ata1.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 dma 512 out
 [ 29.731878] res 41/04:01:3f:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
 [ 29.734848] ata1.01: status: { DRDY ERR }
 [ 29.735653] ata1.01: error: { ABRT }
 [ 29.748597] ata1.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 [ 29.750128] ata1.01: BMDMA stat 0x4
 [ 29.751237] ata1.01: failed command: WRITE DMA
 [ 29.752674] ata1.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 dma 512 out
 [ 29.752674] res 41/04:01:3f:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
 [ 29.757221] ata1.01: status: { DRDY ERR }
 [ 29.758383] ata1.01: error: { ABRT }
 [ 29.770561] ata1.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 [ 29.772068] ata1.01: BMDMA stat 0x4
 [ 29.772851] ata1.01: failed command: WRITE DMA
 [ 29.773828] ata1.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 dma 512 out
 [ 29.773828] res 41/04:01:3f:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
 [ 29.778542] ata1.01: status: { DRDY ERR }
 [ 29.779828] ata1.01: error: { ABRT }
 [ 29.793604] ata1.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 [ 29.795799] ata1.01: BMDMA stat 0x4
 [ 29.796860] ata1.01: failed command: WRITE DMA
 [ 29.798271] ata1.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 dma 512 out
 [ 29.798271] res 41/04:01:3f:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
 [ 29.802941] ata1.01: status: { DRDY ERR }
 [ 29.804105] ata1.01: error: { ABRT }
 [ 29.817601] ata1.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 [ 29.819547] ata1.01: BMDMA stat 0x4
 [ 29.820560] ata1.01: failed command: WRITE DMA
 [ 29.821848] ata1.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 dma 512 out
 [ 29.821848] res 41/04:01:3f:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
 [ 29.826243] ata1.01: status: { DRDY ERR }
 [ 29.827424] ata1.01: error: { ABRT }
 [ 29.840597] ata1.01: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x0
 [ 29.842000] ata1.01: BMDMA stat 0x4
 [ 29.843059] ata1.01: failed command: WRITE DMA
 [ 29.844294] ata1.01: cmd ca/00:01:3f:00:00/00:00:00:00:00/f0 tag 0 dma 512 out
 [ 29.844294] res 41/04:01:3f:00:00/00:00:00:00:00/f0 Emask 0x1 (device error)
 [ 29.848549] ata1.01: status: { DRDY ERR }
 [ 29.849667] ata1.01: error: { ABRT }
 [ 29.852992] blk_update_request: I/O error, dev sdb, sector 63
 [ 29.854540] Buffer I/O error on dev sdb1, logical block 0, lost sync page write
 firewall#
 firewall# mount | grep sd
 /dev/sdb1 on /mnt type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=866,iocharset=cp1251,shortname=mixed,errors=remount-ro)
 firewall#
 firewall# ls -d /mnt/s*
 /mnt/samba-swat.lrp /mnt/shorwall6-lite.lrp /mnt/ssh.lrp
 /mnt/samba-util.lrp /mnt/shorwall6.lrp /mnt/sshblack.lrp
 /mnt/samba.lrp /mnt/siproxd.lrp /mnt/sshd.lrp
 /mnt/screen.lrp /mnt/smartctl.lrp /mnt/sshkey.lrp
 /mnt/sensors.lrp /mnt/smartd.lrp /mnt/strongswan.lrp
 /mnt/ser2net.lrp /mnt/snarf.lrp /mnt/stunnel.lrp
 /mnt/serial.lrp /mnt/snmpmibs.lrp /mnt/syslinux
 /mnt/sftp.lrp /mnt/snort.lrp /mnt/sysstat.lrp
 /mnt/shorwall-lite.lrp /mnt/speedtch.lrp
 /mnt/shorwall.lrp /mnt/squid.lrp
 firewall#
 firewall# ls -d /mnt/syslinux/s*
 [ 33.622258] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
 [ 33.625700] FAT-fs (sdb1): Filesystem has been set read-only
 ls: /mnt/syslinux/s4?-??�?.d|�: Input/output error
 [ 33.629724] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
 ls: /mnt/syslinux/s�^�;??�.p�: Input/output error
 /mnt/syslinux/s?<?????.??o
 firewall#

Please don't hesitate to ask me for further debugging, captures, logs or whatever. I'll be glad to have this solved.

Thanks in advance,
Rolando