Nuking sysctl -n vm.min_free_kbytes in functions.sh::prepare_environment() gets rid of that problem, but script chokes on the next step, determining root drive, apparently due to issues with presence of proc at this point..
# echo_broadcast "==> Preparing sysctl" # value_min_free_kbytes=$(sysctl -n vm.min_free_kbytes) # echo_broadcast "==> sysctl: vm.min_free_kbytes=[${value_min_free_kbytes}]" # echo_broadcast "==> sysctl: setting: [sysctl -w vm.min_free_kbytes=16384]" # sysctl -w vm.min_free_kbytes=16384 # generate_line 40 One interesting thing... Regarding the flasher script/process, it ALMOST looks like something is tied to the original uname-r associated with the stock image on 2018-01-01.. I tried a brief (horrible hack) experiment where I renamed the stock kernel, from: 4.4.91-ti-r141 to: 4.4.91-ti-r141-stock. I renamed the vmlinuz image to vmlinuz-4.4.91-ti-r141-stock, the modules directory to 4.4.91-ti-r141-stock, and the dtbs direcfory to uname-r-stock and then set uname-r in uEnv.txt to uname-r-stock and ran the flasher. I saw the same flasher problem (cannot stat /proc/sys/vm) with the renamed uname-r as with the 4.4.110-ti-r142 image ================================================================================ Prepare environment for flashing Starting at Mon Jan 1 00:00:01 UTC 2001 ---------------------------------------- ==> Giving system time to stablize... 5 4 3 2 1 ==> Preparing /tmp ==> Preparing sysctl sysctl: cannot stat /proc/sys/vm/min_free_kbytes: No such file or directory Traceback (last called is first): prepare_environment() in /opt/scripts/tools/eMMC/functions.sh:150 main() in /opt/scripts/tools/eMMC/init-eMMC-flasher-v3-no-eeprom.sh:41 The command value_min_free_kbytes=$(sysctl -n vm.min_free_kbytes) exited with exit code 255. ================================================================================ Tearing Down script environment ==> Unmounting /tmp I then did something even potentially worse and renamed the 4.4.110-ti-r142 kernel to 4.4.91-ti-r141 (consistent with the original image name) and ran the flasher image got a bunch of errors, but it looks like the flash programming process got a lot further along (see below). Next, I will try to re-build the 4.4.91-ti-r141 kernel with the same .config as on the 2018-01-01 image, copy that to the uSD card with uname-r = 4.4.91-ti-r141, and re-run the flasher. In the meantime, is there a logical explanation for what I just saw?? Either that the flasher script or the presence of /proc somehow depends on the original uname-r? Recall that if I copy a kernel with a different uname-r to uSD card and change uname-r in uEnv.txt that the system boots with that kernel (from uSD card).. Thanks! Jeff ================================================================================ Starting eMMC Flasher from microSD media Version: [1.20171220: btrfs...] ================================================================================ ================================================================================ Prepare environment for flashing Starting at Mon Jan 1 00:00:58 UTC 2001 ---------------------------------------- ==> Giving system time to stablize... 5 4 3 2 1 ==> Preparing /tmp ==> Preparing sysctl ==> sysctl: vm.min_free_kbytes=[2479] ==> sysctl: setting: [sysctl -w vm.min_free_kbytes=16384] vm.min_free_kbytes = 16384 ---------------------------------------- ==> Determining root drive ==> console=ttyO2,115200n8 root=/dev/mmcblk0p1 ro rootfstype=ext4 rootwait init=/opth ---------------------------------------- ==> root_drive=[/dev/mmcblk0p1] ====> Root drive identified at [/dev/mmcblk0p1] ==> Boot Drive [/dev/mmcblk0p1] ==> Figuring out Source and Destination devices ====> Source identified: [/dev/mmcblk0] ====> Destination identified: [/dev/mmcblk1] ==> Figuring out machine ====> Machine is TI_AM572x_EVM_Rev_A3 ====> Machine is compatible with BeagleBone Black ================================================================================ 5 4 3 2 1 ================================================================================ Checking running system ==> Copying: [/dev/mmcblk0] -> [/dev/mmcblk1] ==> lsblk: ---------------------------------------- NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk1boot0 179:16 0 4M 1 disk mmcblk1boot1 179:24 0 4M 1 disk mmcblk0 179:0 0 29G 0 disk `-mmcblk0p1 179:1 0 846M 0 part / mmcblk1 179:8 0 3.6G 0 disk `-mmcblk1p1 179:9 0 3.6G 0 part ---------------------------------------- ==> df -h | grep rootfs: ---------------------------------------- modprobe: ERROR: ../libkmod/libkmod.c:557 kmod_search_moddep() could not open moddep' ==> Giving you time to check... 10 9 8 7 6 5 4 3 2 1 ================================================================================ ================================================================================ Preparing drives ---------------------------------------- ==> Erasing: /dev/mmcblk1 ---------------------------------------- 108+0 records in 108+0 records out 113246208 bytes (113 MB) copied, 8.97986 s, 12.6 MB/s ---------------------------------------- 108+0 records in 108+0 records out 113246208 bytes (113 MB) copied, 1.71958 s, 65.9 MB/s ---------------------------------------- ==> Erasing: /dev/mmcblk1 complete ---------------------------------------- ---------------------------------------- ==> Loading /boot/SOC.sh ************************************************************ #!/bin/sh format=1.0 board=beagle_x15 bootloader_location=dd_spl_uboot_boot bootrom_gpt= dd_spl_uboot_count=2 dd_spl_uboot_seek=1 dd_spl_uboot_conf=notrunc dd_spl_uboot_bs=128k dd_spl_uboot_backup=/opt/backup/uboot/MLO dd_uboot_count=4 dd_uboot_seek=1 dd_uboot_conf=notrunc dd_uboot_bs=384k dd_uboot_backup=/opt/backup/uboot/u-boot.img boot_fstype=ext4 conf_boot_startmb=4 conf_boot_endmb= sfdisk_fstype=L boot_label=BOOT rootfs_label=rootfs #Kernel dtb= serial_tty=ttyO2 usbnet_mem= ************************************************************ ==> Loaded ---------------------------------------- ================================================================================ Writing bootloader to [/dev/mmcblk1] ---------------------------------------- ==> Figuring out options for SPL U-Boot copy ... ===> Will use : count=2 seek=1 conv=notrunc bs=128k ==> Figuring out options for U-Boot copy ... ===> Will use : count=4 seek=1 conv=notrunc bs=384k ==> Copying SPL U-Boot with dd if=/opt/backup/uboot/MLO of=/dev/mmcblk1 count=2 seekk ------------------------------------------------------------ 0+1 records in 0+1 records out 122070 bytes (122 kB) copied, 0.0182185 s, 6.7 MB/s ------------------------------------------------------------ ==> Copying U-Boot with dd if=/opt/backup/uboot/u-boot.img of=/dev/mmcblk1 count=4 sk ------------------------------------------------------------ 2+1 records in 2+1 records out 1042348 bytes (1.0 MB) copied, 0.150472 s, 6.9 MB/s ------------------------------------------------------------ Writing bootloader completed ================================================================================ ================================================================================ Partitionning /dev/mmcblk1 ---------------------------------------- ==> sfdisk parameters: sfdisk: [sfdisk from util-linux 2.25.2] sfdisk: [sfdisk --force --Linux --in-order --unit M /dev/mmcblk1] sfdisk: [4,,L,*] ==> Partitionning ------------------------------------------------------------ [ 43.171121] mmcblk1: p1 sfdisk: Checking that no-one is using this disk right now ... sfdisk: OK Disk /dev/mmcblk1: 116736 cylinders, 4 heads, 16 sectors/track sfdisk: /dev/mmcblk1: unrecognized partition table type Old situation: sfdisk: No partitions found New situation: Units: 1MiB = 1024*1024 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End MiB #blocks Id System /dev/mmcblk1p1 * 4 3647 3644 3731456 83 Linux /dev/mmcblk1p2 0 - 0 0 0 Empty /dev/mmcblk1p3 0 - 0 0 0 Empty /dev/mmcblk1p4 0 - 0 0 0 Empty Successfully wrote the new partition table Re-reading the partition table ... sfdisk: If you created or changed a DOS partition, /dev/foo7, say, then use dd(1) to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1 (See fdisk(8).) ------------------------------------------------------------ ==> Partitionning Completed ==> Generated Partitions: ------------------------------------------------------------ Disk /dev/mmcblk1: 116736 cylinders, 4 heads, 16 sectors/track Units: cylinders of 32768 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/mmcblk1p1 * 128 116735 116608 3731456 83 Linux /dev/mmcblk1p2 0 - 0 0 0 Empty /dev/mmcblk1p3 0 - 0 0 0 Empty /dev/mmcblk1p4 0 - 0 0 0 Empty ------------------------------------------------------------ ================================================================================ ================================================================================ Preparing future rootfs to receive files ---------------------------------------- ==> Formatting rootfs with mkfs.ext4 -O ^metadata_csum,^64bit /dev/mmcblk1p1 -L roos -------------------------------------------------------------------------------- mke2fs 1.43 (17-May-2016) Discarding device blocks: done Creating filesystem with 932864 4k blocks and 233392 inodes Filesystem UUID: f1ba24df-0109-4b9b-8598-eb34ae259aca Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocating group tables: done Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done -------------------------------------------------------------------------------- ==> Formatting rootfs: /dev/mmcblk1p1 complete ==> Creating temporary rootfs directory (/tmp/rootfs) ==> Mounting /dev/mmcblk1p1 to /tmp/rootfs [ 53.866332] EXT4-fs (mmcblk1p1): mounted filesystem with ordered data mode. Opts:) ================================================================================ ================================================================================ Copying: Current rootfs to /dev/mmcblk1p1 ---------------------------------------- ==> rsync: / -> /tmp/rootfs ---------------------------------------- [ 54.047765] random: nonblocking pool is initialized ---------------------------------------- ==> Copying: Kernel modules ===> Creating directory for modules ===> rsync: /lib/modules/4.4.110-ti-r142/ -> /tmp/rootfs/lib/modules/4.4.110-ti-r142/ ---------------------------------------- rsync: change_dir "/lib/modules/4.4.110-ti-r142" failed: No such file or directory () rsync error: some files/attrs were not transferred (see previous errors) (code 23) a] writing to [/dev/mmcblk1] failed... ---------------------------------------- On Tuesday, February 13, 2018 at 5:25:57 PM UTC-6, RobertCNelson wrote: > > Weird, for now just nuke that sysctr setting, it's not mandatory, it fixed > some randomness on the bones, which have a quarter the memory of the x15.. > > Regards, > > On Feb 13, 2018 5:17 PM, "Jeff Andich" <jeff....@gmail.com <javascript:>> > wrote: > >> Hi, >> >> I burned a uSD card with >> bbx15-debian-8.10-console-armhf-2018-01-01-1gb.img.xz which I got from >> elinux.org. The kernel which comes with that image is 4.4.91-ti-r141. >> But I have been building kernel version 4.4.110-ti-r142 from source >> following the instructions on eewiki.net for the BB-X15, and copying the >> kernel image, dtbs, and modules to that same uSD card which still has the >> stock kernel on it. Both kernel's appear to run just fine from uSD card >> when uname-r is changed in uEnv.txt. >> >> But when I run try to run the eMMC flasher script with the 4.4.110 (built >> from source) kernel running instead of the "stock kernel" running the >> flasher script dies when /proc/sys/vm/min_free_kbytes isn't there and then >> you see a kernel panic (please see console dump below). However, when I >> switch the running kernel back to the stock kernel, 4.4.91-ti-r141 which >> came with that image, the eMMC flasher script again works. I've tried >> running both, /opt/scripts/tools/eMMC/init-eMMC-flasher-v3-no-eeprom.sh >> and init-eMMC-flasher-v3-x15_b1.sh, both with the same result (I think). >> >> I'm wondering what other crucial step needs to be followed which I >> missed... I didn't touch the filesystem which was already part of the >> 2018-01-01 console BB-X15 image on that uSD card, but when I run "mount" on >> both kernels, I get differences (see below). >> >> >> Please take a look at what I've posted below and give me some clues as to >> where to look or what to read up on next.. >> >> Thanks!! >> >> >> >> >> *When the kernel built from source (4.4.110) is running from uSD card, >> and I'm logged in as debian (or have typed sudo su from debian), I'm able >> to run /sbin/sysctl -n vm.min_free_kbytes both as "debian" and su. So proc >> appears to be present on the 4.4.110 kernel running from uSD card once >> logged in: >> >> *When running both kernels from the uSD card, I ran "zcat >> /proc/config.gz" and the configurations were "pretty similar." (see diff >> below): >> >> < # Linux/arm 4.4.91 Kernel Configuration >> --- >> > # Linux/arm 4.4.110 Kernel Configuration >> 1208a1209 >> > # CONFIG_NET_DSA is not set >> 2809,2810c2810,2811 >> < CONFIG_SERIAL_8250_NR_UARTS=6 >> < CONFIG_SERIAL_8250_RUNTIME_UARTS=6 >> --- >> > CONFIG_SERIAL_8250_NR_UARTS=9 >> > CONFIG_SERIAL_8250_RUNTIME_UARTS=9 >> >> >> *One thing that's different is the outputs of the "mount" command run on >> the two kernels: >> >> > /dev/mmcblk0p1 on / type ext4 >> (rw,relatime,errors=remount-ro,data=ordered) >> > devtmpfs on /dev type devtmpfs >> (rw,relatime,size=824360k,nr_inodes=97302,mode=755) >> 3,6d4 >> < udev on /dev type devtmpfs >> (rw,relatime,size=10240k,nr_inodes=96053,mode=755) >> < devpts on /dev/pts type devpts >> (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) >> < tmpfs on /run type tmpfs (rw,nosuid,relatime,size=372500k,mode=755) >> < /dev/mmcblk0p1 on / type ext4 >> (rw,relatime,errors=remount-ro,data=ordered) >> 8a7,8 >> > devpts on /dev/pts type devpts >> (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) >> > tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755) >> 13,17d12 >> < cgroup on /sys/fs/cgroup/freezer type cgroup >> (rw,nosuid,nodev,noexec,relatime,freezer) >> < cgroup on /sys/fs/cgroup/blkio type cgroup >> (rw,nosuid,nodev,noexec,relatime,blkio) >> < cgroup on /sys/fs/cgroup/perf_event type cgroup >> (rw,nosuid,nodev,noexec,relatime,perf_event) >> < cgroup on /sys/fs/cgroup/devices type cgroup >> (rw,nosuid,nodev,noexec,relatime,devices) >> < cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup >> (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) >> 19c14,15 >> < cgroup on /sys/fs/cgroup/cpuset type cgroup >> (rw,nosuid,nodev,noexec,relatime,cpuset) >> --- >> > cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup >> (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct) >> > cgroup on /sys/fs/cgroup/perf_event type cgroup >> (rw,nosuid,nodev,noexec,relatime,perf_event) >> 21c17,20 >> < systemd-1 on /proc/sys/fs/binfmt_misc type autofs >> (rw,relatime,fd=22,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) >> --- >> > cgroup on /sys/fs/cgroup/cpuset type cgroup >> (rw,nosuid,nodev,noexec,relatime,cpuset) >> > cgroup on /sys/fs/cgroup/freezer type cgroup >> (rw,nosuid,nodev,noexec,relatime,freezer) >> > cgroup on /sys/fs/cgroup/devices type cgroup >> (rw,nosuid,nodev,noexec,relatime,devices) >> > cgroup on /sys/fs/cgroup/blkio type cgroup >> (rw,nosuid,nodev,noexec,relatime,blkio) >> 24c23 >> < configfs on /sys/kernel/config type configfs (rw,relatime) >> --- >> > systemd-1 on /proc/sys/fs/binfmt_misc type autofs >> (rw,relatime,fd=33,pgrp=1,timeout=0,minproto=5,maxproto=5,direct) >> 26c25,26 >> < tmpfs on /run/user/1000 type tmpfs >> (rw,nosuid,nodev,relatime,size=186252k,mode=700,uid=1000,gid=1000) >> --- >> > configfs on /sys/kernel/config type configfs (rw,relatime) >> > tmpfs on /run/user/1000 type tmpfs >> (rw,nosuid,nodev,relatime,size=186248k,mode=700,uid=1000,gid=1000) >> >> >> >> >> **** Console dump when attempting to flash the eMMC using kernel >> 4.4.110-ti-r142 compiled from source ***** >> >> >> ================================================================================ >> Starting eMMC Flasher from microSD media >> Version: [1.20171220: btrfs...] >> >> ================================================================================ >> >> >> ================================================================================ >> Prepare environment for flashing >> Starting at Mon Jan 1 00:28:24 UTC 2001 >> ---------------------------------------- >> ==> Giving system time to stablize... >> 5 4 3 2 1 >> ==> Preparing /tmp >> ==> Preparing sysctl >> sysctl: cannot stat /proc/sys/vm/min_free_kbytes: No such file or >> directory >> Traceback (last called is first): >> prepare_environment() in /opt/scripts/tools/eMMC/functions.sh:148 >> main() in /opt/scripts/tools/eMMC/init-eMMC-flasher-v3-x15_b1.sh:43 >> The command value_min_free_kbytes=$(sysctl -n vm.min_free_kbytes) exited >> with exit code 255. >> >> ================================================================================ >> Tearing Down script environment >> ==> Unmounting /tmp >> >> Usage: >> blockdev -V >> blockdev --report [devices] >> blockdev [-v|-q] commands devices >> >> Available commands: >> --getsz get size in 512-byte sectors >> --setro set read-only >> --setrw set read-write >> --getro get read-only >> --getdiscardzeroes get discard zeroes support status >> --getss get logical block (sector) size >> --getpbsz get physical block (sector) size >> --getiomin get minimum I/O size >> --getioopt get optimal I/O size >> --getalignoff get alignment offset in bytes >> --getmaxsect get max sectors per request >> --getbsz get blocksize >> --setbsz <bytes> set blocksize on file descriptor opening the >> block device >> --getsize get 32-bit sector count (deprecated, use >> --getsz) >> --getsize64 get size in bytes >> --setra <sectors> set readahead >> --getra get readahead >> --setfra <sectors> set filesystem readahead >> --getfra get filesystem readahead >> --flushbufs flush buffers >> --rereadpt reread partition table >> >> !==> We don't know how to reset the leds as we are not a BBB compatible >> device >> [ 9.441093] Kernel panic - not syncing: Attempted to kill init! >> exitcode=0x00000100 >> [ 9.441093] >> [ 9.450268] CPU: 1 PID: 1 Comm: init-eMMC-flash Not tainted >> 4.4.110-ti-r142 #10 >> [ 9.457603] Hardware name: Generic DRA74X (Flattened Device Tree) >> [ 9.463733] [<c001be78>] (unwind_backtrace) from [<c0015a90>] >> (show_stack+0x20/0x24) >> [ 9.471510] [<c0015a90>] (show_stack) from [<c05c58e0>] >> (dump_stack+0x8c/0xa0) >> [ 9.478765] [<c05c58e0>] (dump_stack) from [<c0162170>] >> (panic+0x100/0x288) >> [ 9.485758] [<c0162170>] (panic) from [<c0048774>] >> (complete_and_exit+0x0/0x2c) >> [ 9.493097] [<c0048774>] (complete_and_exit) from [<c0048810>] >> (do_group_exit+0x50/0xe0) >> [ 9.501221] [<c0048810>] (do_group_exit) from [<c00488c0>] >> (__wake_up_parent+0x0/0x30) >> [ 9.509171] [<c00488c0>] (__wake_up_parent) from [<c0010e20>] >> (ret_fast_syscall+0x0/0x50) >> [ 9.517381] CPU0: stopping >> [ 9.520099] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.110-ti-r142 >> #10 >> [ 9.526910] Hardware name: Generic DRA74X (Flattened Device Tree) >> [ 9.533032] [<c001be78>] (unwind_backtrace) from [<c0015a90>] >> (show_stack+0x20/0x24) >> [ 9.540808] [<c0015a90>] (show_stack) from [<c05c58e0>] >> (dump_stack+0x8c/0xa0) >> [ 9.548060] [<c05c58e0>] (dump_stack) from [<c001952c>] >> (handle_IPI+0x2ac/0x2cc) >> [ 9.555486] [<c001952c>] (handle_IPI) from [<c00095f4>] >> (gic_handle_irq+0x98/0x9c) >> [ 9.563090] [<c00095f4>] (gic_handle_irq) from [<c0ab2814>] >> (__irq_svc+0x54/0x70) >> [ 9.570598] Exception stack(0xc1013ef8 to 0xc1013f40) >> [ 9.575665] 3ee0: >> 00000001 00000000 >> [ 9.583875] 3f00: fe600000 00000000 c1012000 c1015b44 00000000 >> c10ea5a8 c0aba57c c0d4cb38 >> [ 9.592083] 3f20: 00000000 c1013f54 c1013f34 c1013f48 c0033280 >> c00119c0 600f0013 ffffffff >> [ 9.600296] [<c0ab2814>] (__irq_svc) from [<c00119c0>] >> (arch_cpu_idle+0x30/0x4c) >> [ 9.607724] [<c00119c0>] (arch_cpu_idle) from [<c008e0f8>] >> (default_idle_call+0x30/0x3c) >> [ 9.615847] [<c008e0f8>] (default_idle_call) from [<c008e460>] >> (cpu_startup_entry+0x300/0) >> [ 9.624493] [<c008e460>] (cpu_startup_entry) from [<c0aacc94>] >> (rest_init+0x88/0x8c) >> [ 9.632271] [<c0aacc94>] (rest_init) from [<c0f54df4>] >> (start_kernel+0x434/0x454) >> [ 9.639787] ---[ end Kernel panic - not syncing: Attempted to kill >> init! exitcode=0x000000 >> [ 9.639787] >> >> >> -- >> For more options, visit http://beagleboard.org/discuss >> --- >> You received this message because you are subscribed to the Google Groups >> "BeagleBoard" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to beagleboard...@googlegroups.com <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/beagleboard/5f47f4b8-3e74-4c70-9c9c-b044ab21c688%40googlegroups.com >> >> <https://groups.google.com/d/msgid/beagleboard/5f47f4b8-3e74-4c70-9c9c-b044ab21c688%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- For more options, visit http://beagleboard.org/discuss --- You received this message because you are subscribed to the Google Groups "BeagleBoard" group. To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/beagleboard/7a2d8012-b97a-40ff-8386-9ffe84610bc7%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.