Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

USBootPi

Featured Replies

I made a funny project for trying to use the ARM single board as the USB disk or cdrom. I did a lot of optimizations for the size and speed.

 

 

Releases: https://github.com/usboot/USBootPi/releases

 

 

USBootPi supports NanoPi M1. It also supports OrangePi One/PC but we need more USB cables(one for power, another one for OTG).

 

 

Sorry, there is no the English readme now.

  • Author

Wow, this is nice! Did you test performance? Using CrystalDiskInfo for example?

8G Class4

post-1176-0-91264600-1462364657_thumb.png

  • Author

v1.3 is released, RAID0 is supported.

 

I tested the maximum speeds of the OTG. The maximum speeds are the same as the above CrystalDiskMark's result.
I did some tries for improving the speeds but they did not work. I think the speeds should be improved because the CPU utilization is still low when the maximum speeds reach. Who can tell me the actual reason about it?

Thx for the feedback about performance. I also don't know but would be happy to investigate a bit.

 

Care to elaborate a bit how to set up things correctly with a normal Linux/Armbian build? Adding g_mass_storage to /etc/modules is the first step but how to proceed then?

 

I tried to use your small image but since I'm using OS X and no Windows I fail already at the first step since adding another exFAT partition isn't possible (or let's better say: OS X' disk utility then wipes out the complete SD card including boot loader so I would assume in your setup g_mass_storage is simply providing access to the 'raw' /dev/mmcblk0 device in installation stage?)

  • Author

Thx for the feedback about performance. I also don't know but would be happy to investigate a bit.

 

Care to elaborate a bit how to set up things correctly with a normal Linux/Armbian build? Adding g_mass_storage to /etc/modules is the first step but how to proceed then?

 

I tried to use your small image but since I'm using OS X and no Windows I fail already at the first step since adding another exFAT partition isn't possible (or let's better say: OS X' disk utility then wipes out the complete SD card including boot loader so I would assume in your setup g_mass_storage is simply providing access to the 'raw' /dev/mmcblk0 device in installation stage?)

 

I did not use g_mass_storage because I found that the kernel would crash when unloading this module. I used the Android gadget and I recommend this gadget because it can be used with one more gadgets at the same time.

You are right. I will upload the full sources during my spare time. The following are the core codes :

if [ -b "/dev/mmcblk0p2" ]; then
echo "$_disk" > /sys/class/android_usb/f_mass_storage/lun1/file
echo "$_disk2" > /sys/class/android_usb/f_mass_storage/lun2/file
else
echo "0" > /sys/class/android_usb/f_mass_storage/lun2/ro
echo "0" > /sys/class/android_usb/f_mass_storage/lun2/removable
echo "/dev/mmcblk0" > /sys/class/android_usb/f_mass_storage/lun2/file
fi


echo "USBoot" > /sys/class/android_usb/android0/iManufacturer
echo "USBootPi" > /sys/class/android_usb/android0/iProduct
echo "f833" > /sys/class/android_usb/android0/idVendor
echo "0001" > /sys/class/android_usb/android0/idProduct
echo "mass_storage" > /sys/class/android_usb/android0/functions
echo "2" > /sys/bus/platform/devices/sunxi_usb_udc/otg_role
echo "1" > /sys/class/android_usb/android0/enable

Looks good. I just tried to load the g_multi module which does not work and I'm not even sure whether that's the right one. So looking forward to more details provided by you :)

Very nice project. I am also working on something similar. Looking forward to seeing more of your sourcecode released.

 

Very impressed with how much you stripped the kernel down -- the device (orange pi pc) boots very fast.

@usboot

 

Nice project! As there isn't any sourcecode which I could look into, would you may explain to me, how to make g_multi and/or the android gadget drivers working on current nanopi m1 or orange pi zero builds? I would love to have proper cd/dvd emulation and hid passthrough working!

 

Here is my current thread, explaining my situation:

 

Thank you very much in advance!

 

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.