Hi Matt,
85xx option will only be available when you have ARMv5 support
enabled, and v5 cannot coexist in the same kernel image with v6/v7. So
please disable anything 88xx and 87xx first.
Sounds like you might have some ARMv6 or ARMv7 systems enabled, so
please try first deselecting everything under System Type, then
deselecting ARMv6 and ARMv7, then I believe ARMv5 option should appear
(and so you'll be able to select WM85xx support).
Best regards,
Alexey
This is a known issue: newer GCC versions cannot be used to compile
the old version of the kernel. You'll have to either find an older GCC
(4.x) or manually rebase relevant patches on top of a newer kernel,
unfortunately.
I've started doing the latter a couple of months ago, but ran into
incompatible internal API changes somewhere (serial flash I think)
which I didn't have enough time to resolve. It should be fairly
straightforward, but requires some time to concentrate and wrap the
brain around the changes :)
You may also want to try a pure mainline kernel. One thing that will
be missing for sure is internal keyboard/touchpad support, but you
should be able to boot off SD card with graphics output, network and
USB support. If that works ok, then internal keyboard will only be one
patch away:
https://github.com/linux-wmt/linux-vtwm/commit/3f9af107bfe79cb2b18c4046c01b498b9cba27ed
Best,
Alexey
No worries, everyone begins somewhere - happy to help :-)
The easiest would be to scout the Internet for a pre-compiled cross
toolchain (e.g. from some older Android SDK, or a CodeSourcery one, or
something similar). Those you can just unpack somewhere and run by
specifying full path to gcc in CROSS_COMPILE=... argument. No need to
remove your existing compiler that way.
mount /dev/${SDCARD}p1 $MOUNT
(
echo mmcinit 0
echo fatload mmc 0 0 FirmwareInstall/uzImage.bin
echo setenv wmt.gpo.wifi 6:1:6:d8110040:d8110080:d81100C0
echo setenv bootargs mem=448M root=/dev/mmcblk0p3 rootwait noinitrd rw init=/bin/bash
echo bootm 0
) > /root/wmt_scriptcmd.in
mkimage -A arm -O linux -T script -C none -a 1 -e 0 -n "Created by Win32" -d /root/wmt_scriptcmd.in $MOUNT/wmt_scriptcmd
cp $MOUNT/wmt_scriptcmd $MOUNT/scriptcmd
mkdir -p $MOUNT/FirmwareInstall
cp $MOUNT/wmt_scriptcmd $MOUNT/FirmwareInstall/autorun.1.wmt
cp uzImage.bin $MOUNT/FirmwareInstall
umount $MOUNT
The first thing that jumped out at me is the "mem" setting of 448M. My device only has 128M of memory, so I know that 448M is not correct for my device.
I also noticed that D. J.'s strategy does not create a "script" directory in the FAT32 partition, which I thought was a requirement. So far all of my attempts
have failed to produce a working SD card. Every time I boot up my Smartbook it simply ignores the SD card. Would you happen to know of any
documentation that can I reference for creating a proper u-boot setup for an 8505-based device? Once I finally have a properly booting SD card, I'll be glad
to document the entire process for other 8505 users to reference, just as D. J. did for 8850-based devices.
Thank you for all of your ongoing support Alexey; it is very appreciated!
--Matt
--
You received this message because you are subscribed to a topic in the Google Groups "VT8500/WM8505 Linux Kernel" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/vt8500-wm8505-linux-kernel/-5V20yDM4jQ/unsubscribe.
To unsubscribe from this group and all its topics, send an email to vt8500-wm8505-linux-kernel+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Matt, I've just checked some of the older sources - the filename
should be ./script/scriptcmd on WM8505. Just copy your wmt_scriptcmd
under that name/path.
Let us know if that works out.
Cheers,
Alexey
On Thursday, September 28, 2017 at 6:28:13 AM UTC-4, Alexey Charkov wrote:2017-09-27 13:29 GMT+03:00 Alexey Charkov <alc...@gmail.com>:
Matt, I've just checked some of the older sources - the filename
should be ./script/scriptcmd on WM8505. Just copy your wmt_scriptcmd
under that name/path.
Let us know if that works out.
Cheers,
AlexeyHi Alexey,I found an old SC card in a drawer with a working u-boot script and kernel that someone else had compiled several years ago along with a tarball for the root filesystem. The card does boot up into a login screen (I no longer remember the default username and password), but as I recall the built-in keyboard and wifi do not work, and it suffers from the screen brightness issue where the screen is almost pitch black. Anyway, I copied the u-boot script from this old setup over to my new SD card and used it in conjunction with the kernel that I compiled earlier this week. It has the same screen brightness problem, but when I moved it to a dim room in my house, I found that it did start to boot into Linux. Unfortunately it hung early in the boot-up process. I wasn't sure how else to capture the text on the screen so I took a picture of it with my phone (hopefully it appears below). Does this information give you any clue regarding my underlying issue?
fbi->contrast = 0x10;
Please try changing the sdon-inverted attribute in device tree. It detects your SD card, but for some reason can't read partitions on it.As for the screen brightness issue- it's in fact screen contrast that's 1/8 of what it should be. It's an old issue related to a change in default contrast value to fit wm8650+ (which does RGB565) vs. wm8505 (which only supported ARGB8888). You may work around it by editing the file drivers/video/fbdev/wm8505fb.c and change 0x10 to 0x80 in the line that says:fbi->contrast = 0x10;
Perfectly valid question... Go to the file
arch/arm/boot/dts/wm8505.dtsi, find the block titled "sdhc@d800a000",
and at the end within the curly braces add a new line that says
"sdon-inverted;" (without quotes). Save it, run make and you will get
a new wm8505-ref.dtb (device tree blob) that you will need to append
to your kernel.
By the way, was that the dtb file you are using? Just checking ;-)
Best,
Alexey
On Thursday, September 28, 2017 at 3:31:49 PM UTC-4, Alexey Charkov wrote:
Perfectly valid question... Go to the file
arch/arm/boot/dts/wm8505.dtsi, find the block titled "sdhc@d800a000",
and at the end within the curly braces add a new line that says
"sdon-inverted;" (without quotes). Save it, run make and you will get
a new wm8505-ref.dtb (device tree blob) that you will need to append
to your kernel.
By the way, was that the dtb file you are using? Just checking ;-)
Best,
AlexeyHi Alexey,Yes, wm8505-ref.dtb is the file that I have been using. Based on your instructions, it sounds like I should end up with the following block inside of arch/arm/boot/dts/wm8505.dtsi:sdhc@d800a000 {
compatible = "wm,wm8505-sdhc";
reg = <0xd800a000 0x1000>;
interrupts = <20 21>;
clocks = <&clksdhc>;
bus-width = <4>;sdon-inverted;};Does that look correct?
Also, once I make the code change to wm8505fb.c to address the screen brightness issue, do I need to recompile the kernel, or is that file included in the making of wm8505-ref.dtb? I really am making it clear how little I know aren't I? ;)
Just run make again. Your dtsi changes will then be reflected in the dtb file, and everything that's changed in .c files will be recompiled into a new zImage. Then you concatenate the two and wrap them with mkimage just as you've been doing before.Cheers,Alexey
Just run make again. Your dtsi changes will then be reflected in the dtb file, and everything that's changed in .c files will be recompiled into a new zImage. Then you concatenate the two and wrap them with mkimage just as you've been doing before.Cheers,Alexey
Well, it times out trying to do something to the SD card, so apparently you didn't need sdon-inverted in the first place. Maybe it was hanging somewhere else.I've noticed you're using the 3.13 branch - could you please try 'git checkout origin/testing-alchark' to get to a slightly fresher kernel version? You'll need to reapply the changes you've made though.I think people had random hangs with 3.13 that seemed to magically go away after updating.
Well, it times out trying to do something to the SD card, so apparently you didn't need sdon-inverted in the first place. Maybe it was hanging somewhere else.I've noticed you're using the 3.13 branch - could you please try 'git checkout origin/testing-alchark' to get to a slightly fresher kernel version? You'll need to reapply the changes you've made though.I think people had random hangs with 3.13 that seemed to magically go away after updating.
System V IPC (SYSVIPC) [Y/n/?] y
POSIX Message Queues (POSIX_MQUEUE) [Y/n/?] y
Enable process_vm_readv/writev syscalls (CROSS_MEMORY_ATTACH) [Y/n/?] y
open by fhandle syscalls (FHANDLE) [Y/n/?] y
uselib syscall (USELIB) [Y/n/?] (NEW)
Task_based RCU implementation using voluntary context switch (TASKS_RCU) [N/y/?] (NEW)
Include legacy /proc/<pid>/cpuset file (PROC_PID_CPUSET) [Y/n] y
Simple CPU accounting cgroup subsystem (CGROUP_CPUACCT) [Y/n/?] y
Memory Resource Controller for Control Groups (MEMCG) [N/y/?] (NEW)
Memory Resource Controller Swap Extension (MEMCG_SWAP) [N/y/?] (NEW)
Memory Resource Controller Swap Extension enabled by default (MEMCG_SWAP_ENABLED) [Y/n/?] (NEW)
Memory Resource Controller Kernel Memory accounting (MEMCG_KMEM) [N/y/?] (NEW)
For zImage file: time make -j2 ARCH=arm zImage modules CROSS_COMPILE=arm-linux-gnueabihf-
For dtb file: time make ARCH=arm dtbs CROSS_COMPILE=arm-linux-gnueabihf-
Could the way that I am using "make" be part of my problem?
By the way, here is the latter portion of my compiler output containing some error messages:
CC drivers/input/serio/i8042.o
drivers/input/serio/i8042.c: In function 'i8042_stop':
drivers/input/serio/i8042.c:417:18: error: 'I8042_AUX_IRQ' undeclared (first use in this function)
synchronize_irq(I8042_AUX_IRQ);
^
drivers/input/serio/i8042.c:417:18: note: each undeclared identifier is reported only once for each function it appears in
drivers/input/serio/i8042.c:418:18: error: ‘I8042_KBD_IRQ' undeclared (first use in this function)
synchronize_irq(I8042_KBD_IRQ);
^
drivers/input/serio/i8042.c: In function 'i8042_check_aux':
drivers/input/serio/i8042.c:806:18: error: 'I8042_AUX_IRQ' undeclared (first use in this function)
if (request_irq(I8042_AUX_IRQ, i8042_aux_test_irq, IRQF_SHARED,
^
drivers/input/serio/i8042.c: In function 'i8042_create_kbd_port':
drivers/input/serio/i8042.c:1227:14: error: 'I8042_KBD_IRQ' undeclared (first use in this function)
port->irq = I8042_KBD_IRQ;
^
drivers/input/serio/i8042.c: In function 'i8042_create_aux_port':
drivers/input/serio/i8042.c:1263:14: error: 'I8042_AUX_IRQ' undeclared (first use in this function)
port->irq = I8042_AUX_IRQ;
^
drivers/input/serio/i8042.c: In function 'i8042_free_irqs':
drivers/input/serio/i8042.c:1330:12: error: 'I8042_AUX_IRQ' undeclared (first use in this function)
free_irq(I8042_AUX_IRQ, i8042_platform_device);
^
drivers/input/serio/i8042.c:1332:12: error: 'I8042_KBD_IRQ' undeclared (first use in this function)
free_irq(I8042_KBD_IRQ, i8042_platform_device);
^
drivers/input/serio/i8042.c: In function 'i8042_setup_aux':
drivers/input/serio/i8042.c:1360:22: error: 'I8042_AUX_IRQ' undeclared (first use in this function)
error = request_irq(I8042_AUX_IRQ, i8042_interrupt, IRQF_SHARED,
^
drivers/input/serio/i8042.c: In function 'i8042_setup_kbd':
drivers/input/serio/i8042.c:1386:22: error: 'I8042_KBD_IRQ' undeclared (first use in this function)
error = request_irq(I8042_KBD_IRQ, i8042_interrupt, IRQF_SHARED,
^
scripts/Makefile.build:257: recipe for target 'drivers/input/serio/i8042.o' failed
make[2]: *** [drivers/input/serio/i8042.o] Error 1
scripts/Makefile.build:402: recipe for target 'drivers/input/serio' failed
make[1]: *** [drivers/input/serio] Error 2
Makefile:938: recipe for target 'drivers' failed
make: *** [drivers] Error 2
make: *** Waiting for unfinished jobs....
CC [M] fs/udf/balloc.o
CC [M] fs/udf/dir.o
CC [M] fs/udf/file.o
LD [M] fs/ubifs/ubifs.o
CC [M] fs/udf/ialloc.o
CC [M] fs/ufs/balloc.o
CC [M] fs/udf/inode.o
CC [M] fs/ufs/cylinder.o
CC [M] fs/udf/lowlevel.o
CC [M] fs/ufs/dir.o
CC [M] fs/udf/namei.o
CC [M] fs/ufs/file.o
CC [M] fs/ufs/ialloc.o
CC [M] fs/udf/partition.o
CC [M] fs/ufs/inode.o
CC [M] fs/udf/super.o
CC [M] fs/ufs/namei.o
CC [M] fs/ufs/super.o
CC [M] fs/udf/truncate.o
CC [M] fs/udf/symlink.o
CC [M] fs/udf/directory.o
CC [M] fs/ufs/symlink.o
CC [M] fs/ufs/truncate.o
CC [M] fs/udf/misc.o
CC [M] fs/udf/udftime.o
CC [M] fs/ufs/util.o
CC [M] fs/udf/unicode.o
LD [M] fs/ufs/ufs.o
LD [M] fs/udf/udf.o
CC fs/eventpoll.o
CC [M] fs/xfs/xfs_trace.o
CC [M] fs/xfs/libxfs/xfs_alloc.o
CC fs/anon_inodes.o
CC [M] fs/xfs/libxfs/xfs_alloc_btree.o
CC fs/signalfd.o
CC [M] fs/xfs/libxfs/xfs_attr.o
CC fs/timerfd.o
CC [M] fs/xfs/libxfs/xfs_attr_leaf.o
CC fs/eventfd.o
CC fs/aio.o
CC [M] fs/xfs/libxfs/xfs_attr_remote.o
CC fs/locks.o
CC [M] fs/xfs/libxfs/xfs_bmap.o
CC fs/binfmt_script.o
CC fs/binfmt_elf.o
CC fs/mbcache.o
CC fs/posix_acl.o
CC [M] fs/xfs/libxfs/xfs_bmap_btree.o
CC [M] fs/xfs/libxfs/xfs_btree.o
CC fs/coredump.o
CC fs/drop_caches.o
CC fs/fhandle.o
CC [M] fs/xfs/libxfs/xfs_da_btree.o
CC [M] fs/xfs/libxfs/xfs_da_format.o
CC fs/dcookies.o
CC [M] fs/binfmt_misc.o
CC [M] fs/xfs/libxfs/xfs_dir2.o
CC [M] fs/xfs/libxfs/xfs_dir2_block.o
CC [M] fs/xfs/libxfs/xfs_dir2_data.o
CC [M] fs/xfs/libxfs/xfs_dir2_leaf.o
CC [M] fs/xfs/libxfs/xfs_dir2_node.o
CC [M] fs/xfs/libxfs/xfs_dir2_sf.o
CC [M] fs/xfs/libxfs/xfs_dquot_buf.o
CC [M] fs/xfs/libxfs/xfs_ialloc.o
CC [M] fs/xfs/libxfs/xfs_ialloc_btree.o
CC [M] fs/xfs/libxfs/xfs_inode_fork.o
CC [M] fs/xfs/libxfs/xfs_inode_buf.o
CC [M] fs/xfs/libxfs/xfs_log_rlimit.o
CC [M] fs/xfs/libxfs/xfs_sb.o
CC [M] fs/xfs/libxfs/xfs_symlink_remote.o
CC [M] fs/xfs/libxfs/xfs_trans_resv.o
CC [M] fs/xfs/libxfs/xfs_rtbitmap.o
CC [M] fs/xfs/xfs_aops.o
CC [M] fs/xfs/xfs_attr_inactive.o
CC [M] fs/xfs/xfs_attr_list.o
CC [M] fs/xfs/xfs_bit.o
CC [M] fs/xfs/xfs_bmap_util.o
CC [M] fs/xfs/xfs_buf.o
CC [M] fs/xfs/xfs_dir2_readdir.o
CC [M] fs/xfs/xfs_discard.o
CC [M] fs/xfs/xfs_error.o
CC [M] fs/xfs/xfs_export.o
CC [M] fs/xfs/xfs_extent_busy.o
CC [M] fs/xfs/xfs_file.o
CC [M] fs/xfs/xfs_filestream.o
CC [M] fs/xfs/xfs_fsops.o
CC [M] fs/xfs/xfs_globals.o
CC [M] fs/xfs/xfs_icache.o
CC [M] fs/xfs/xfs_ioctl.o
CC [M] fs/xfs/xfs_iomap.o
CC [M] fs/xfs/xfs_iops.o
CC [M] fs/xfs/xfs_inode.o
CC [M] fs/xfs/xfs_itable.o
CC [M] fs/xfs/xfs_message.o
CC [M] fs/xfs/xfs_mount.o
CC [M] fs/xfs/xfs_mru_cache.o
CC [M] fs/xfs/xfs_super.o
CC [M] fs/xfs/xfs_symlink.o
CC [M] fs/xfs/xfs_sysfs.o
CC [M] fs/xfs/xfs_trans.o
CC [M] fs/xfs/xfs_xattr.o
CC [M] fs/xfs/kmem.o
CC [M] fs/xfs/uuid.o
CC [M] fs/xfs/xfs_log.o
CC [M] fs/xfs/xfs_log_cil.o
CC [M] fs/xfs/xfs_buf_item.o
CC [M] fs/xfs/xfs_extfree_item.o
CC [M] fs/xfs/xfs_icreate_item.o
CC [M] fs/xfs/xfs_inode_item.o
CC [M] fs/xfs/xfs_log_recover.o
CC [M] fs/xfs/xfs_trans_ail.o
CC [M] fs/xfs/xfs_trans_buf.o
CC [M] fs/xfs/xfs_trans_extfree.o
CC [M] fs/xfs/xfs_trans_inode.o
CC [M] fs/xfs/xfs_dquot.o
CC [M] fs/xfs/xfs_dquot_item.o
CC [M] fs/xfs/xfs_trans_dquot.o
CC [M] fs/xfs/xfs_qm_syscalls.o
CC [M] fs/xfs/xfs_qm_bhv.o
CC [M] fs/xfs/xfs_qm.o
CC [M] fs/xfs/xfs_quotaops.o
CC [M] fs/xfs/xfs_rtalloc.o
CC [M] fs/xfs/xfs_acl.o
CC [M] fs/xfs/xfs_stats.o
CC [M] fs/xfs/xfs_sysctl.o
LD [M] fs/xfs/xfs.o
LD fs/built-in.o
real 87m39.500s
user 141m52.280s
sys 8m26.612s
> CC drivers/input/serio/i8042.o
> drivers/input/serio/i8042.c: In function 'i8042_stop':
> drivers/input/serio/i8042.c:417:18: error: 'I8042_AUX_IRQ' undeclared (first
> use in this function)
> synchronize_irq(I8042_AUX_IRQ);
> ^
So here's your problem. The keyboard patch didn't apply cleanly,
leaving the i8042.c file in a broken state. For a starter, try simply
disabling i8042 in kernel configuration and building+booting the
resulting kernel. If that works out, I'll help you out with the patch
(or maybe I'll finally find some time to rebase the whole thing on top
of current master).
Best,
Alexey
Yes, that's one way to do it. I usually do "make ARCH=arm menuconfig"
though and browse through the menu (you'll need ncurses installed for
that)
Using method 1, when I started the compilation process, it uncommented the "# CONFIG_SERIO_I8042=y" line in .config and attempted to compile the i8042 code again (which of course failed). I did notice that the first few lines of output from the compiler are as follows:
scripts/kconfig/conf --silentoldconfig Kconfig
#
# configuration written to .config
#
which leads me to believe that some Kconfig process is overwriting the .config file and reinstating the "CONFIG_SERIO_I8042=y" directive. Is there possibly a i8042 file associated with this Kconfig process that I need to modify instead?
Using method 2, it still attempted to compile the i8042 code as a module, which also failed due to the i8042 patch problem.
So there is something in your configuration that depends on this.
Might be easier to just revert this whole part of the kernel tree to
pre-patched state.
Try doing "git checkout -- drivers/input/" from the top of the kernel tree.
Were there any errors during checkout? You may want to try "git
checkout -f -- drivers/input/" (with a force switch)
Right... There's also part of the patch that touches arch code. So
"git checkout -f -- arch/" too :-)
Interesting. It seems to see your SD card, but not the root filesystem on it. What's your partition layout on the SD card, and do you have support for your partitioning scheme enabled in kernel?The screen going black is just the backlight timing out.
You've got:
CONFIG_MMC_BLOCK=m
Try setting it to "y" instead.
On Saturday, September 30, 2017 at 4:17:16 PM UTC-4, Alexey Charkov wrote:
You've got:
CONFIG_MMC_BLOCK=m
Try setting it to "y" instead.Thanks Alexey. That seemed to get me a little further. I've included another screen shot. It looks like I'm still getting stuck at the "random: nonblocking pool is initialized" step though. I also noticed that the screen backlight doesn't seem to be timing out anymore. Its been stuck on the last step for a half hour or so and the screen still hasn't timed out.
Is the kernel panic section something to be concerned about? Also, I noticed some other SD card related options in my .config file. Since I'm using an SDHC card, do I need to set any of the CONFIG_MMC_SDHCI* options to something different? They are currently set as follows:CONFIG_MMC_SDHCI=m
CONFIG_MMC_SDHCI_PLTFM=m
# CONFIG_MMC_SDHCI_OF_ARASAN is not set
# CONFIG_MMC_SDHCI_PXAV3 is not set
# CONFIG_MMC_SDHCI_PXAV2 is not set
"Attempting to kill init" is the problem. It has mounted your root filesystem, but when it tried to execute init it didn't find it or it exited without starting the system userland.What distro/version did you use for the root filesystem? Also, did you include any override for init= in your kernel command line as part of your scriptcmd?Default if unspecified is /sbin/init, which is exactly what you need most of the time. To boot with systemd you may need to specify the full path to it. For debugging or emergencies it is sometimes helpful to boot with init=/bin/sh (gets you straight into shell without asking for passwords or starting any services or giving you job control - so no Ctrl+C functionality but helpful if you forgot to set user passwords or filesystem mountpoints).
aptitude install debootstrap debian-archive-keyring debian-ports-archive-keyring
MOUNT=/root/sdcard
mkdir -p $MOUNT
SDCARD=sdb
mount /dev/${SDCARD}p2 $MOUNT
packages=openssh-server
packages=strace,usbutils,$packages
packages=sudo,less,screen,locales,$packages
packages=vim,ntp,git,subversion,$packages
packages=build-essential,gdb,clang,m4,libssl-dev,$packages
time debootstrap --arch armhf --foreign --verbose --include $packages \
wheezy $MOUNT http://ftp.us.debian.org/debian
# 10 minutes on my laptop
time make ARCH=arm INSTALL_MOD_PATH=$MOUNT modules_install
# 2 minutes
time umount $MOUNT
# 8 minutes
Here's the culprit: --arch armhf will produce a system built for ARMv7
with hardware floating point support (VFPv3d16), while you are trying
to run it on ARMv5 with no floating point unit. Need to use --arch
armel on any WM8750 and older (WM8750 does include a floating point
unit, but it's ARMv6 and VFPv2 similar to first Raspberry Pi's, thus
still unable to run upstream armhf).
You may also want to replace "wheezy" with e.g. "stable", as wheezy is
two versions obsolete already.
Cheers,
Alexey
Here's the culprit: --arch armhf will produce a system built for ARMv7
with hardware floating point support (VFPv3d16), while you are trying
to run it on ARMv5 with no floating point unit. Need to use --arch
armel on any WM8750 and older (WM8750 does include a floating point
unit, but it's ARMv6 and VFPv2 similar to first Raspberry Pi's, thus
still unable to run upstream armhf).
You may also want to replace "wheezy" with e.g. "stable", as wheezy is
two versions obsolete already.
Cheers,
Alexey
time debootstrap --arch armhf --foreign --verbose --include $packages wheezy $MOUNT http://ftp.us.debian.org/debian
time debootstrap --arch armel --foreign --verbose --include $packages stable $MOUNT http://ftp.us.debian.org/debian
You'll need USB keyboard support to be compiled in for this to work. Adjust these in your .config (change "m" to "y"):## USB HID support#CONFIG_USB_HID=mCONFIG_HID_PID=yCONFIG_USB_HIDDEV=y## USB HID Boot Protocol drivers#CONFIG_USB_KBD=mCONFIG_USB_MOUSE=mFWIW, I've now rebased and updated testing-alchark branch on Github, and also included the i8042 patch this time. It now builds using recent GCC (tested yesterday on my APC Rock - seems to be ok).Cheers,Alexey
Makes me wonder if you actually have init=/bin/sh somewhere - are you
sure you are using the scriptcmd you've posted and there's no other
with different contents that could actually get used?
Another possibility is that you are booting into some emergency mode
(e.g. due to unfinished configuration of root fs). Hard to tell
without looking around - mind posting your now-current .config to give
an idea what might be wrong with your USB keyboard? Please also try
the fresh kernel version with i8042 added so that you could get the
internal keyboard to work.
Cheers,
Alexey
Those two options provide a limited mode 'boot protocol' support for
USB keyboards and mice. Once you've selected HID support, they must
have been removed altogether.
Sounds like you'll also need the following to be build-in (=y):
CONFIG_HID_GENERIC=m
By the way, it sounds like you're editing .config by hand - have you
tried 'make menuconfig'? It provides an interactive menu with helpful
descriptions for all options and is the usual way to configure the
kernel. The menu hierarchy is a bit daunting the first couple of
decades you use it, but it's still more convenient than hand-editing
;-)
> In order to compile against the fresh kernel version with i8042 support
> added, do I just perform a "git checkout origin/testing-alchark" again, or
> (since I already performed a checkout of that branch several days ago) is
> there a way to just update the branch on my end?
1. Make note of any local changes you've made to the tree (git diff is helpful)
2. Revert to a clean tree state with 'git checkout -f'
3. Update with 'git pull -f'
4. Check which of your local changes you still need to apply, if any
(probably just the display contrast value)
Looks like another 'git checkout testing-alchark' should help. You
somehow ended up in a detached HEAD state prior to pulling, so git
didn't update the tree (only pulled the objects from the repo).
If it keeps being stubborn, you can also do 'git branch -D
testing-alchark' to delete the local branch, then 'git checkout -t
origin/testing-alchark' to recreate it.
On Monday, October 2, 2017 at 12:46:24 PM UTC-4, Alexey Charkov wrote:
Looks like another 'git checkout testing-alchark' should help. You
somehow ended up in a detached HEAD state prior to pulling, so git
didn't update the tree (only pulled the objects from the repo).
If it keeps being stubborn, you can also do 'git branch -D
testing-alchark' to delete the local branch, then 'git checkout -t
origin/testing-alchark' to recreate it.Hi Alexey,It looks like running "git checkout testing-alchark" did the trick. I also took the opportunity to switch back to gcc-5.4 and gcc-5.4-arm-linux-gnueabihf. However, I am back to failing at compile time. Here is the problem area:HOSTCC scripts/recordmcount
CHK include/generated/timeconst.h
UPD include/generated/timeconst.h
CHK include/generated/bounds.h
UPD include/generated/bounds.h
CC arch/arm/kernel/asm-offsets.s
CHK include/generated/asm-offsets.h
UPD include/generated/asm-offsets.h
CALL scripts/checksyscalls.sh
HOSTCC scripts/sortextable
HOSTCC scripts/asn1_compiler
HOSTCC scripts/sign-file
scripts/sign-file.c:25:30: fatal error: openssl/opensslv.h: No such file or directory
compilation terminated.
Do you actually need cryptographic code signing for your kernel? Frankly, I don't think so :) Just disable all of that stuff and you should be all set.Alternatively, install openssl dev package, which should provide your missing header.Cheers,Alexey
On Monday, October 2, 2017 at 3:46:32 PM UTC-4, Alexey Charkov wrote:Do you actually need cryptographic code signing for your kernel? Frankly, I don't think so :) Just disable all of that stuff and you should be all set.Alternatively, install openssl dev package, which should provide your missing header.Cheers,AlexeyHi Alexey,Since I have no idea what cryptographic code signing actually is, I'll defer to your judgment and agree that I do not need it. :)
I used "make ARCH=arm menuconfig" and found a "Crypographic API" option on the main menu. Unfortunately it does not allow me to simply disable the option outright and when I select the "Cryptographic API" menu it provides me with 81 features and submenus that I can configure. Do you know if there is a way to just disable cryptographic support outright, or do I need to just go through and set as many options to "n" as I can? Some options, specifically the ones designated with a {M}, do not let me change them at all. :(
The config option that causes your trouble though isCONFIG_MODULE_SIG(support for cryptographically signed modules). Just comment it out.Best,Alexey
>Any idea which directive I need to comment out for this one?CONFIG_SYSTEM_TRUSTED_KEYRINGN.B. I looked these up in scripts/Makefile :)
Is CONFIG_SERIO_I8042_DT enabled in your config?
This whole thing is one of the reasons why our i8042 patch won't be
upstreamed in its current form and needs to be revised...
> No, I do not have CONFIG_SERIO_I8042_DT enabled in my configuration. Is
> this something that I need to set?
Yes, otherwise it falls back to i8042-io implementation and expects
IRQ numbers to be statically defined in architecture-specific
includes, which is not our case (and which won't work anyway). The
patch needs to be refactored to avoid that, but it's a somewhat
non-trivial task.
> Hi. My work image kernel 3.16.35 with working i8042 keyboard
Thanks a lot! Would be great to understand the differences vs. what is
now in testing-alchark, so that I could fix up any omissions. Did you
use Tony's 'testing' branch as the starting point?
I've just had a look at the device tree source in Tony's version.
Looks like there shouldn't be any "mux-ports = <2>;" which doesn't
seem to be used in the code anyway, but instead "init-reset;" which
might actually be relevant to the issue Matt is facing.
Matt, would you mind changing that line in wm8505.dtsi and letting us
know the result?
Cheers,
Alexey
Hey guys,I've been pretty quiet this afternoon because I've been making progress. Alexey, your previous suggestion in which I replaced "mux-ports = <2>;" with "init-reset;" in wm8505.dtsi totally fixed my keyboard issue. When I reached the "#" prompt at boot-up I was able to use the built-in keyboard and continue on with the steps from D. J. Bernstein's step-by-step instructions. I now have an SD card booting up to the linux login prompt and I am able to login with a user name and password that I configured. I cannot believe that it is finally working. :) I'm sure that it might seem like a trivial thing to others, but I have been trying to get to this point off-and-on for the past couple of years. I still have some smaller issues that I will probably ask you about (for instance I am getting an error message when I try to use the "sudo" command), but I'll save that for tomorrow. For now I am just ecstatic that it is working. Thank you so much Alexey for all of the time and effort that you invested in getting me to this point; I cannot thank you enough. And thank you to ExcellProj for providing his uImage file that led to your final suggestion.Have a great evening guys!Matt
deb http://http.debian.net/debian/ wheezy main contrib non-free deb-src http://http.debian.net/debian/ wheezy main contrib non-free deb http://security.debian.org/debian-security wheezy/updates main deb-src http://security.debian.org/debian-security wheezy/updates main deb http://http.debian.net/debian/ wheezy-backports main contrib non-free
deb http://http.debian.net/debian/ stable main contrib non-free deb-src http://http.debian.net/debian/ stable main contrib non-free deb http://security.debian.org/debian-security stable/updates main deb-src http://security.debian.org/debian-security stable/updates main deb http://http.debian.net/debian/ stable-backports main contrib non-free
Open /etc/resolv.conf and add string
nameserver 8.8.8.8
eth0@d8004000 {compatible = "via,velocity-vt6110";reg = <0xd8004000 0x400>;interrupts = <10>;no-eeprom;};
all of these should be debian.*org*, not debian.*net*.
> deb http://security.debian.org/debian-security stable/updates main
> deb-src http://security.debian.org/debian-security stable/updates main
It seems the naming for the repositories changed a little and there is
no "security" team anymore. I think the most similar thing would be the
"updates" repository.
Some documentation here:
https://wiki.debian.org/SourcesList
--
Adrien.
Open /etc/resolv.conf and add string
nameserver 8.8.8.8
P.S. On this device, I use Debian 8
On Thu, 5 Oct 2017 at 10:29, ExcellProj <excel...@gmail.com> wrote:Open /etc/resolv.conf and add string
nameserver 8.8.8.8You may also want to add the following block to wm8505.dtsi to enable wired Ethernet:eth0@d8004000 {compatible = "via,velocity-vt6110";reg = <0xd8004000 0x400>;interrupts = <10>;no-eeprom;};
(also thanks to ExcellProj for reminding me of this one in a private message!)Please also check that you have proper IP address and routes assigned for your network.
And congratulations on getting the machine up and running, great job! Would be nice if you could add a wiki entry on Github one your remaining issues are sorted out :)
Hi ExcellProj,I noticed where /etc/resolv.conf already contains the following nameserver entry:nameserver 127.0.1.1Do I just replace the 127.0.1.1 entry with the new 8.8.8.8 entry, or do I leave them both in the file? I'm guessing that may be a dumb question, but I just want to be sure. :PUnless you are running your own DNS server on that little machine, I’d guess you need to replace 127.0.0.1 with 8.8.8.8Do pings work? Like “ping 8.8.8.8”? I guess you might be missing network connectivity altogether.What does “ifconfig -a” show?
On Thursday, October 5, 2017 at 7:12:05 AM UTC-4, Alexey Charkov wrote:On Thu, 5 Oct 2017 at 10:29, ExcellProj <excel...@gmail.com> wrote:Open /etc/resolv.conf and add string
nameserver 8.8.8.8You may also want to add the following block to wm8505.dtsi to enable wired Ethernet:eth0@d8004000 {compatible = "via,velocity-vt6110";reg = <0xd8004000 0x400>;interrupts = <10>;no-eeprom;};Hi Alexey,I apologize for following-up yesterday, but I was traveling yesterday and was unable to spend any time working on the machine.I did follow you advice today and added the above code block to wm8505.dtsi, but it did not appear to enable my ethernet port (see below screen shot). I did boot up my device in Android and confirmed that the ethernet port is not broken (it worked in Android anyway). Shouldn't I be able use the built-in wifi on my machine? Are there any instructions here on the forum for setting up wifi?(also thanks to ExcellProj for reminding me of this one in a private message!)Please also check that you have proper IP address and routes assigned for your network.I tried to confirm that I had not been assigned a valid network address, but apparently "ifconfig" has net yet been loaded on my machine. :(
ip link show eth0
For using wifi you should have enabled /sys/gpio support during kernel configurationecho "2" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio2/direction
echo "1" > /sys/class/gpio/gpio2/value
ip link set wlan0 up
For connect to your wifi AP use wpa_supplicant (Download to USB flash drive and transfer to your device and install dpkg -i wpasupplicant*.deb)I think there must be some ifconfig equivalent- have you tried “ip” or “busybox ifconfig” or something of that sort?Any kernel messages about the Velocity driver? Did you have it enabled during kernel build?You can use internal wifi after toggling one of the GPIO pins to enable its power, but it would be of no use if you can’t assign an address to it.
Show pleaseip link show eth0
For using wifi you should have enabled /sys/gpio support during kernel configuration
If you did this, then to start wifi,
configure the wlan0 network interface in /etc/network/interfaces
allow-hotplug wlan0
iface wlan0 inet dhcp
use in comand line:echo "2" > /sys/class/gpio/export echo "out" > /sys/class/gpio/gpio2/direction echo "1" > /sys/class/gpio/gpio2/value
Nextip link set wlan0 up
Hi Matt,
You configure the configuration of network interfaces in /etc/network/interfaces or /etc/network/interfaces.d?
Please show: cat /etc/network/interfaces
I see that eth0 work. You need connect the Ethernet cable and configuration eth0:
nano /etc/network/interfaces and add line:
auto eth0
iface eth0 inet dhcp
Save and (you use debian 7?) /etc/init.d/networking restart
Show ip link show eth0 or ifconfig
ping google.com
I'm still not sure about my wifi though (I've attached another screen shot below). When I execute the GPIO commands from your instructions my wifi card is discovered (it appears to be a USB device?), but when I execute the "ip link set wlan0 up" command I still receive an error message of: Cannot find device "wlan0". When I execute "ip link show" I do see a new entry for "wlx002243108688", but for some reason it is not naming it "wlan0". I next tried executing "ip link set wlx002243108688 up" and received the output shown in the 3rd screen shot below. Based on the screen output I went back into the kernel configuration utility to check my Ralink driver support settings - they are shown in the 4th screen shot below. Does anything look incorrect with my Ralink settings?
Hi,
Need http://ftp.us.debian.org/debian/pool/non-free/f/firmware-nonfree/firmware-ralink_0.36+wheezy.1_all.deb thx Alexey.
Ethernet work?
> I may be pushing my luck a bit, but do you guys know of a window manager, such as XFCE, that may
> actually function on these low spec devices? I don't necessarily want the window manager to load on
> startup, but I would like the option to invoke it when needed. Have you guys had any success using
> a window manager with these devices?
I usually go with IceWM. It is reasonably easy to use (Windows-95 like interface with start menu) and light on memory/CPU.
The default themes are quite ugly, I got used to http://triq.net/theme/icewm-oktan-theme which behaves well even in 256-color displays (I used to run this on standalone X terminals when I was in school).
--
Adrien.
I usually go with IceWM. It is reasonably easy to use (Windows-95 like interface with start menu) and light on memory/CPU.
The default themes are quite ugly, I got used to http://triq.net/theme/icewm-oktan-theme which behaves well even in 256-color displays (I used to run this on standalone X terminals when I was in school).--
Adrien.
Hi Matt,
It's nice to hear that you have succeeded.
In theory, this is possible, provided that there is a SWAP. In the Internet there are successful settings of the window manager LXDE
Quote from the official site: "Although it could run on the computers with RAM as small as 256MiB, We recommend getting a computer with RAM of 1GiB or above for applications running on it, such as web browser, video player and office suite."
Installation
Let us know about your experiments =)
As far as a window manager is concerned, I did install the icewm package on my device, but then realized that it wouldn't work because I didn't have xorg installed. I then installed xorg but my machine froze towards the end of the installation and I had to perform a hard shutdown. Upon restarting my device it booted up to a login screen but froze again and I could not proceed any further. I'm going to play with it a bit to see if I can figure out why it is freezing. Would you guys happen to know why installing xorg would cause my machine to freeze?